diff --git a/src/atlasViewer/atlasViewer.component.ts b/src/atlasViewer/atlasViewer.component.ts
index 13a7758d75cfa34d755f4a4366f40291ca1828e2..eeeba6a9cbb9b7d07a5e5e89b8aa20524f0d0a38 100644
--- a/src/atlasViewer/atlasViewer.component.ts
+++ b/src/atlasViewer/atlasViewer.component.ts
@@ -401,7 +401,7 @@ export class AtlasViewer implements OnDestroy, OnInit, AfterViewInit {
   meetsRequirements() {
 
     const canvas = document.createElement('canvas')
-    const gl = canvas.getContext('webgl')
+    const gl = canvas.getContext('webgl2') as WebGLRenderingContext
     const message: any = {
       Error: 'Your browser does not meet the minimum requirements to run neuroglancer.'
     }
@@ -418,15 +418,12 @@ export class AtlasViewer implements OnDestroy, OnInit, AfterViewInit {
       return false
     }
 
-    const drawbuffer = gl.getExtension('WEBGL_draw_buffers')
-    const texturefloat = gl.getExtension('OES_texture_float')
-    const indexuint = gl.getExtension('OES_element_index_uint')
-    if (!(drawbuffer && texturefloat && indexuint)) {
+    const colorBufferFloat = gl.getExtension('EXT_color_buffer_float')
+
+    if (!colorBufferFloat) {
 
       const detail = `Your browser does not support 
-      ${ !drawbuffer ? 'WEBGL_draw_buffers' : ''} 
-      ${ !texturefloat ? 'OES_texture_float' : ''} 
-      ${ !indexuint ? 'OES_element_index_uint' : ''} `
+      ${ !colorBufferFloat ? 'EXT_color_buffer_float' : ''} `
       message['Detail'] = [detail]
 
       this.modalService.show(ModalUnit, {
diff --git a/src/atlasViewer/atlasViewer.constantService.service.ts b/src/atlasViewer/atlasViewer.constantService.service.ts
index 3911e5294d1a8c30c2f81d9581a894e543ff7a69..c623aee35027023e344f8327e37a0eee8da885fb 100644
--- a/src/atlasViewer/atlasViewer.constantService.service.ts
+++ b/src/atlasViewer/atlasViewer.constantService.service.ts
@@ -77,10 +77,7 @@ export class AtlasViewerConstantsServices{
 
   public doesNotMeetRequirementMD = `
 Unfortunately, your browser does not meet the minimum requirement to run the atlas viewer. 
-the atlas viewer requires **webgl1.0**, and the following extensions to be enabled in order to run: 
-- WEBGL_draw_buffers
-- OES_texture_float
-- OES_element_index_uint
+the atlas viewer requires **webgl2.0**, and the \`EXT_color_buffer_float\` extension enabled
 `
 
   get floatingWidgetStartingPos() : [number,number]{
diff --git a/src/res/css/extra_styles.css b/src/res/css/extra_styles.css
index ae82ca6de0b4b5270650f9f635e0128a6a92aa43..40591e08542d7c8db84ee29f35b8d4cb8e5d8690 100644
--- a/src/res/css/extra_styles.css
+++ b/src/res/css/extra_styles.css
@@ -38,6 +38,14 @@ div.neuroglancer-rendered-data-panel
   position:relative;
 }
 
+.neuroglancer-position-widget-input-container,
+.neuroglancer-viewer-top-row,
+.neuroglancer-layer-panel
+{
+  display:none;
+  visibility: hidden;
+}
+
 ul#statusContainer
 {
   display:none;
diff --git a/src/res/ext/MNI152NehubaConfig.json b/src/res/ext/MNI152NehubaConfig.json
index a8316977eb4aef61ee9ccbf66e0b0907a7e6142b..fddf871deafe10ed8e2f34751b20a7277692d321 100644
--- a/src/res/ext/MNI152NehubaConfig.json
+++ b/src/res/ext/MNI152NehubaConfig.json
@@ -1 +1 @@
-{"globals":{"hideNullImageValues":true,"useNehubaLayout":true,"useNehubaMeshLayer":true,"embedded":true,"useCustomSegmentColors":true},"zoomWithoutCtrl":true,"rightClickWithCtrl":true,"rotateAtViewCentre":true,"zoomAtViewCentre":true,"enableMeshLoadingControl":true,"layout":{"useNehubaPerspective":{"fixedZoomPerspectiveSlices":{"sliceViewportWidth":300,"sliceViewportHeight":300,"sliceZoom":724698.1843689409,"sliceViewportSizeMultiplier":2},"centerToOrigin":true,"mesh":{"removeBasedOnNavigation":true,"flipRemovedOctant":true,"surfaceParcellation":false},"removePerspectiveSlicesBackground":{"mode":"<","color":[0.1,0.1,0.1,1.0]},"waitForMesh":false,"drawSubstrates":{"color":[0.5,0.5,1.0,0.2]},"drawZoomLevels":{"cutOff":150000},"restrictZoomLevel":{"minZoom":2500000,"maxZoom":3500000}}},"dataset":{"imageBackground":[0.0,0.0,0.0,1.0],"initialNgState":{"layers":{"mni152":{"type":"image","visible":true,"source":"precomputed://https://neuroglancer-dev.humanbrainproject.org/precomputed/Fiber_Bundle/mni_icbm152_t1_tal_nlin_asym_09c_masked","transform":[[1,0,0,-96500000],[0,1,0,-132500000],[0,0,1,-78500000],[0,0,0,1]]},"fibre bundle long":{"type":"segmentation","source":"precomputed://https://neuroglancer-dev.humanbrainproject.org/precomputed/Fiber_Bundle/long-bundles_maxprob","transform":[[1,0,0,-96500000],[0,1,0,-132500000],[0,0,1,-78500000],[0,0,0,1]]},"fibre bundle short":{"visible":false,"type":"segmentation","source":"precomputed://https://neuroglancer-dev.humanbrainproject.org/precomputed/Fiber_Bundle/short-bundles_maxprob","transform":[[1,0,0,-96500000],[0,1,0,-132500000],[0,0,1,-78500000],[0,0,0,1]]}},"navigation":{"pose":{"position":{"voxelSize":[1000000,1000000,1000000],"voxelCoordinates":[0,-32,0]}},"zoomFactor":450000},"perspectiveOrientation":[-0.2753947079181671,0.6631333827972412,-0.6360703706741333,0.2825356423854828],"perspectiveZoom":3000000}}}
\ No newline at end of file
+{"globals":{"hideNullImageValues":true,"useNehubaLayout":true,"useNehubaMeshLayer":true,"useCustomSegmentColors":true},"zoomWithoutCtrl":true,"hideNeuroglancerUI":true,"rightClickWithCtrl":true,"rotateAtViewCentre":true,"zoomAtViewCentre":true,"enableMeshLoadingControl":true,"layout":{"useNehubaPerspective":{"fixedZoomPerspectiveSlices":{"sliceViewportWidth":300,"sliceViewportHeight":300,"sliceZoom":724698.1843689409,"sliceViewportSizeMultiplier":2},"centerToOrigin":true,"mesh":{"removeBasedOnNavigation":true,"flipRemovedOctant":true,"surfaceParcellation":false},"removePerspectiveSlicesBackground":{"mode":"<","color":[0.1,0.1,0.1,1.0]},"waitForMesh":false,"drawSubstrates":{"color":[0.5,0.5,1.0,0.2]},"drawZoomLevels":{"cutOff":150000},"restrictZoomLevel":{"minZoom":2500000,"maxZoom":3500000}}},"dataset":{"imageBackground":[0.0,0.0,0.0,1.0],"initialNgState":{"layers":{"mni152":{"type":"image","visible":true,"source":"precomputed://https://neuroglancer-dev.humanbrainproject.org/precomputed/Fiber_Bundle/mni_icbm152_t1_tal_nlin_asym_09c_masked","transform":[[1,0,0,-96500000],[0,1,0,-132500000],[0,0,1,-78500000],[0,0,0,1]]},"fibre bundle long":{"type":"segmentation","source":"precomputed://https://neuroglancer-dev.humanbrainproject.org/precomputed/Fiber_Bundle/long-bundles_maxprob","transform":[[1,0,0,-96500000],[0,1,0,-132500000],[0,0,1,-78500000],[0,0,0,1]]},"fibre bundle short":{"visible":false,"type":"segmentation","source":"precomputed://https://neuroglancer-dev.humanbrainproject.org/precomputed/Fiber_Bundle/short-bundles_maxprob","transform":[[1,0,0,-96500000],[0,1,0,-132500000],[0,0,1,-78500000],[0,0,0,1]]}},"navigation":{"pose":{"position":{"voxelSize":[1000000,1000000,1000000],"voxelCoordinates":[0,-32,0]}},"zoomFactor":450000},"perspectiveOrientation":[-0.2753947079181671,0.6631333827972412,-0.6360703706741333,0.2825356423854828],"perspectiveZoom":3000000}}}
\ No newline at end of file
diff --git a/src/res/ext/allenMouseNehubaConfig.json b/src/res/ext/allenMouseNehubaConfig.json
index 00fd53d57dbd191a61b8a7eb5839b84eae5db1a4..e390740a997d5d06c3254104fbffa7950031a315 100644
--- a/src/res/ext/allenMouseNehubaConfig.json
+++ b/src/res/ext/allenMouseNehubaConfig.json
@@ -1 +1 @@
-{"globals":{"hideNullImageValues":true,"useNehubaLayout":true,"useNehubaMeshLayer":true,"embedded":true,"useCustomSegmentColors":true},"zoomWithoutCtrl":true,"rightClickWithCtrl":true,"rotateAtViewCentre":true,"enableMeshLoadingControl":true,"zoomAtViewCentre":true,"restrictUserNavigation":true,"dataset":{"imageBackground":[0.0,0.0,0.0,0.0],"initialNgState":{"layers":{"stpt":{"type":"image","source":"precomputed://https://neuroglancer.humanbrainproject.org/precomputed/AMBA/templates/v3/stpt","transform":[[1,0,0,-5737500],[0,1,0,-6637500],[0,0,1,-4037500],[0,0,0,1]]},"nissl":{"type":"image","source":"precomputed://https://neuroglancer.humanbrainproject.org/precomputed/AMBA/templates/v3/nissl","transform":[[1,0,0,-5737500],[0,1,0,-6637500],[0,0,1,-4037500],[0,0,0,1]],"visible":false},"atlas":{"type":"segmentation","source":"precomputed://https://neuroglancer.humanbrainproject.org/precomputed/AMBA/parcellations/v3_reduced","transform":[[1,0,0,-5737500],[0,1,0,-6637500],[0,0,1,-4037500],[0,0,0,1]]}},"navigation":{"pose":{"position":{"voxelSize":[25000,25000,25000],"voxelCoordinates":[5.0738067626953,-3.9425048828125,-2.8185577392578]}},"zoomFactor":38990.5839902911},"perspectiveOrientation":[0.2650355100631714,0.7529539465904236,-0.5376962423324585,-0.27147674560546875],"perspectiveZoom":159399.12281678425}},"layout":{"useNehubaPerspective":{"fixedZoomPerspectiveSlices":{"sliceViewportWidth":400,"sliceViewportHeight":400,"sliceZoom":41075.159536383755,"sliceViewportSizeMultiplier":2},"removePerspectiveSlicesBackground":{"color":[0.01,0.01,0.01,0.01],"mode":"<="},"centerToOrigin":true,"mesh":{"removeBasedOnNavigation":true,"flipRemovedOctant":true},"drawSubstrates":{"color":[0.0,0.0,0.5,0.2]},"restrictZoomLevel":{"maxZoom":364235.1741652613,"minZoom":89881.68746896513}}}}
\ No newline at end of file
+{"globals":{"hideNullImageValues":true,"useNehubaLayout":true,"useNehubaMeshLayer":true,"useCustomSegmentColors":true},"zoomWithoutCtrl":true,"hideNeuroglancerUI":true,"rightClickWithCtrl":true,"rotateAtViewCentre":true,"enableMeshLoadingControl":true,"zoomAtViewCentre":true,"restrictUserNavigation":true,"dataset":{"imageBackground":[0.0,0.0,0.0,0.0],"initialNgState":{"layers":{"stpt":{"type":"image","source":"precomputed://https://neuroglancer.humanbrainproject.org/precomputed/AMBA/templates/v3/stpt","transform":[[1,0,0,-5737500],[0,1,0,-6637500],[0,0,1,-4037500],[0,0,0,1]]},"nissl":{"type":"image","source":"precomputed://https://neuroglancer.humanbrainproject.org/precomputed/AMBA/templates/v3/nissl","transform":[[1,0,0,-5737500],[0,1,0,-6637500],[0,0,1,-4037500],[0,0,0,1]],"visible":false},"atlas":{"type":"segmentation","source":"precomputed://https://neuroglancer.humanbrainproject.org/precomputed/AMBA/parcellations/v3_reduced","transform":[[1,0,0,-5737500],[0,1,0,-6637500],[0,0,1,-4037500],[0,0,0,1]]}},"navigation":{"pose":{"position":{"voxelSize":[25000,25000,25000],"voxelCoordinates":[5.0738067626953,-3.9425048828125,-2.8185577392578]}},"zoomFactor":38990.5839902911},"perspectiveOrientation":[0.2650355100631714,0.7529539465904236,-0.5376962423324585,-0.27147674560546875],"perspectiveZoom":159399.12281678425}},"layout":{"useNehubaPerspective":{"fixedZoomPerspectiveSlices":{"sliceViewportWidth":400,"sliceViewportHeight":400,"sliceZoom":41075.159536383755,"sliceViewportSizeMultiplier":2},"removePerspectiveSlicesBackground":{"color":[0.01,0.01,0.01,0.01],"mode":"<="},"centerToOrigin":true,"mesh":{"removeBasedOnNavigation":true,"flipRemovedOctant":true},"drawSubstrates":{"color":[0.0,0.0,0.5,0.2]},"restrictZoomLevel":{"maxZoom":364235.1741652613,"minZoom":89881.68746896513}}}}
\ No newline at end of file
diff --git a/src/res/ext/bigbrainNehubaConfig.json b/src/res/ext/bigbrainNehubaConfig.json
index 6918b23657a58ce5134ea6d56fda8bb4b72856a5..787843261c255ed7af1a34dde3f00409850f22d4 100644
--- a/src/res/ext/bigbrainNehubaConfig.json
+++ b/src/res/ext/bigbrainNehubaConfig.json
@@ -1 +1 @@
-{"configName":"BigBrain","globals":{"hideNullImageValues":true,"useNehubaLayout":{"keepDefaultLayouts":false},"useNehubaMeshLayer":true,"embedded":true,"rightClickWithCtrlGlobal":false,"zoomWithoutCtrlGlobal":false,"useCustomSegmentColors":true},"zoomWithoutCtrl":true,"rightClickWithCtrl":true,"rotateAtViewCentre":true,"enableMeshLoadingControl":true,"zoomAtViewCentre":true,"restrictUserNavigation":true,"disableSegmentSelection":true,"dataset":{"imageBackground":[1,1,1,1],"initialNgState":{"layers":{" grey value: ":{"type":"image","source":"precomputed://https://neuroglancer.humanbrainproject.org/precomputed/BigBrainRelease.2015/8bit","transform":[[1,0,0,-70677184],[0,1,0,-70010000],[0,0,1,-58788284],[0,0,0,1]]}," tissue type: ":{"type":"segmentation","source":"precomputed://https://neuroglancer.humanbrainproject.org/precomputed/BigBrainRelease.2015/classif","segments":["0"],"selectedAlpha":0,"notSelectedAlpha":0,"transform":[[1,0,0,-70666600],[0,1,0,-72910000],[0,0,1,-58777700],[0,0,0,1]]}},"navigation":{"pose":{"position":{"voxelSize":[21166.666015625,20000,21166.666015625],"voxelCoordinates":[-21.8844051361084,16.288618087768555,28.418994903564453]}},"zoomFactor":350000},"perspectiveOrientation":[0.3140767216682434,-0.7418519854545593,0.4988985061645508,-0.3195493221282959],"perspectiveZoom":1922235.5293810747}},"layout":{"views":"hbp-neuro","planarSlicesBackground":[1,1,1,1],"useNehubaPerspective":{"enableShiftDrag":false,"doNotRestrictUserNavigation":false,"perspectiveSlicesBackground":[1,1,1,1],"removePerspectiveSlicesBackground":{"color":[1,1,1,1],"mode":"=="},"perspectiveBackground":[1,1,1,1],"fixedZoomPerspectiveSlices":{"sliceViewportWidth":300,"sliceViewportHeight":300,"sliceZoom":563818.3562426177,"sliceViewportSizeMultiplier":2},"mesh":{"backFaceColor":[1,1,1,1],"removeBasedOnNavigation":true,"flipRemovedOctant":true},"centerToOrigin":true,"drawSubstrates":{"color":[0,0,0.5,0.15]},"drawZoomLevels":{"cutOff":200000,"color":[0.5,0,0,0.15]},"hideImages":false,"waitForMesh":true,"restrictZoomLevel":{"minZoom":1200000,"maxZoom":3500000}}}}
\ No newline at end of file
+{"configName":"BigBrain","globals":{"hideNullImageValues":true,"useNehubaLayout":{"keepDefaultLayouts":false},"useNehubaMeshLayer":true,"rightClickWithCtrlGlobal":false,"zoomWithoutCtrlGlobal":false,"useCustomSegmentColors":true},"zoomWithoutCtrl":true,"hideNeuroglancerUI":true,"rightClickWithCtrl":true,"rotateAtViewCentre":true,"enableMeshLoadingControl":true,"zoomAtViewCentre":true,"restrictUserNavigation":true,"disableSegmentSelection":true,"dataset":{"imageBackground":[1,1,1,1],"initialNgState":{"layers":{" grey value: ":{"type":"image","source":"precomputed://https://neuroglancer.humanbrainproject.org/precomputed/BigBrainRelease.2015/8bit","transform":[[1,0,0,-70677184],[0,1,0,-70010000],[0,0,1,-58788284],[0,0,0,1]]}," tissue type: ":{"type":"segmentation","source":"precomputed://https://neuroglancer.humanbrainproject.org/precomputed/BigBrainRelease.2015/classif","segments":["0"],"selectedAlpha":0,"notSelectedAlpha":0,"transform":[[1,0,0,-70666600],[0,1,0,-72910000],[0,0,1,-58777700],[0,0,0,1]]}},"navigation":{"pose":{"position":{"voxelSize":[21166.666015625,20000,21166.666015625],"voxelCoordinates":[-21.8844051361084,16.288618087768555,28.418994903564453]}},"zoomFactor":350000},"perspectiveOrientation":[0.3140767216682434,-0.7418519854545593,0.4988985061645508,-0.3195493221282959],"perspectiveZoom":1922235.5293810747}},"layout":{"views":"hbp-neuro","planarSlicesBackground":[1,1,1,1],"useNehubaPerspective":{"enableShiftDrag":false,"doNotRestrictUserNavigation":false,"perspectiveSlicesBackground":[1,1,1,1],"removePerspectiveSlicesBackground":{"color":[1,1,1,1],"mode":"=="},"perspectiveBackground":[1,1,1,1],"fixedZoomPerspectiveSlices":{"sliceViewportWidth":300,"sliceViewportHeight":300,"sliceZoom":563818.3562426177,"sliceViewportSizeMultiplier":2},"mesh":{"backFaceColor":[1,1,1,1],"removeBasedOnNavigation":true,"flipRemovedOctant":true},"centerToOrigin":true,"drawSubstrates":{"color":[0,0,0.5,0.15]},"drawZoomLevels":{"cutOff":200000,"color":[0.5,0,0,0.15]},"hideImages":false,"waitForMesh":true,"restrictZoomLevel":{"minZoom":1200000,"maxZoom":3500000}}}}
\ No newline at end of file
diff --git a/src/res/ext/colinNehubaConfig.json b/src/res/ext/colinNehubaConfig.json
index e10d09deefa2e0d5755946ad30105fa1c214121f..dc548e4d0a7b2ac44f96327ea80360f26c789922 100644
--- a/src/res/ext/colinNehubaConfig.json
+++ b/src/res/ext/colinNehubaConfig.json
@@ -1 +1 @@
-{"globals":{"hideNullImageValues":true,"useNehubaLayout":true,"useNehubaMeshLayer":true,"embedded":true,"useCustomSegmentColors":true},"zoomWithoutCtrl":true,"rightClickWithCtrl":true,"rotateAtViewCentre":true,"zoomAtViewCentre":true,"enableMeshLoadingControl":true,"layout":{"useNehubaPerspective":{"fixedZoomPerspectiveSlices":{"sliceViewportWidth":300,"sliceViewportHeight":300,"sliceZoom":724698.1843689409,"sliceViewportSizeMultiplier":2},"centerToOrigin":true,"mesh":{"removeBasedOnNavigation":true,"flipRemovedOctant":true,"surfaceParcellation":true},"removePerspectiveSlicesBackground":{"mode":"=="},"waitForMesh":true,"drawSubstrates":{"color":[0.5,0.5,1,0.2]},"drawZoomLevels":{"cutOff":150000},"restrictZoomLevel":{"minZoom":2500000,"maxZoom":3500000}}},"dataset":{"imageBackground":[0,0,0,1],"initialNgState":{"layers":{"colin":{"type":"image","visible":true,"source":"precomputed://https://neuroglancer.humanbrainproject.org/precomputed/JuBrain/v2.2c/colin27_seg","transform":[[1,0,0,-75500000],[0,1,0,-111500000],[0,0,1,-67500000],[0,0,0,1]]},"atlas":{"type":"segmentation","source":"precomputed://https://neuroglancer.humanbrainproject.org/precomputed/JuBrain/v2.2c/MPM","transform":[[1,0,0,-75500000],[0,1,0,-111500000],[0,0,1,-67500000],[0,0,0,1]]}},"navigation":{"pose":{"position":{"voxelSize":[1000000,1000000,1000000],"voxelCoordinates":[0,-32,0]}},"zoomFactor":1000000},"perspectiveOrientation":[-0.2753947079181671,0.6631333827972412,-0.6360703706741333,0.2825356423854828],"perspectiveZoom":3000000}}}
\ No newline at end of file
+{"globals":{"hideNullImageValues":true,"useNehubaLayout":true,"useNehubaMeshLayer":true,"useCustomSegmentColors":true},"zoomWithoutCtrl":true,"hideNeuroglancerUI":true,"rightClickWithCtrl":true,"rotateAtViewCentre":true,"zoomAtViewCentre":true,"enableMeshLoadingControl":true,"layout":{"useNehubaPerspective":{"fixedZoomPerspectiveSlices":{"sliceViewportWidth":300,"sliceViewportHeight":300,"sliceZoom":724698.1843689409,"sliceViewportSizeMultiplier":2},"centerToOrigin":true,"mesh":{"removeBasedOnNavigation":true,"flipRemovedOctant":true,"surfaceParcellation":true},"removePerspectiveSlicesBackground":{"mode":"=="},"waitForMesh":true,"drawSubstrates":{"color":[0.5,0.5,1,0.2]},"drawZoomLevels":{"cutOff":150000},"restrictZoomLevel":{"minZoom":2500000,"maxZoom":3500000}}},"dataset":{"imageBackground":[0,0,0,1],"initialNgState":{"layers":{"colin":{"type":"image","visible":true,"source":"precomputed://https://neuroglancer.humanbrainproject.org/precomputed/JuBrain/v2.2c/colin27_seg","transform":[[1,0,0,-75500000],[0,1,0,-111500000],[0,0,1,-67500000],[0,0,0,1]]},"atlas":{"type":"segmentation","source":"precomputed://https://neuroglancer.humanbrainproject.org/precomputed/JuBrain/v2.2c/MPM","transform":[[1,0,0,-75500000],[0,1,0,-111500000],[0,0,1,-67500000],[0,0,0,1]]}},"navigation":{"pose":{"position":{"voxelSize":[1000000,1000000,1000000],"voxelCoordinates":[0,-32,0]}},"zoomFactor":1000000},"perspectiveOrientation":[-0.2753947079181671,0.6631333827972412,-0.6360703706741333,0.2825356423854828],"perspectiveZoom":3000000}}}
\ No newline at end of file
diff --git a/src/res/ext/infantNehubaConfig.json b/src/res/ext/infantNehubaConfig.json
index 1fe211a70b53ed0df65c11263b88a3186af28c98..74539f0b3c9733feadfecbda065cf75c520ff7a1 100644
--- a/src/res/ext/infantNehubaConfig.json
+++ b/src/res/ext/infantNehubaConfig.json
@@ -1 +1 @@
-{"globals":{"hideNullImageValues":true,"useNehubaLayout":true,"useCustomSegmentColors":true,"embedded":true,"useNehubaMeshLayer":true},"zoomWithoutCtrl":true,"rightClickWithCtrl":true,"rotateAtViewCentre":true,"zoomAtViewCentre":true,"restrictUserNavigation":true,"enableMeshLoadingControl":true,"dataset":{"imageBackground":[0,0,0,1],"initialNgState":{"layers":{"infant template":{"type":"image","source":"precomputed://https://neuroglancer-dev.humanbrainproject.org/precomputed/Infant/t2_masked_uint8","transform":[[1.0,0.0,0.0,-62091243.743896484],[0.0,1.0,0.0,-75278762.81738281],[0.0,0.0,1.0,-63800006.86645508],[0.0,0.0,0.0,1.0]]},"infant atlas":{"type":"segmentation","source":"precomputed://https://www.jubrain.fz-juelich.de/apps/hbp/preview/infant2/data/dummyseg","transform":[[-1,0,0,62699913.0249023],[0,-1,0,75827774.0478516],[0,0,-1,64288764.9536133],[0,0,0,1]]}},"navigation":{"pose":{"position":{"voxelSize":[1098960.875,1098953.25,1099998.5],"voxelCoordinates":[-0.5184690952301025,3.893488645553589,1.6981953382492065]}},"zoomFactor":450227.18138248235},"perspectiveOrientation":[0.5,0.5,-0.5,-0.5],"perspectiveZoom":1895248.9337559766}},"layout":{"useNehubaPerspective":{"removePerspectiveSlicesBackground":{"mode":"=="},"fixedZoomPerspectiveSlices":{"sliceViewportWidth":400,"sliceViewportHeight":400,"sliceZoom":450227.18138248235,"sliceViewportSizeMultiplier":2},"centerToOrigin":true,"mesh":{"surfaceParcellation":true}}}}
\ No newline at end of file
+{"globals":{"hideNullImageValues":true,"useNehubaLayout":true,"useCustomSegmentColors":true,"useNehubaMeshLayer":true},"zoomWithoutCtrl":true,"hideNeuroglancerUI":true,"rightClickWithCtrl":true,"rotateAtViewCentre":true,"zoomAtViewCentre":true,"restrictUserNavigation":true,"enableMeshLoadingControl":true,"dataset":{"imageBackground":[0,0,0,1],"initialNgState":{"layers":{"infant template":{"type":"image","source":"precomputed://https://neuroglancer-dev.humanbrainproject.org/precomputed/Infant/t2_masked_uint8","transform":[[1.0,0.0,0.0,-62091243.743896484],[0.0,1.0,0.0,-75278762.81738281],[0.0,0.0,1.0,-63800006.86645508],[0.0,0.0,0.0,1.0]]},"infant atlas":{"type":"segmentation","source":"precomputed://https://www.jubrain.fz-juelich.de/apps/hbp/preview/infant2/data/dummyseg","transform":[[-1,0,0,62699913.0249023],[0,-1,0,75827774.0478516],[0,0,-1,64288764.9536133],[0,0,0,1]]}},"navigation":{"pose":{"position":{"voxelSize":[1098960.875,1098953.25,1099998.5],"voxelCoordinates":[-0.5184690952301025,3.893488645553589,1.6981953382492065]}},"zoomFactor":450227.18138248235},"perspectiveOrientation":[0.5,0.5,-0.5,-0.5],"perspectiveZoom":1895248.9337559766}},"layout":{"useNehubaPerspective":{"removePerspectiveSlicesBackground":{"mode":"=="},"fixedZoomPerspectiveSlices":{"sliceViewportWidth":400,"sliceViewportHeight":400,"sliceZoom":450227.18138248235,"sliceViewportSizeMultiplier":2},"centerToOrigin":true,"mesh":{"surfaceParcellation":true}}}}
\ No newline at end of file
diff --git a/src/res/ext/waxholmRatV2_0NehubaConfig.json b/src/res/ext/waxholmRatV2_0NehubaConfig.json
index 5bad311e9aa15f79edc7ed817bc274d8b1db8ec1..5e528f08b9a362f331c39d3891ac59a0a9bc8936 100644
--- a/src/res/ext/waxholmRatV2_0NehubaConfig.json
+++ b/src/res/ext/waxholmRatV2_0NehubaConfig.json
@@ -1 +1 @@
-{"globals":{"hideNullImageValues":true,"useNehubaLayout":true,"useNehubaMeshLayer":true,"embedded":true,"useCustomSegmentColors":true},"rotateAtViewCentre":true,"zoomAtViewCentre":true,"zoomWithoutCtrl":true,"rightClickWithCtrl":true,"enableMeshLoadingControl":true,"disableFixedPointObliqueRotation":true,"layout":{"useNehubaPerspective":{"fixedZoomPerspectiveSlices":{"sliceViewportWidth":1000,"sliceViewportHeight":1000,"sliceZoom":51263,"sliceViewportSizeMultiplier":2},"centerToOrigin":true,"mesh":{"removeBasedOnNavigation":true,"flipRemovedOctant":true},"removePerspectiveSlicesBackground":{"mode":"=="},"drawSubstrates":{"color":[0.5,0.5,1.0,0.2]},"drawZoomLevels":{"cutOff":15000}}},"dataset":{"imageBackground":[0.0,0.0,0.0,1.0],"initialNgState":{"layers":{"template":{"type":"image","source":"precomputed://https://neuroglancer.humanbrainproject.org/precomputed/WHS_SD_rat/templates/v1.01/t2star_masked","transform":[[1,0,0,-9550781],[0,1,0,-24355468],[0,0,1,-9707031],[0,0,0,1]]},"templateUnMasked":{"type":"image","visible":false,"source":"precomputed://https://neuroglancer.humanbrainproject.org/precomputed/WHS_SD_rat/templates/v1.01/t2star","transform":[[1,0,0,-9550781],[0,1,0,-24355468],[0,0,1,-9707031],[0,0,0,1]]},"whole":{"type":"segmentation","source":"precomputed://https://neuroglancer.humanbrainproject.org/precomputed/WHS_SD_rat/parcellations/v2","selectedAlpha":0.35,"transform":[[1,0,0,-9550781],[0,1,0,-24355468],[0,0,1,-9707031],[0,0,0,1]]}},"navigation":{"pose":{"position":{"voxelSize":[39062.5,39062.5,39062.5],"voxelCoordinates":[-1.5317133665084839,-146.45941162109375,20.52083969116211]}},"zoomFactor":59702.66654390316},"perspectiveOrientation":[-0.6278747916221619,-0.43671634793281555,0.4761661887168884,0.4339560568332672],"perspectiveZoom":379767.21993194974}}}
\ No newline at end of file
+{"globals":{"hideNullImageValues":true,"useNehubaLayout":true,"useNehubaMeshLayer":true,"useCustomSegmentColors":true},"rotateAtViewCentre":true,"zoomAtViewCentre":true,"zoomWithoutCtrl":true,"hideNeuroglancerUI":true,"rightClickWithCtrl":true,"enableMeshLoadingControl":true,"disableFixedPointObliqueRotation":true,"layout":{"useNehubaPerspective":{"fixedZoomPerspectiveSlices":{"sliceViewportWidth":1000,"sliceViewportHeight":1000,"sliceZoom":51263,"sliceViewportSizeMultiplier":2},"centerToOrigin":true,"mesh":{"removeBasedOnNavigation":true,"flipRemovedOctant":true},"removePerspectiveSlicesBackground":{"mode":"=="},"drawSubstrates":{"color":[0.5,0.5,1.0,0.2]},"drawZoomLevels":{"cutOff":15000}}},"dataset":{"imageBackground":[0.0,0.0,0.0,1.0],"initialNgState":{"layers":{"template":{"type":"image","source":"precomputed://https://neuroglancer.humanbrainproject.org/precomputed/WHS_SD_rat/templates/v1.01/t2star_masked","transform":[[1,0,0,-9550781],[0,1,0,-24355468],[0,0,1,-9707031],[0,0,0,1]]},"templateUnMasked":{"type":"image","visible":false,"source":"precomputed://https://neuroglancer.humanbrainproject.org/precomputed/WHS_SD_rat/templates/v1.01/t2star","transform":[[1,0,0,-9550781],[0,1,0,-24355468],[0,0,1,-9707031],[0,0,0,1]]},"whole":{"type":"segmentation","source":"precomputed://https://neuroglancer.humanbrainproject.org/precomputed/WHS_SD_rat/parcellations/v2","selectedAlpha":0.35,"transform":[[1,0,0,-9550781],[0,1,0,-24355468],[0,0,1,-9707031],[0,0,0,1]]}},"navigation":{"pose":{"position":{"voxelSize":[39062.5,39062.5,39062.5],"voxelCoordinates":[-1.5317133665084839,-146.45941162109375,20.52083969116211]}},"zoomFactor":59702.66654390316},"perspectiveOrientation":[-0.6278747916221619,-0.43671634793281555,0.4761661887168884,0.4339560568332672],"perspectiveZoom":379767.21993194974}}}
\ No newline at end of file
diff --git a/src/ui/nehubaContainer/nehubaContainer.template.html b/src/ui/nehubaContainer/nehubaContainer.template.html
index 7762891106e257db2ba7a1acb262f714b6b07807..f0dbd402a5e64747700c34865863eea30a5f08c2 100644
--- a/src/ui/nehubaContainer/nehubaContainer.template.html
+++ b/src/ui/nehubaContainer/nehubaContainer.template.html
@@ -8,19 +8,20 @@
 
   <div>
     <layout-floating-container
-      *ngIf = "false"
       pos00 
       landmarkContainer>
-      <nehuba-2dlandmark-unit 
-        *ngFor = "let spatialData of (combinedSpatialData$ | async)"
-        (mouseenter) = "handleMouseEnterLandmark(spatialData)"
-        (mouseleave) = "handleMouseLeaveLandmark(spatialData)"
-        [highlight] = "spatialData.highlight ? spatialData.highlight : false"
-        [glyphiconClass] = "spatialData.type === 'userLandmark' ? 'glyphicon-chevron-down' : 'glyphicon-map-marker'"
-        [positionX] = "getPositionX(0,spatialData)"
-        [positionY] = "getPositionY(0,spatialData)"
-        [positionZ] = "getPositionZ(0,spatialData)">
-      </nehuba-2dlandmark-unit>
+      <div *ngIf = "false">
+        <nehuba-2dlandmark-unit 
+          *ngFor = "let spatialData of (combinedSpatialData$ | async)"
+          (mouseenter) = "handleMouseEnterLandmark(spatialData)"
+          (mouseleave) = "handleMouseLeaveLandmark(spatialData)"
+          [highlight] = "spatialData.highlight ? spatialData.highlight : false"
+          [glyphiconClass] = "spatialData.type === 'userLandmark' ? 'glyphicon-chevron-down' : 'glyphicon-map-marker'"
+          [positionX] = "getPositionX(0,spatialData)"
+          [positionY] = "getPositionY(0,spatialData)"
+          [positionZ] = "getPositionZ(0,spatialData)">
+        </nehuba-2dlandmark-unit>
+      </div>
 
       <div *ngIf = "sliceViewLoading0$ | async" class = "loadingIndicator">
         <div class = "spinnerAnimationCircle">
@@ -30,20 +31,21 @@
     </layout-floating-container>
   </div>
   <div>
-    <layout-floating-container
-      *ngIf = "false"  
+    <layout-floating-container  
       pos01 
       landmarkContainer>
-      <nehuba-2dlandmark-unit 
-        *ngFor = "let spatialData of (combinedSpatialData$ | async)"
-        (mouseenter) = "handleMouseEnterLandmark(spatialData)"
-        (mouseleave) = "handleMouseLeaveLandmark(spatialData)"
-        [highlight] = "spatialData.highlight ? spatialData.highlight : false"
-        [glyphiconClass] = "spatialData.type === 'userLandmark' ? 'glyphicon-chevron-down' : 'glyphicon-map-marker'"
-        [positionX] = "getPositionX(1,spatialData)"
-        [positionY] = "getPositionY(1,spatialData)"
-        [positionZ] = "getPositionZ(1,spatialData)">
-      </nehuba-2dlandmark-unit>
+      <div *ngIf = "false">
+        <nehuba-2dlandmark-unit 
+          *ngFor = "let spatialData of (combinedSpatialData$ | async)"
+          (mouseenter) = "handleMouseEnterLandmark(spatialData)"
+          (mouseleave) = "handleMouseLeaveLandmark(spatialData)"
+          [highlight] = "spatialData.highlight ? spatialData.highlight : false"
+          [glyphiconClass] = "spatialData.type === 'userLandmark' ? 'glyphicon-chevron-down' : 'glyphicon-map-marker'"
+          [positionX] = "getPositionX(1,spatialData)"
+          [positionY] = "getPositionY(1,spatialData)"
+          [positionZ] = "getPositionZ(1,spatialData)">
+        </nehuba-2dlandmark-unit>
+      </div>
       <div *ngIf = "sliceViewLoading1$ | async" class = "loadingIndicator">
         <div class = "spinnerAnimationCircle">
 
@@ -52,20 +54,21 @@
     </layout-floating-container>
   </div>
   <div>
-    <layout-floating-container
-      *ngIf = "false"  
+    <layout-floating-container  
       pos10 
       landmarkContainer>
-      <nehuba-2dlandmark-unit 
-        *ngFor = "let spatialData of (combinedSpatialData$ | async)"
-        (mouseenter) = "handleMouseEnterLandmark(spatialData)"
-        (mouseleave) = "handleMouseLeaveLandmark(spatialData)"
-        [highlight] = "spatialData.highlight ? spatialData.highlight : false"
-        [glyphiconClass] = "spatialData.type === 'userLandmark' ? 'glyphicon-chevron-down' : 'glyphicon-map-marker'"
-        [positionX] = "getPositionX(2,spatialData)"
-        [positionY] = "getPositionY(2,spatialData)"
-        [positionZ] = "getPositionZ(2,spatialData)">
-      </nehuba-2dlandmark-unit>
+      <div *ngIf = "false">
+        <nehuba-2dlandmark-unit 
+          *ngFor = "let spatialData of (combinedSpatialData$ | async)"
+          (mouseenter) = "handleMouseEnterLandmark(spatialData)"
+          (mouseleave) = "handleMouseLeaveLandmark(spatialData)"
+          [highlight] = "spatialData.highlight ? spatialData.highlight : false"
+          [glyphiconClass] = "spatialData.type === 'userLandmark' ? 'glyphicon-chevron-down' : 'glyphicon-map-marker'"
+          [positionX] = "getPositionX(2,spatialData)"
+          [positionY] = "getPositionY(2,spatialData)"
+          [positionZ] = "getPositionZ(2,spatialData)">
+        </nehuba-2dlandmark-unit>
+      </div>
       <div *ngIf = "sliceViewLoading2$ | async" class = "loadingIndicator">
         <div class = "spinnerAnimationCircle">
 
diff --git a/third_party/export_nehuba/chunk_worker.bundle.js b/third_party/export_nehuba/chunk_worker.bundle.js
index 122f1e5aefe8d8f988e5a345ac80d1e954345c08..dca8721f6457e65b9bbfbd0fcc813c0439f27792 100644
--- a/third_party/export_nehuba/chunk_worker.bundle.js
+++ b/third_party/export_nehuba/chunk_worker.bundle.js
@@ -13,6 +13,19 @@
  See the License for the specific language governing permissions and
  limitations under the License.
 
+ Copyright 2018 Google Inc.
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
  Copyright 2017 Google Inc.
  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
@@ -40,657 +53,730 @@
  See the License for the specific language governing permissions and
  limitations under the License.
 */
-var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.ASSUME_ES5=!1;$jscomp.ASSUME_NO_NATIVE_MAP=!1;$jscomp.ASSUME_NO_NATIVE_SET=!1;$jscomp.defineProperty=$jscomp.ASSUME_ES5||"function"==typeof Object.defineProperties?Object.defineProperty:function(m,e,l){m!=Array.prototype&&m!=Object.prototype&&(m[e]=l.value)};$jscomp.getGlobal=function(m){return"undefined"!=typeof window&&window===m?m:"undefined"!=typeof global&&null!=global?global:m};$jscomp.global=$jscomp.getGlobal(this);$jscomp.SYMBOL_PREFIX="jscomp_symbol_";
-$jscomp.initSymbol=function(){$jscomp.initSymbol=function(){};$jscomp.global.Symbol||($jscomp.global.Symbol=$jscomp.Symbol)};$jscomp.symbolCounter_=0;$jscomp.Symbol=function(m){return $jscomp.SYMBOL_PREFIX+(m||"")+$jscomp.symbolCounter_++};
-$jscomp.initSymbolIterator=function(){$jscomp.initSymbol();var m=$jscomp.global.Symbol.iterator;m||(m=$jscomp.global.Symbol.iterator=$jscomp.global.Symbol("iterator"));"function"!=typeof Array.prototype[m]&&$jscomp.defineProperty(Array.prototype,m,{configurable:!0,writable:!0,value:function(){return $jscomp.arrayIterator(this)}});$jscomp.initSymbolIterator=function(){}};$jscomp.arrayIterator=function(m){var e=0;return $jscomp.iteratorPrototype(function(){return e<m.length?{done:!1,value:m[e++]}:{done:!0}})};
-$jscomp.iteratorPrototype=function(m){$jscomp.initSymbolIterator();m={next:m};m[$jscomp.global.Symbol.iterator]=function(){return this};return m};$jscomp.makeIterator=function(m){$jscomp.initSymbolIterator();$jscomp.initSymbol();$jscomp.initSymbolIterator();var e=m[Symbol.iterator];return e?e.call(m):$jscomp.arrayIterator(m)};$jscomp.arrayFromIterator=function(m){for(var e,l=[];!(e=m.next()).done;)l.push(e.value);return l};$jscomp.arrayFromIterable=function(m){return m instanceof Array?m:$jscomp.arrayFromIterator($jscomp.makeIterator(m))};
-$jscomp.owns=function(m,e){return Object.prototype.hasOwnProperty.call(m,e)};$jscomp.polyfill=function(m,e,l,g){if(e){l=$jscomp.global;m=m.split(".");for(g=0;g<m.length-1;g++){var f=m[g];f in l||(l[f]={});l=l[f]}m=m[m.length-1];g=l[m];e=e(g);e!=g&&null!=e&&$jscomp.defineProperty(l,m,{configurable:!0,writable:!0,value:e})}};
-$jscomp.polyfill("WeakMap",function(m){function e(a){$jscomp.owns(a,g)||$jscomp.defineProperty(a,g,{value:{}})}function l(a){var b=Object[a];b&&(Object[a]=function(a){e(a);return b(a)})}if(function(){if(!m||!Object.seal)return!1;try{var a=Object.seal({}),b=Object.seal({}),d=new m([[a,2],[b,3]]);if(2!=d.get(a)||3!=d.get(b))return!1;d.delete(a);d.set(b,4);return!d.has(a)&&4==d.get(b)}catch(q){return!1}}())return m;var g="$jscomp_hidden_"+Math.random().toString().substring(2);l("freeze");l("preventExtensions");
-l("seal");var f=0,c=function(a){this.id_=(f+=Math.random()+1).toString();if(a){$jscomp.initSymbol();$jscomp.initSymbolIterator();a=$jscomp.makeIterator(a);for(var b;!(b=a.next()).done;)b=b.value,this.set(b[0],b[1])}};c.prototype.set=function(a,b){e(a);if(!$jscomp.owns(a,g))throw Error("WeakMap key fail: "+a);a[g][this.id_]=b;return this};c.prototype.get=function(a){return $jscomp.owns(a,g)?a[g][this.id_]:void 0};c.prototype.has=function(a){return $jscomp.owns(a,g)&&$jscomp.owns(a[g],this.id_)};c.prototype.delete=
-function(a){return $jscomp.owns(a,g)&&$jscomp.owns(a[g],this.id_)?delete a[g][this.id_]:!1};return c},"es6","es3");$jscomp.MapEntry=function(){};
-$jscomp.polyfill("Map",function(m){if(!$jscomp.ASSUME_NO_NATIVE_MAP&&function(){if(!m||!m.prototype.entries||"function"!=typeof Object.seal)return!1;try{var a=Object.seal({x:4}),d=new m($jscomp.makeIterator([[a,"s"]]));if("s"!=d.get(a)||1!=d.size||d.get({x:4})||d.set({x:4},"t")!=d||2!=d.size)return!1;var c=d.entries(),h=c.next();if(h.done||h.value[0]!=a||"s"!=h.value[1])return!1;h=c.next();return h.done||4!=h.value[0].x||"t"!=h.value[1]||!c.next().done?!1:!0}catch(k){return!1}}())return m;$jscomp.initSymbol();
-$jscomp.initSymbolIterator();var e=new WeakMap,l=function(a){this.data_={};this.head_=c();this.size=0;if(a){a=$jscomp.makeIterator(a);for(var b;!(b=a.next()).done;)b=b.value,this.set(b[0],b[1])}};l.prototype.set=function(a,d){var b=g(this,a);b.list||(b.list=this.data_[b.id]=[]);b.entry?b.entry.value=d:(b.entry={next:this.head_,previous:this.head_.previous,head:this.head_,key:a,value:d},b.list.push(b.entry),this.head_.previous.next=b.entry,this.head_.previous=b.entry,this.size++);return this};l.prototype.delete=
-function(a){a=g(this,a);return a.entry&&a.list?(a.list.splice(a.index,1),a.list.length||delete this.data_[a.id],a.entry.previous.next=a.entry.next,a.entry.next.previous=a.entry.previous,a.entry.head=null,this.size--,!0):!1};l.prototype.clear=function(){this.data_={};this.head_=this.head_.previous=c();this.size=0};l.prototype.has=function(a){return!!g(this,a).entry};l.prototype.get=function(a){return(a=g(this,a).entry)&&a.value};l.prototype.entries=function(){return f(this,function(a){return[a.key,
-a.value]})};l.prototype.keys=function(){return f(this,function(a){return a.key})};l.prototype.values=function(){return f(this,function(a){return a.value})};l.prototype.forEach=function(a,d){for(var b=this.entries(),c;!(c=b.next()).done;)c=c.value,a.call(d,c[1],c[0],this)};l.prototype[Symbol.iterator]=l.prototype.entries;var g=function(b,d){var c=d&&typeof d;"object"==c||"function"==c?e.has(d)?c=e.get(d):(c=""+ ++a,e.set(d,c)):c="p_"+d;var h=b.data_[c];if(h&&$jscomp.owns(b.data_,c))for(b=0;b<h.length;b++){var k=
-h[b];if(d!==d&&k.key!==k.key||d===k.key)return{id:c,list:h,index:b,entry:k}}return{id:c,list:h,index:-1,entry:void 0}},f=function(a,d){var b=a.head_;return $jscomp.iteratorPrototype(function(){if(b){for(;b.head!=a.head_;)b=b.previous;for(;b.next!=b.head;)return b=b.next,{done:!1,value:d(b)};b=null}return{done:!0,value:void 0}})},c=function(){var a={};return a.previous=a.next=a.head=a},a=0;return l},"es6","es3");
-$jscomp.iteratorFromArray=function(m,e){$jscomp.initSymbolIterator();m instanceof String&&(m+="");var l=0,g={next:function(){if(l<m.length){var f=l++;return{value:e(f,m[f]),done:!1}}g.next=function(){return{done:!0,value:void 0}};return g.next()}};g[Symbol.iterator]=function(){return g};return g};$jscomp.polyfill("Array.prototype.values",function(m){return m?m:function(){return $jscomp.iteratorFromArray(this,function(e,l){return l})}},"es6","es3");
-$jscomp.polyfill("Number.isNaN",function(m){return m?m:function(e){return"number"===typeof e&&isNaN(e)}},"es6","es3");$jscomp.polyfill("Number.isFinite",function(m){return m?m:function(e){return"number"!==typeof e?!1:!isNaN(e)&&Infinity!==e&&-Infinity!==e}},"es6","es3");$jscomp.polyfill("Array.prototype.keys",function(m){return m?m:function(){return $jscomp.iteratorFromArray(this,function(e){return e})}},"es6","es3");
-$jscomp.polyfill("Number.isInteger",function(m){return m?m:function(e){return Number.isFinite(e)?e===Math.floor(e):!1}},"es6","es3");$jscomp.polyfill("Array.from",function(m){return m?m:function(e,l,g){$jscomp.initSymbolIterator();l=null!=l?l:function(a){return a};var f=[],c=e[Symbol.iterator];if("function"==typeof c)for(e=c.call(e);!(c=e.next()).done;)f.push(l.call(g,c.value));else{c=e.length;for(var a=0;a<c;a++)f.push(l.call(g,e[a]))}return f}},"es6","es3");
-$jscomp.checkStringArgs=function(m,e,l){if(null==m)throw new TypeError("The 'this' value for String.prototype."+l+" must not be null or undefined");if(e instanceof RegExp)throw new TypeError("First argument to String.prototype."+l+" must not be a regular expression");return m+""};
-$jscomp.polyfill("String.prototype.startsWith",function(m){return m?m:function(e,l){var g=$jscomp.checkStringArgs(this,e,"startsWith");e+="";var f=g.length,c=e.length;l=Math.max(0,Math.min(l|0,g.length));for(var a=0;a<c&&l<f;)if(g[l++]!=e[a++])return!1;return a>=c}},"es6","es3");$jscomp.polyfill("Math.log2",function(m){return m?m:function(e){return Math.log(e)/Math.LN2}},"es6","es3");
-$jscomp.polyfill("String.prototype.repeat",function(m){return m?m:function(e){var l=$jscomp.checkStringArgs(this,null,"repeat");if(0>e||1342177279<e)throw new RangeError("Invalid count value");e|=0;for(var g="";e;)if(e&1&&(g+=l),e>>>=1)l+=l;return g}},"es6","es3");
-$jscomp.polyfill("Set",function(m){if(!$jscomp.ASSUME_NO_NATIVE_SET&&function(){if(!m||!m.prototype.entries||"function"!=typeof Object.seal)return!1;try{var e=Object.seal({x:4}),g=new m($jscomp.makeIterator([e]));if(!g.has(e)||1!=g.size||g.add(e)!=g||1!=g.size||g.add({x:4})!=g||2!=g.size)return!1;var f=g.entries(),c=f.next();if(c.done||c.value[0]!=e||c.value[1]!=e)return!1;c=f.next();return c.done||c.value[0]==e||4!=c.value[0].x||c.value[1]!=c.value[0]?!1:f.next().done}catch(a){return!1}}())return m;
-$jscomp.initSymbol();$jscomp.initSymbolIterator();var e=function(e){this.map_=new Map;if(e){e=$jscomp.makeIterator(e);for(var g;!(g=e.next()).done;)this.add(g.value)}this.size=this.map_.size};e.prototype.add=function(e){this.map_.set(e,e);this.size=this.map_.size;return this};e.prototype.delete=function(e){e=this.map_.delete(e);this.size=this.map_.size;return e};e.prototype.clear=function(){this.map_.clear();this.size=0};e.prototype.has=function(e){return this.map_.has(e)};e.prototype.entries=function(){return this.map_.entries()};
-e.prototype.values=function(){return this.map_.values()};e.prototype.keys=e.prototype.values;e.prototype[Symbol.iterator]=e.prototype.values;e.prototype.forEach=function(e,g){var f=this;this.map_.forEach(function(c){return e.call(g,c,c,f)})};return e},"es6","es3");$jscomp.FORCE_POLYFILL_PROMISE=!1;
-$jscomp.polyfill("Promise",function(m){function e(){this.batch_=null}function l(a){return a instanceof f?a:new f(function(b,d){b(a)})}if(m&&!$jscomp.FORCE_POLYFILL_PROMISE)return m;e.prototype.asyncExecute=function(a){null==this.batch_&&(this.batch_=[],this.asyncExecuteBatch_());this.batch_.push(a);return this};e.prototype.asyncExecuteBatch_=function(){var a=this;this.asyncExecuteFunction(function(){a.executeBatch_()})};var g=$jscomp.global.setTimeout;e.prototype.asyncExecuteFunction=function(a){g(a,
-0)};e.prototype.executeBatch_=function(){for(;this.batch_&&this.batch_.length;){var a=this.batch_;this.batch_=[];for(var b=0;b<a.length;++b){var d=a[b];delete a[b];try{d()}catch(q){this.asyncThrow_(q)}}}this.batch_=null};e.prototype.asyncThrow_=function(a){this.asyncExecuteFunction(function(){throw a;})};var f=function(a){this.state_=0;this.result_=void 0;this.onSettledCallbacks_=[];var b=this.createResolveAndReject_();try{a(b.resolve,b.reject)}catch(d){b.reject(d)}};f.prototype.createResolveAndReject_=
-function(){function a(a){return function(c){d||(d=!0,a.call(b,c))}}var b=this,d=!1;return{resolve:a(this.resolveTo_),reject:a(this.reject_)}};f.prototype.resolveTo_=function(a){if(a===this)this.reject_(new TypeError("A Promise cannot resolve to itself"));else if(a instanceof f)this.settleSameAsPromise_(a);else{a:switch(typeof a){case "object":var b=null!=a;break a;case "function":b=!0;break a;default:b=!1}b?this.resolveToNonPromiseObj_(a):this.fulfill_(a)}};f.prototype.resolveToNonPromiseObj_=function(a){var b=
+var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.ASSUME_ES5=!1;$jscomp.ASSUME_NO_NATIVE_MAP=!1;$jscomp.ASSUME_NO_NATIVE_SET=!1;$jscomp.defineProperty=$jscomp.ASSUME_ES5||"function"==typeof Object.defineProperties?Object.defineProperty:function(p,e,m){p!=Array.prototype&&p!=Object.prototype&&(p[e]=m.value)};$jscomp.getGlobal=function(p){return"undefined"!=typeof window&&window===p?p:"undefined"!=typeof global&&null!=global?global:p};$jscomp.global=$jscomp.getGlobal(this);$jscomp.SYMBOL_PREFIX="jscomp_symbol_";
+$jscomp.initSymbol=function(){$jscomp.initSymbol=function(){};$jscomp.global.Symbol||($jscomp.global.Symbol=$jscomp.Symbol)};$jscomp.symbolCounter_=0;$jscomp.Symbol=function(p){return $jscomp.SYMBOL_PREFIX+(p||"")+$jscomp.symbolCounter_++};
+$jscomp.initSymbolIterator=function(){$jscomp.initSymbol();var p=$jscomp.global.Symbol.iterator;p||(p=$jscomp.global.Symbol.iterator=$jscomp.global.Symbol("iterator"));"function"!=typeof Array.prototype[p]&&$jscomp.defineProperty(Array.prototype,p,{configurable:!0,writable:!0,value:function(){return $jscomp.arrayIterator(this)}});$jscomp.initSymbolIterator=function(){}};$jscomp.arrayIterator=function(p){var e=0;return $jscomp.iteratorPrototype(function(){return e<p.length?{done:!1,value:p[e++]}:{done:!0}})};
+$jscomp.iteratorPrototype=function(p){$jscomp.initSymbolIterator();p={next:p};p[$jscomp.global.Symbol.iterator]=function(){return this};return p};$jscomp.makeIterator=function(p){$jscomp.initSymbolIterator();$jscomp.initSymbol();$jscomp.initSymbolIterator();var e=p[Symbol.iterator];return e?e.call(p):$jscomp.arrayIterator(p)};$jscomp.arrayFromIterator=function(p){for(var e,m=[];!(e=p.next()).done;)m.push(e.value);return m};$jscomp.arrayFromIterable=function(p){return p instanceof Array?p:$jscomp.arrayFromIterator($jscomp.makeIterator(p))};
+$jscomp.owns=function(p,e){return Object.prototype.hasOwnProperty.call(p,e)};$jscomp.polyfill=function(p,e,m,k){if(e){m=$jscomp.global;p=p.split(".");for(k=0;k<p.length-1;k++){var f=p[k];f in m||(m[f]={});m=m[f]}p=p[p.length-1];k=m[p];e=e(k);e!=k&&null!=e&&$jscomp.defineProperty(m,p,{configurable:!0,writable:!0,value:e})}};
+$jscomp.polyfill("WeakMap",function(p){function e(a){$jscomp.owns(a,k)||$jscomp.defineProperty(a,k,{value:{}})}function m(a){var b=Object[a];b&&(Object[a]=function(a){e(a);return b(a)})}if(function(){if(!p||!Object.seal)return!1;try{var a=Object.seal({}),b=Object.seal({}),c=new p([[a,2],[b,3]]);if(2!=c.get(a)||3!=c.get(b))return!1;c.delete(a);c.set(b,4);return!c.has(a)&&4==c.get(b)}catch(n){return!1}}())return p;var k="$jscomp_hidden_"+Math.random().toString().substring(2);m("freeze");m("preventExtensions");
+m("seal");var f=0,c=function(a){this.id_=(f+=Math.random()+1).toString();if(a){$jscomp.initSymbol();$jscomp.initSymbolIterator();a=$jscomp.makeIterator(a);for(var b;!(b=a.next()).done;)b=b.value,this.set(b[0],b[1])}};c.prototype.set=function(a,b){e(a);if(!$jscomp.owns(a,k))throw Error("WeakMap key fail: "+a);a[k][this.id_]=b;return this};c.prototype.get=function(a){return $jscomp.owns(a,k)?a[k][this.id_]:void 0};c.prototype.has=function(a){return $jscomp.owns(a,k)&&$jscomp.owns(a[k],this.id_)};c.prototype.delete=
+function(a){return $jscomp.owns(a,k)&&$jscomp.owns(a[k],this.id_)?delete a[k][this.id_]:!1};return c},"es6","es3");$jscomp.MapEntry=function(){};
+$jscomp.polyfill("Map",function(p){if(!$jscomp.ASSUME_NO_NATIVE_MAP&&function(){if(!p||!p.prototype.entries||"function"!=typeof Object.seal)return!1;try{var a=Object.seal({x:4}),c=new p($jscomp.makeIterator([[a,"s"]]));if("s"!=c.get(a)||1!=c.size||c.get({x:4})||c.set({x:4},"t")!=c||2!=c.size)return!1;var n=c.entries(),l=n.next();if(l.done||l.value[0]!=a||"s"!=l.value[1])return!1;l=n.next();return l.done||4!=l.value[0].x||"t"!=l.value[1]||!n.next().done?!1:!0}catch(g){return!1}}())return p;$jscomp.initSymbol();
+$jscomp.initSymbolIterator();var e=new WeakMap,m=function(a){this.data_={};this.head_=c();this.size=0;if(a){a=$jscomp.makeIterator(a);for(var b;!(b=a.next()).done;)b=b.value,this.set(b[0],b[1])}};m.prototype.set=function(a,c){var b=k(this,a);b.list||(b.list=this.data_[b.id]=[]);b.entry?b.entry.value=c:(b.entry={next:this.head_,previous:this.head_.previous,head:this.head_,key:a,value:c},b.list.push(b.entry),this.head_.previous.next=b.entry,this.head_.previous=b.entry,this.size++);return this};m.prototype.delete=
+function(a){a=k(this,a);return a.entry&&a.list?(a.list.splice(a.index,1),a.list.length||delete this.data_[a.id],a.entry.previous.next=a.entry.next,a.entry.next.previous=a.entry.previous,a.entry.head=null,this.size--,!0):!1};m.prototype.clear=function(){this.data_={};this.head_=this.head_.previous=c();this.size=0};m.prototype.has=function(a){return!!k(this,a).entry};m.prototype.get=function(a){return(a=k(this,a).entry)&&a.value};m.prototype.entries=function(){return f(this,function(a){return[a.key,
+a.value]})};m.prototype.keys=function(){return f(this,function(a){return a.key})};m.prototype.values=function(){return f(this,function(a){return a.value})};m.prototype.forEach=function(a,c){for(var b=this.entries(),d;!(d=b.next()).done;)d=d.value,a.call(c,d[1],d[0],this)};m.prototype[Symbol.iterator]=m.prototype.entries;var k=function(b,c){var d=c&&typeof c;"object"==d||"function"==d?e.has(c)?d=e.get(c):(d=""+ ++a,e.set(c,d)):d="p_"+c;var l=b.data_[d];if(l&&$jscomp.owns(b.data_,d))for(b=0;b<l.length;b++){var g=
+l[b];if(c!==c&&g.key!==g.key||c===g.key)return{id:d,list:l,index:b,entry:g}}return{id:d,list:l,index:-1,entry:void 0}},f=function(a,c){var b=a.head_;return $jscomp.iteratorPrototype(function(){if(b){for(;b.head!=a.head_;)b=b.previous;for(;b.next!=b.head;)return b=b.next,{done:!1,value:c(b)};b=null}return{done:!0,value:void 0}})},c=function(){var a={};return a.previous=a.next=a.head=a},a=0;return m},"es6","es3");
+$jscomp.iteratorFromArray=function(p,e){$jscomp.initSymbolIterator();p instanceof String&&(p+="");var m=0,k={next:function(){if(m<p.length){var f=m++;return{value:e(f,p[f]),done:!1}}k.next=function(){return{done:!0,value:void 0}};return k.next()}};k[Symbol.iterator]=function(){return k};return k};$jscomp.polyfill("Array.prototype.values",function(p){return p?p:function(){return $jscomp.iteratorFromArray(this,function(e,m){return m})}},"es6","es3");
+$jscomp.polyfill("Number.isNaN",function(p){return p?p:function(e){return"number"===typeof e&&isNaN(e)}},"es6","es3");$jscomp.polyfill("Number.isFinite",function(p){return p?p:function(e){return"number"!==typeof e?!1:!isNaN(e)&&Infinity!==e&&-Infinity!==e}},"es6","es3");$jscomp.polyfill("Array.prototype.keys",function(p){return p?p:function(){return $jscomp.iteratorFromArray(this,function(e){return e})}},"es6","es3");
+$jscomp.polyfill("Number.isInteger",function(p){return p?p:function(e){return Number.isFinite(e)?e===Math.floor(e):!1}},"es6","es3");$jscomp.polyfill("Array.from",function(p){return p?p:function(e,m,k){$jscomp.initSymbolIterator();m=null!=m?m:function(a){return a};var f=[],c=e[Symbol.iterator];if("function"==typeof c)for(e=c.call(e);!(c=e.next()).done;)f.push(m.call(k,c.value));else{c=e.length;for(var a=0;a<c;a++)f.push(m.call(k,e[a]))}return f}},"es6","es3");
+$jscomp.checkStringArgs=function(p,e,m){if(null==p)throw new TypeError("The 'this' value for String.prototype."+m+" must not be null or undefined");if(e instanceof RegExp)throw new TypeError("First argument to String.prototype."+m+" must not be a regular expression");return p+""};
+$jscomp.polyfill("String.prototype.startsWith",function(p){return p?p:function(e,m){var k=$jscomp.checkStringArgs(this,e,"startsWith");e+="";var f=k.length,c=e.length;m=Math.max(0,Math.min(m|0,k.length));for(var a=0;a<c&&m<f;)if(k[m++]!=e[a++])return!1;return a>=c}},"es6","es3");$jscomp.polyfill("Math.log2",function(p){return p?p:function(e){return Math.log(e)/Math.LN2}},"es6","es3");
+$jscomp.polyfill("String.prototype.repeat",function(p){return p?p:function(e){var m=$jscomp.checkStringArgs(this,null,"repeat");if(0>e||1342177279<e)throw new RangeError("Invalid count value");e|=0;for(var k="";e;)if(e&1&&(k+=m),e>>>=1)m+=m;return k}},"es6","es3");
+$jscomp.polyfill("Set",function(p){if(!$jscomp.ASSUME_NO_NATIVE_SET&&function(){if(!p||!p.prototype.entries||"function"!=typeof Object.seal)return!1;try{var e=Object.seal({x:4}),k=new p($jscomp.makeIterator([e]));if(!k.has(e)||1!=k.size||k.add(e)!=k||1!=k.size||k.add({x:4})!=k||2!=k.size)return!1;var f=k.entries(),c=f.next();if(c.done||c.value[0]!=e||c.value[1]!=e)return!1;c=f.next();return c.done||c.value[0]==e||4!=c.value[0].x||c.value[1]!=c.value[0]?!1:f.next().done}catch(a){return!1}}())return p;
+$jscomp.initSymbol();$jscomp.initSymbolIterator();var e=function(e){this.map_=new Map;if(e){e=$jscomp.makeIterator(e);for(var k;!(k=e.next()).done;)this.add(k.value)}this.size=this.map_.size};e.prototype.add=function(e){this.map_.set(e,e);this.size=this.map_.size;return this};e.prototype.delete=function(e){e=this.map_.delete(e);this.size=this.map_.size;return e};e.prototype.clear=function(){this.map_.clear();this.size=0};e.prototype.has=function(e){return this.map_.has(e)};e.prototype.entries=function(){return this.map_.entries()};
+e.prototype.values=function(){return this.map_.values()};e.prototype.keys=e.prototype.values;e.prototype[Symbol.iterator]=e.prototype.values;e.prototype.forEach=function(e,k){var f=this;this.map_.forEach(function(c){return e.call(k,c,c,f)})};return e},"es6","es3");$jscomp.FORCE_POLYFILL_PROMISE=!1;
+$jscomp.polyfill("Promise",function(p){function e(){this.batch_=null}function m(a){return a instanceof f?a:new f(function(b,c){b(a)})}if(p&&!$jscomp.FORCE_POLYFILL_PROMISE)return p;e.prototype.asyncExecute=function(a){null==this.batch_&&(this.batch_=[],this.asyncExecuteBatch_());this.batch_.push(a);return this};e.prototype.asyncExecuteBatch_=function(){var a=this;this.asyncExecuteFunction(function(){a.executeBatch_()})};var k=$jscomp.global.setTimeout;e.prototype.asyncExecuteFunction=function(a){k(a,
+0)};e.prototype.executeBatch_=function(){for(;this.batch_&&this.batch_.length;){var a=this.batch_;this.batch_=[];for(var b=0;b<a.length;++b){var c=a[b];delete a[b];try{c()}catch(n){this.asyncThrow_(n)}}}this.batch_=null};e.prototype.asyncThrow_=function(a){this.asyncExecuteFunction(function(){throw a;})};var f=function(a){this.state_=0;this.result_=void 0;this.onSettledCallbacks_=[];var b=this.createResolveAndReject_();try{a(b.resolve,b.reject)}catch(d){b.reject(d)}};f.prototype.createResolveAndReject_=
+function(){function a(a){return function(d){c||(c=!0,a.call(b,d))}}var b=this,c=!1;return{resolve:a(this.resolveTo_),reject:a(this.reject_)}};f.prototype.resolveTo_=function(a){if(a===this)this.reject_(new TypeError("A Promise cannot resolve to itself"));else if(a instanceof f)this.settleSameAsPromise_(a);else{a:switch(typeof a){case "object":var b=null!=a;break a;case "function":b=!0;break a;default:b=!1}b?this.resolveToNonPromiseObj_(a):this.fulfill_(a)}};f.prototype.resolveToNonPromiseObj_=function(a){var b=
 void 0;try{b=a.then}catch(d){this.reject_(d);return}"function"==typeof b?this.settleSameAsThenable_(b,a):this.fulfill_(a)};f.prototype.reject_=function(a){this.settle_(2,a)};f.prototype.fulfill_=function(a){this.settle_(1,a)};f.prototype.settle_=function(a,b){if(0!=this.state_)throw Error("Cannot settle("+a+", "+b|"): Promise already settled in state"+this.state_);this.state_=a;this.result_=b;this.executeOnSettledCallbacks_()};f.prototype.executeOnSettledCallbacks_=function(){if(null!=this.onSettledCallbacks_){for(var a=
-this.onSettledCallbacks_,b=0;b<a.length;++b)a[b].call(),a[b]=null;this.onSettledCallbacks_=null}};var c=new e;f.prototype.settleSameAsPromise_=function(a){var b=this.createResolveAndReject_();a.callWhenSettled_(b.resolve,b.reject)};f.prototype.settleSameAsThenable_=function(a,b){var d=this.createResolveAndReject_();try{a.call(b,d.resolve,d.reject)}catch(q){d.reject(q)}};f.prototype.then=function(a,b){function d(a,b){return"function"==typeof a?function(b){try{c(a(b))}catch(n){h(n)}}:b}var c,h,k=new f(function(a,
-b){c=a;h=b});this.callWhenSettled_(d(a,c),d(b,h));return k};f.prototype.catch=function(a){return this.then(void 0,a)};f.prototype.callWhenSettled_=function(a,b){function d(){switch(q.state_){case 1:a(q.result_);break;case 2:b(q.result_);break;default:throw Error("Unexpected state: "+q.state_);}}var q=this;null==this.onSettledCallbacks_?c.asyncExecute(d):this.onSettledCallbacks_.push(function(){c.asyncExecute(d)})};f.resolve=l;f.reject=function(a){return new f(function(b,d){d(a)})};f.race=function(a){return new f(function(b,
-d){for(var c=$jscomp.makeIterator(a),h=c.next();!h.done;h=c.next())l(h.value).callWhenSettled_(b,d)})};f.all=function(a){var b=$jscomp.makeIterator(a),d=b.next();return d.done?l([]):new f(function(a,c){function h(b){return function(d){u[b]=d;p--;0==p&&a(u)}}var u=[],p=0;do u.push(void 0),p++,l(d.value).callWhenSettled_(h(u.length-1),c),d=b.next();while(!d.done)})};return f},"es6","es3");
-$jscomp.polyfill("Object.assign",function(m){return m?m:function(e,l){for(var g=1;g<arguments.length;g++){var f=arguments[g];if(f)for(var c in f)$jscomp.owns(f,c)&&(e[c]=f[c])}return e}},"es6","es3");$jscomp.polyfill("Array.prototype.entries",function(m){return m?m:function(){return $jscomp.iteratorFromArray(this,function(e,l){return[e,l]})}},"es6","es3");
-$jscomp.polyfill("Array.prototype.fill",function(m){return m?m:function(e,l,g){var f=this.length||0;0>l&&(l=Math.max(0,f+l));if(null==g||g>f)g=f;g=Number(g);0>g&&(g=Math.max(0,f+g));for(l=Number(l||0);l<g;l++)this[l]=e;return this}},"es6","es3");
-$jscomp.polyfill("Array.prototype.copyWithin",function(m){return m?m:function(e,l,g){var f=this.length;e=Number(e);l=Number(l);g=Number(null!=g?g:f);if(e<l)for(g=Math.min(g,f);l<g;)l in this?this[e++]=this[l++]:(delete this[e++],l++);else for(g=Math.min(g,f+l-e),e+=g-l;g>l;)--g in this?this[--e]=this[g]:delete this[e];return this}},"es6","es3");
-(function(m,e){"object"===typeof exports&&"object"===typeof module?module.exports=e():"function"===typeof define&&define.amd?define([],e):"object"===typeof exports?exports.exportNehubaFn=e():m.exportNehubaFn=e()})("undefined"!==typeof self?self:this,function(){return function(m){function e(g){if(l[g])return l[g].exports;var f=l[g]={i:g,l:!1,exports:{}};m[g].call(f.exports,f,f.exports,e);f.l=!0;return f.exports}var l={};e.m=m;e.c=l;e.d=function(g,f,c){e.o(g,f)||Object.defineProperty(g,f,{configurable:!1,
-enumerable:!0,get:c})};e.n=function(g){var f=g&&g.__esModule?function(){return g["default"]}:function(){return g};e.d(f,"a",f);return f};e.o=function(g,f){return Object.prototype.hasOwnProperty.call(g,f)};e.p="";return e(e.s=46)}([function(m,e,l){function g(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function f(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?
-a:b}function c(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function a(a,b){u.set(a,b)}function b(a,b,d){d=void 0===d?{}:d;null!=b&&a.initializeSharedObject(b,d.id)}e.f=a;e.e=function(b,c){a(b,function(a){var b=this,h=a.id,k=new d.b;a=c.call(this,
-a,k);this.set(h,{promise:a,cancellationToken:k});a.then(function(a){var d=a.value;a=a.transfers;b.delete(h);b.invoke("rpc.promise.response",{id:h,value:d},a)},function(a){b.delete(h);b.invoke("rpc.promise.response",{id:h,error:a.message,errorName:a.name})})})};l.d(e,"a",function(){return n});l.d(e,"b",function(){return v});e.d=b;l.d(e,"c",function(){return I});e.h=function(a){return function(b){b.prototype.RPC_TYPE_ID=a}};e.g=function(a){return function(b){if(void 0!==a)b.prototype.RPC_TYPE_ID=a;
-else if(a=b.prototype.RPC_TYPE_ID,void 0===a)throw Error("RPC_TYPE_ID should have already been defined");t.set(a,b)}};var d=l(7);m=l(17);var q=function F(a,b,d){null===a&&(a=Function.prototype);var c=Object.getOwnPropertyDescriptor(a,b);if(void 0===c){if(a=Object.getPrototypeOf(a),null!==a)return F(a,b,d)}else{if("value"in c)return c.value;b=c.get;return void 0===b?void 0:b.call(d)}},h=function(){function a(a,b){for(var d=0;d<b.length;d++){var c=b[d];c.enumerable=c.enumerable||!1;c.configurable=!0;
-"value"in c&&(c.writable=!0);Object.defineProperty(a,c.key,c)}}return function(b,d,c){d&&a(b.prototype,d);c&&a(b,c);return b}}(),k=!("undefined"!==typeof Window&&self instanceof Window),u=new Map,p=function(a){function b(a,d){g(this,b);var c=f(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,d));c.name=a;c.message=d;return c}c(b,a);return b}(Error);a("rpc.promise.cancel",function(a){this.get(a.id).cancellationToken.cancel()});a("rpc.promise.response",function(a){var b=a.id,c=this.get(b),h=c.resolve;
-c=c.reject;this.delete(b);a.hasOwnProperty("value")?h(a.value):a.errorName===d.a.name?c(d.a):c(new p(a.errorName,a.error))});var x=k?-1:0,n=function(){function a(b){var d=this;g(this,a);this.target=b;this.objects=new Map;this.nextId=x;b.onmessage=function(a){a=a.data;u.get(a.functionName).call(d,a)}}h(a,[{key:"set",value:function(a,b){this.objects.set(a,b)}},{key:"delete",value:function(a){this.objects.delete(a)}},{key:"get",value:function(a){return this.objects.get(a)}},{key:"getRef",value:function(a){var b=
-this.get(a.id);b.referencedGeneration=a.gen;b.addRef();return b}},{key:"invoke",value:function(a,b,d){b.functionName=a;this.target.postMessage(b,d)}},{key:"promiseInvoke",value:function(a,b,c,h){var k=this;c=void 0===c?d.e:c;return Object(d.d)(c,function(d,c,n){var r=b.id=k.newId();k.set(r,{resolve:d,reject:c});k.invoke(a,b,h);n.add(function(){k.invoke("rpc.promise.cancel",{id:r})})})}},{key:"newId",value:function(){return k?this.nextId--:this.nextId++}},{key:"numObjects",get:function(){return this.objects.size}}]);
-return a}(),v=function(a){function b(){g(this,b);var a=f(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments));a.rpc=null;a.rpcId=null;return a}c(b,a);h(b,[{key:"initializeSharedObject",value:function(a,b){b=void 0===b?a.newId():b;this.rpc=a;this.rpcId=b;this.isOwner=!1;a.set(b,this)}},{key:"initializeCounterpart",value:function(a,b){b=void 0===b?{}:b;this.initializeSharedObject(a);this.referencedGeneration=this.unreferencedGeneration=0;this.isOwner=!0;b.id=this.rpcId;b.type=this.RPC_TYPE_ID;
-a.invoke("SharedObject.new",b)}},{key:"dispose",value:function(){q(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"dispose",this).call(this)}},{key:"addCounterpartRef",value:function(){return{id:this.rpcId,gen:++this.referencedGeneration}}},{key:"refCountReachedZero",value:function(){!0===this.isOwner?this.referencedGeneration===this.unreferencedGeneration&&this.ownerDispose():!1===this.isOwner?this.rpc.invoke("SharedObject.refCountReachedZero",{id:this.rpcId,gen:this.referencedGeneration}):
-q(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"refCountReachedZero",this).call(this)}},{key:"ownerDispose",value:function(){var a=this.rpc,d=this.rpcId;q(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"refCountReachedZero",this).call(this);a.delete(d);a.invoke("SharedObject.dispose",{id:d})}},{key:"counterpartRefCountReachedZero",value:function(a){this.unreferencedGeneration=a;0===this.refCount&&a===this.referencedGeneration&&this.ownerDispose()}}]);return b}(m.a),I=function(a){function d(a,
-c){c=void 0===c?{}:c;g(this,d);var h=f(this,(d.__proto__||Object.getPrototypeOf(d)).call(this));b(h,a,c);return h}c(d,a);return d}(v);a("SharedObject.dispose",function(a){a=this.get(a.id);if(0!==a.refCount)throw Error("Attempted to dispose object with non-zero reference count.");a.disposed();this.delete(a.rpcId);a.rpcId=null;a.rpc=null});a("SharedObject.refCountReachedZero",function(a){this.get(a.id).counterpartRefCountReachedZero(a.gen)});var t=new Map;a("SharedObject.new",function(a){--(new (t.get(a.type))(this,
-a)).refCount})},function(m,e,l){function g(a,d){var b=Math.abs(a[d]),c=Math.abs(a[d+1]),k=Math.abs(a[d+2]),u=Math.max(b,c,k);1E-4>b/u&&(a[d]=0);1E-4>c/u&&(a[d+1]=0);1E-4>k/u&&(a[d+2]=0)}function f(b){b=b.and(a[0]);for(var d=1;d<a.length;++d)b=b.xor(b.rshift(Math.pow(2,d))).and(a[d]);return b}e.h=function(a){return a[0]*a[1]*a[2]};e.m=function(a){return a[0]+","+a[1]+","+a[2]};e.j=function(a){g(a,0);g(a,4);g(a,8)};e.k=function(a,d,c){var b=d[0],k=d[1];d=d[2];a[0]=c[0]*b+c[4]*k+c[8]*d;a[1]=c[1]*b+c[5]*
-k+c[9]*d;a[2]=c[2]*b+c[6]*k+c[10]*d;return a};e.b=function(a,d){var b=d[0],c=d[1],k=d[2],u=d[4],p=d[5],x=d[6],n=d[8],v=d[9];d=d[10];a[0]=Math.sqrt(b*b+c*c+k*k);a[1]=Math.sqrt(u*u+p*p+x*x);a[2]=Math.sqrt(n*n+v*v+d*d);return a};e.a=function(a){if(a.high)throw Error("Fragment ids >= 2^32 not supported yet");var b=f(a.rshift(0)),q=f(a.rshift(1));a=f(a.rshift(2));return c.c.clone([b.low,q.low,a.low])};var c=l(31);m=l(6);l.d(e,"g",function(){return c.a});l.d(e,"i",function(){return c.b});l.d(e,"l",function(){return c.c});
-l=c.a.create();e.c=l;l=[c.c.fromValues(1,0,0),c.c.fromValues(0,1,0),c.c.fromValues(0,0,1)];e.d=l;l=c.c.fromValues(0,0,0);e.f=l;c.c.fromValues(1,1,1);l=c.c.fromValues(Infinity,Infinity,Infinity);e.e=l;c.b.create();var a=[new m.a(1227133513,306783378),new m.a(3272356035,818089008),new m.a(251719695,4027515120),new m.a(4278190335,16711680),new m.a(65535,16711680),new m.a(2097151,0)]},function(m,e,l){function g(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
-return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function f(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function a(a){var b=a.downloadCancellationToken=
-new h.b;a.source.download(a,b).then(function(){a.downloadCancellationToken===b&&(a.downloadCancellationToken=void 0,a.downloadSucceeded())},function(d){a.downloadCancellationToken===b&&(a.downloadCancellationToken=void 0,a.downloadFailed(d),console.log("Error retrieving chunk "+a+": "+d))})}function b(a){return new w(new n.a(a),u.a)}function d(a,b,d,c,h,k){for(;1>b.availableItems||b.availableSize<a;){var r=h.next().value;if(void 0===r)return!1;var n=r.priorityTier;if(n<d||n===d&&r.priority>=c)return!1;
-k(r)}return!0}Object.defineProperty(e,"__esModule",{value:!0});l.d(e,"Chunk",function(){return F});l.d(e,"ChunkSourceBase",function(){return B});l.d(e,"ChunkSource",function(){return H});l.d(e,"ChunkQueueManager",function(){return K});l.d(e,"ChunkManager",function(){return r});e.WithParameters=function(a,b){a=function(a){function b(a){for(var d=[],h=0;h<arguments.length;++h)d[h-0]=arguments[h];c(this,b);var k;h=g(this,(k=b.__proto__||Object.getPrototypeOf(b)).call.apply(k,[].concat([this],$jscomp.arrayFromIterable(d))));
-h.parameters=d[1].parameters;return h}f(b,a);return b}(a);return a=N([Object(I.h)(b.RPC_ID)],a)};e.withChunkManager=function(a){return function(a){function b(a){for(var d=[],h=0;h<arguments.length;++h)d[h-0]=arguments[h];c(this,b);var k;h=g(this,(k=b.__proto__||Object.getPrototypeOf(b)).call.apply(k,[].concat([this],$jscomp.arrayFromIterable(d))));h.chunkManager=d[0].get(d[1].chunkManager);return h}f(b,a);return b}(a)};var q=l(8),h=l(7);m=l(17);var k=l(48),u=l(49),p=l(30),x=l(55),n=l(56),v=l(14),
-I=l(0),t=function(){function a(a,b){for(var d=0;d<b.length;d++){var c=b[d];c.enumerable=c.enumerable||!1;c.configurable=!0;"value"in c&&(c.writable=!0);Object.defineProperty(a,c.key,c)}}return function(b,d,c){d&&a(b.prototype,d);c&&a(b,c);return b}}(),N=this&&this.__decorate||function(a,b,d,c){var h=arguments.length,k=3>h?b:null===c?c=Object.getOwnPropertyDescriptor(b,d):c,r;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)k=Reflect.decorate(a,b,d,c);else for(var n=a.length-1;0<=
-n;n--)if(r=a[n])k=(3>h?r(k):3<h?r(b,d,k):r(b,d))||k;return 3<h&&k&&Object.defineProperty(b,d,k),k},F=function(){function a(){c(this,a);this.key=this.source=this.prev1=this.next1=this.child1=this.prev0=this.next0=this.child0=null;this.state=q.e.NEW;this.error=null;this.newPriority=this.priority=0;this.newPriorityTier=this.priorityTier=q.d.RECENT;this.backendOnly=!1;this.downloadCancellationToken=void 0}t(a,[{key:"initialize",value:function(a){this.key=a;this.state=q.e.NEW;this.priority=Number.NEGATIVE_INFINITY;
-this.priorityTier=q.d.RECENT;this.newPriority=Number.NEGATIVE_INFINITY;this.newPriorityTier=q.d.RECENT;this.error=null}},{key:"updatePriorityProperties",value:function(){this.priorityTier=this.newPriorityTier;this.priority=this.newPriority;this.newPriorityTier=q.d.RECENT;this.newPriority=Number.NEGATIVE_INFINITY}},{key:"dispose",value:function(){this.error=this.source=null}},{key:"downloadFailed",value:function(a){this.error=a;this.queueManager.updateChunkState(this,q.e.FAILED)}},{key:"downloadSucceeded",
-value:function(){this.queueManager.updateChunkState(this,q.e.SYSTEM_MEMORY_WORKER)}},{key:"freeSystemMemory",value:function(){}},{key:"serialize",value:function(a,b){a.id=this.key;a.source=this.source.rpcId;a["new"]=!0}},{key:"toString",value:function(){return this.key}},{key:"chunkManager",get:function(){return this.source.chunkManager}},{key:"queueManager",get:function(){return this.source.chunkManager.queueManager}}],[{key:"priorityLess",value:function(a,b){return a.priority<b.priority}},{key:"priorityGreater",
-value:function(a,b){return a.priority>b.priority}}]);return a}(),B=function(a){function b(a){c(this,b);var d=g(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));d.chunkManager=a;d.chunks=new Map;d.freeChunks=[];return d}f(b,a);t(b,[{key:"getNewChunk_",value:function(a){var b=this.freeChunks,d=b.length;if(0<d)return a=b[d-1],b.length=d-1,a.source=this,a;b=new a;b.source=this;return b}},{key:"addChunk",value:function(a){var b=this.chunks;0===b.size&&this.addRef();b.set(a.key,a)}},{key:"removeChunk",
-value:function(a){var b=this.chunks,d=this.freeChunks;b.delete(a.key);a.dispose();d[d.length]=a;0===b.size&&this.dispose()}}]);return b}(I.b),H=function(a){function b(a,d){c(this,b);var h=a.get(d.chunkManager);h=g(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,h));Object(I.d)(h,a,d);return h}f(b,a);return b}(B),w=function(){function a(b,d){c(this,a);this.heapOperations=b;this.linkedListOperations=d;this.heapRoots=[null,null];this.recentHead=new F;d.initializeHead(this.recentHead)}t(a,[{key:"add",
-value:function(a){var b=a.priorityTier;if(b===q.d.RECENT)this.linkedListOperations.insertAfter(this.recentHead,a);else{var d=this.heapRoots;d[b]=this.heapOperations.meld(d[b],a)}}},{key:"candidates",value:function(){function a(a,y){for(;;)switch(b){case 0:if(e.heapOperations.compare!==F.priorityLess){b=1;break}A=e;I=A.linkedListOperations;g=A.recentHead;case 3:f=I.back(g);if(null!=f){b=5;break}b=4;break;case 5:return b=7,{value:f,done:!1};case 7:if(void 0===y){b=8;break}b=-1;throw y;case 8:case 6:b=
-3;break;case 4:v=e,x=v.heapRoots,w=q.d.LAST_ORDERED_TIER;case 9:if(!(w>=q.d.FIRST_ORDERED_TIER)){b=11;break}case 12:u=x[w];if(null!=u){b=14;break}b=13;break;case 14:return b=16,{value:u,done:!1};case 16:if(void 0===y){b=17;break}b=-1;throw y;case 17:case 15:b=12;break;case 13:case 10:--w;b=9;break;case 11:b=2;break;case 1:p=e.heapRoots,n=q.d.FIRST_ORDERED_TIER;case 18:if(!(n<=q.d.LAST_ORDERED_TIER)){b=20;break}case 21:r=p[n];if(null!=r){b=23;break}b=22;break;case 23:return b=25,{value:r,done:!1};
-case 25:if(void 0===y){b=26;break}b=-1;throw y;case 26:case 24:b=21;break;case 22:case 19:++n;b=18;break;case 20:k=e,h=k.linkedListOperations,c=k.recentHead;case 27:d=h.front(c);if(null!=d){b=29;break}b=28;break;case 29:return b=31,{value:d,done:!1};case 31:if(void 0===y){b=32;break}b=-1;throw y;case 32:case 30:b=27;break;case 28:case 2:b=-1;default:return{value:void 0,done:!0}}}var b=0,d,c,h,k,r,n,p,u,w,x,v,f,g,I,A,e=this,t={next:function(b){return a(b,void 0)},throw:function(b){return a(void 0,
-b)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();t[Symbol.iterator]=function(){return this};return t}},{key:"delete",value:function(a){var b=a.priorityTier;if(b===q.d.RECENT)this.linkedListOperations.pop(a);else{var d=this.heapRoots;d[b]=this.heapOperations.remove(d[b],a)}}}]);return a}(),A=function(a){function b(a,d){c(this,b);var h=g(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));h.itemLimit=a;h.sizeLimit=d;h.currentSize=0;h.currentItems=0;h.capacityChanged=
-new v.a;h.registerDisposer(a.changed.add(h.capacityChanged.dispatch));h.registerDisposer(d.changed.add(h.capacityChanged.dispatch));return h}f(b,a);t(b,[{key:"adjust",value:function(a,b){this.currentItems-=a;this.currentSize-=b}},{key:"availableSize",get:function(){return this.sizeLimit.value-this.currentSize}},{key:"availableItems",get:function(){return this.itemLimit.value-this.currentItems}}]);return b}(m.a),K=function(h){function r(a,d){c(this,r);var h=g(this,(r.__proto__||Object.getPrototypeOf(r)).call(this,
-a,d));h.queuedPromotionQueue=b(F.priorityGreater);h.downloadEvictionQueue=b(F.priorityLess);h.systemMemoryEvictionQueue=new w(new x.a(F.priorityLess),k.a);h.gpuMemoryPromotionQueue=b(F.priorityGreater);h.gpuMemoryEvictionQueue=b(F.priorityLess);h.updatePending=null;h.numQueued=0;h.numFailed=0;var n=function(b){b=h.registerDisposer(new A(a.get(b.itemLimit),a.get(b.sizeLimit)));b.capacityChanged.add(function(){return h.scheduleUpdate()});return b};h.gpuMemoryCapacity=n(d.gpuMemoryCapacity);h.systemMemoryCapacity=
-n(d.systemMemoryCapacity);h.downloadCapacity=n(d.downloadCapacity);return h}f(r,h);t(r,[{key:"scheduleUpdate",value:function(){null===this.updatePending&&(this.updatePending=setTimeout(this.process.bind(this),0))}},{key:"chunkQueuesForChunk",value:function(a){function b(b,r){for(;;)switch(d){case 0:h=!1;c=a.state;if(!h&&c!==q.e.QUEUED){d=2;break}h=!0;d=3;return{value:k.queuedPromotionQueue,done:!1};case 3:if(void 0===r){d=4;break}d=-1;throw r;case 4:d=1;break;case 2:if(!h&&c!==q.e.DOWNLOADING){d=
-5;break}h=!0;d=6;return{value:k.downloadEvictionQueue,done:!1};case 6:if(void 0===r){d=7;break}d=-1;throw r;case 7:return d=8,{value:k.systemMemoryEvictionQueue,done:!1};case 8:if(void 0===r){d=9;break}d=-1;throw r;case 9:d=1;break;case 5:if(h||c===q.e.SYSTEM_MEMORY_WORKER)h=!0;if(!h&&c!==q.e.SYSTEM_MEMORY){d=10;break}h=!0;d=11;return{value:k.systemMemoryEvictionQueue,done:!1};case 11:if(void 0===r){d=12;break}d=-1;throw r;case 12:if(a.priorityTier===q.d.RECENT||a.backendOnly){d=13;break}d=14;return{value:k.gpuMemoryPromotionQueue,
-done:!1};case 14:if(void 0===r){d=15;break}d=-1;throw r;case 15:case 13:d=1;break;case 10:if(!h&&c!==q.e.GPU_MEMORY){d=16;break}h=!0;d=17;return{value:k.systemMemoryEvictionQueue,done:!1};case 17:if(void 0===r){d=18;break}d=-1;throw r;case 18:return d=19,{value:k.gpuMemoryEvictionQueue,done:!1};case 19:if(void 0===r){d=20;break}d=-1;throw r;case 20:d=1;break;case 16:case 1:d=-1;default:return{value:void 0,done:!0}}}var d=0,c,h,k=this,r={next:function(a){return b(a,void 0)},throw:function(a){return b(void 0,
-a)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();r[Symbol.iterator]=function(){return this};return r}},{key:"adjustCapacitiesForChunk",value:function(a,b){b=b?-1:1;switch(a.state){case q.e.FAILED:this.numFailed-=b;break;case q.e.QUEUED:this.numQueued-=b;break;case q.e.DOWNLOADING:this.downloadCapacity.adjust(b,0);this.systemMemoryCapacity.adjust(b,0);break;case q.e.SYSTEM_MEMORY:case q.e.SYSTEM_MEMORY_WORKER:this.systemMemoryCapacity.adjust(b,b*a.systemMemoryBytes);
-break;case q.e.GPU_MEMORY:this.systemMemoryCapacity.adjust(b,b*a.systemMemoryBytes),this.gpuMemoryCapacity.adjust(b,b*a.gpuMemoryBytes)}}},{key:"removeChunkFromQueues_",value:function(a){for(var b=$jscomp.makeIterator(this.chunkQueuesForChunk(a)),d=b.next();!d.done;d=b.next())d.value.delete(a)}},{key:"addChunkToQueues_",value:function(a){if(a.state===q.e.QUEUED&&a.priorityTier===q.d.RECENT)return a.source.removeChunk(a),this.adjustCapacitiesForChunk(a,!1),!1;for(var b=$jscomp.makeIterator(this.chunkQueuesForChunk(a)),
-d=b.next();!d.done;d=b.next())d.value.add(a);return!0}},{key:"performChunkPriorityUpdate",value:function(a){a.priorityTier===a.newPriorityTier&&a.priority===a.newPriority?(a.newPriorityTier=q.d.RECENT,a.newPriority=Number.NEGATIVE_INFINITY):(this.removeChunkFromQueues_(a),a.updatePriorityProperties(),a.state===q.e.NEW&&(a.state=q.e.QUEUED,this.adjustCapacitiesForChunk(a,!0)),this.addChunkToQueues_(a))}},{key:"updateChunkState",value:function(a,b){b!==a.state&&(this.adjustCapacitiesForChunk(a,!1),
-this.removeChunkFromQueues_(a),a.state=b,this.adjustCapacitiesForChunk(a,!0),this.addChunkToQueues_(a),this.scheduleUpdate())}},{key:"processGPUPromotions_",value:function(){function a(a){b.freeChunkGPUMemory(a);a.source.chunkManager.queueManager.updateChunkState(a,q.e.SYSTEM_MEMORY)}for(var b=this,c=this.gpuMemoryPromotionQueue.candidates(),h=this.gpuMemoryEvictionQueue.candidates(),k=this.gpuMemoryCapacity;;){var r=c.next().value;if(void 0===r)break;else{if(!d(r.gpuMemoryBytes,k,r.priorityTier,
-r.priority,h,a))break;this.copyChunkToGPU(r);this.updateChunkState(r,q.e.GPU_MEMORY)}}}},{key:"freeChunkGPUMemory",value:function(a){this.rpc.invoke("Chunk.update",{id:a.key,state:q.e.SYSTEM_MEMORY,source:a.source.rpcId})}},{key:"freeChunkSystemMemory",value:function(a){a.state===q.e.SYSTEM_MEMORY_WORKER?a.freeSystemMemory():this.rpc.invoke("Chunk.update",{id:a.key,state:q.e.EXPIRED,source:a.source.rpcId})}},{key:"copyChunkToGPU",value:function(a){var b=this.rpc;if(a.state===q.e.SYSTEM_MEMORY)b.invoke("Chunk.update",
-{id:a.key,source:a.source.rpcId,state:q.e.GPU_MEMORY});else{var d={},c=[];a.serialize(d,c);d.state=q.e.GPU_MEMORY;b.invoke("Chunk.update",d,c)}}},{key:"processQueuePromotions_",value:function(){for(var b=this,c=this,h=function(a){switch(a.state){case q.e.DOWNLOADING:var d=a.downloadCancellationToken;a.downloadCancellationToken=void 0;d.cancel();break;case q.e.GPU_MEMORY:c.freeChunkGPUMemory(a);case q.e.SYSTEM_MEMORY_WORKER:case q.e.SYSTEM_MEMORY:c.freeChunkSystemMemory(a)}b.updateChunkState(a,q.e.QUEUED)},
-r=this.queuedPromotionQueue.candidates(),k=this.downloadEvictionQueue.candidates(),n=this.systemMemoryEvictionQueue.candidates(),p=this.downloadCapacity,u=this.systemMemoryCapacity;;){var w=r.next();if(w.done)break;w=w.value;var x=w.priorityTier,v=w.priority;if(!d(0,p,x,v,k,h))break;if(!d(0,u,x,v,n,h))break;this.updateChunkState(w,q.e.DOWNLOADING);a(w)}}},{key:"process",value:function(){this.updatePending&&(this.updatePending=null,this.processGPUPromotions_(),this.processQueuePromotions_(),this.logStatistics())}},
-{key:"logStatistics",value:function(){}},{key:"invalidateSourceCache",value:function(a){for(var b=$jscomp.makeIterator(a.chunks.values()),d=b.next();!d.done;d=b.next()){d=d.value;switch(d.state){case q.e.DOWNLOADING:var c=d.downloadCancellationToken;d.downloadCancellationToken=void 0;c.cancel();break;case q.e.SYSTEM_MEMORY_WORKER:d.freeSystemMemory()}this.updateChunkState(d,q.e.QUEUED)}this.rpc.invoke("Chunk.update",{source:a.rpcId});this.scheduleUpdate()}}]);return r}(I.c);K=N([Object(I.g)(q.b)],
-K);var r=function(a){function b(a,d){c(this,b);var h=g(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a,d));h.existingTierChunks=[];h.newTierChunks=[];h.updatePending=null;h.recomputeChunkPriorities=new v.a;h.recomputeChunkPrioritiesLate=new v.a;h.memoize=new p.a;h.queueManager=a.get(d.chunkQueueManager).addRef();for(a=q.d.FIRST_TIER;a<=q.d.LAST_TIER;++a)a!==q.d.RECENT&&(h.existingTierChunks[a]=[]);return h}f(b,a);t(b,[{key:"scheduleUpdateChunkPriorities",value:function(){null===this.updatePending&&
-(this.updatePending=setTimeout(this.recomputeChunkPriorities_.bind(this),0))}},{key:"recomputeChunkPriorities_",value:function(){this.updatePending=null;this.recomputeChunkPriorities.dispatch();this.recomputeChunkPrioritiesLate.dispatch();this.updateQueueState([q.d.VISIBLE])}},{key:"requestChunk",value:function(a,b,d){a.newPriorityTier===q.d.RECENT&&this.newTierChunks.push(a);a.newPriorityTier=b;a.newPriority=d}},{key:"updateQueueState",value:function(a){var b=this.existingTierChunks,d=this.queueManager;
-a=$jscomp.makeIterator(a);for(var c=a.next();!c.done;c=a.next()){var h=b[c.value],r=$jscomp.makeIterator(h);for(c=r.next();!c.done;c=r.next())c=c.value,c.newPriorityTier===q.d.RECENT&&d.performChunkPriorityUpdate(c);h.length=0}a=this.newTierChunks;h=$jscomp.makeIterator(a);for(c=h.next();!c.done;c=h.next())c=c.value,d.performChunkPriorityUpdate(c),b[c.priorityTier].push(c);a.length=0;this.queueManager.scheduleUpdate()}}]);return b}(I.c);r=N([Object(I.g)(q.a)],r);Object(I.f)(q.c,function(a){a=this.get(a.id);
-a.chunkManager.queueManager.invalidateSourceCache(a)})},function(m,e,l){l.d(e,"a",function(){return g});e.b=1E-6;var g="undefined"!==typeof Float32Array?Float32Array:Array;e.c=Math.random},function(m,e,l){m="undefined"!==typeof Uint8Array&&"undefined"!==typeof Uint16Array&&"undefined"!==typeof Int32Array;e.assign=function(c){for(var a=Array.prototype.slice.call(arguments,1);a.length;){var b=a.shift();if(b){if("object"!==typeof b)throw new TypeError(b+"must be non-object");for(var d in b)Object.prototype.hasOwnProperty.call(b,
-d)&&(c[d]=b[d])}}return c};e.shrinkBuf=function(c,a){if(c.length===a)return c;if(c.subarray)return c.subarray(0,a);c.length=a;return c};var g={arraySet:function(c,a,b,d,q){if(a.subarray&&c.subarray)c.set(a.subarray(b,b+d),q);else for(var h=0;h<d;h++)c[q+h]=a[b+h]},flattenChunks:function(c){var a,b;var d=b=0;for(a=c.length;d<a;d++)b+=c[d].length;var q=new Uint8Array(b);d=b=0;for(a=c.length;d<a;d++){var h=c[d];q.set(h,b);b+=h.length}return q}},f={arraySet:function(c,a,b,d,q){for(var h=0;h<d;h++)c[q+
-h]=a[b+h]},flattenChunks:function(c){return[].concat.apply([],c)}};e.setTyped=function(c){c?(e.Buf8=Uint8Array,e.Buf16=Uint16Array,e.Buf32=Int32Array,e.assign(e,g)):(e.Buf8=Array,e.Buf16=Array,e.Buf32=Array,e.assign(e,f))};e.setTyped(m)},function(m,e,l){function g(a){if("object"===typeof a){if(null===a)return"null";if(Array.isArray(a)){var b="[",d=a.length,c=0;if(c<d)for(b+=g(a[c]);++c<d;)b+=",",b+=g(a[c]);return b+"]"}b="{";d=Object.keys(a).sort();c=0;var u=d.length;if(c<u){var p=d[c];b+=JSON.stringify(p);
-for(b=b+":"+g(a[p]);++c<u;)b+=",",p=d[c],b+=JSON.stringify(p),b+=":",b+=g(a[p])}return b+"}"}return JSON.stringify(a)}function f(d){for(var c="";0<d.length;){var h=d.match(a);if(null===h){var k=d;h=d=""}else{k=d.substr(0,h.index);d=d.substr(h.index+h[0].length);var u=h[1];if(void 0!==u){if(h=u,2<=h.length&&"'"===h.charAt(0)&&"'"===h.charAt(h.length-1)){h=h.substr(1,h.length-2);for(u='"';0<h.length;){var p=h.match(b);if(null===p){u+=h;break}u+=p[1];u+="\\";u+='"';h=h.substr(p.index+p[0].length)}h=
-u+'"'}}else h=h[2]}c+=k.replace(/\(/g,"[").replace(/\)/g,"]").replace("True","true").replace("False","false").replace(/,\s*([\}\]])/g,"$1");c+=h}return c}e.c=g;e.b=function(a){return JSON.parse(f(a))};e.a=function(a,b){if(!Array.isArray(a))throw Error("Expected array, but received: "+JSON.stringify(a)+".");return a.map(b)};e.e=function(a){if("object"!==typeof a||null==a||Array.isArray(a))throw Error("Expected JSON object, but received: "+JSON.stringify(a)+".");return a};e.g=function(a){if("string"!==
-typeof a)throw Error("Expected string, but received: "+JSON.stringify(a)+".");return a};e.f=function(a,b,c){a=a.hasOwnProperty(b)?a[b]:void 0;try{return c(a)}catch(k){throw Error("Error parsing "+JSON.stringify(b)+" property: "+k.message);}};e.d=function(a){var b=c.l.create(),d=b.length;if(!Array.isArray(a)||a.length!==d)throw Error("Expected length "+d+" array, but received: "+JSON.stringify(a)+".");for(var k=0;k<d;++k){var u=b,p=k;var x=a[k];b:{var n=typeof x;if("number"===n||"string"===n)if(n=
-parseFloat(""+x),!Number.isNaN(n)){x=n;break b}throw Error("Expected floating-point number, but received: "+JSON.stringify(x)+".");}if(!Number.isFinite(x))throw Error("Expected finite floating-point number, but received: "+x+".");u[p]=x}return b};e.h=function(a){if(!Array.isArray(a))throw Error("Expected array, received: "+JSON.stringify(a)+".");for(var b=$jscomp.makeIterator(a),d=b.next();!d.done;d=b.next())if(d=d.value,"string"!==typeof d)throw Error("Expected string, received: "+JSON.stringify(d)+
-".");return a};var c=l(1),a=new RegExp(/('(?:[^'\\]|(?:\\.))*')/.source+"|"+/("(?:[^'\\]|(?:\\.))*")/.source),b=/^((?:[^"'\\]|(?:\\.))*)"/},function(m,e,l){l.d(e,"a",function(){return q});var g=function(){function a(a,b){for(var d=0;d<b.length;d++){var c=b[d];c.enumerable=c.enumerable||!1;c.configurable=!0;"value"in c&&(c.writable=!0);Object.defineProperty(a,c.key,c)}}return function(b,d,c){d&&a(b.prototype,d);c&&a(b,c);return b}}(),f=new Uint32Array(2),c=[];for(m=2;36>=m;++m){e=Math.floor(32/Math.log2(m));
-l=Math.pow(m,e);var a=Math.floor(e/2),b=Math.pow(m,a);a=Math.pow(m,e-a);var d="^[0-"+String.fromCharCode(48+Math.min(9,m-1));10<m&&(d+="a-"+String.fromCharCode(97+m-11),d+="A-"+String.fromCharCode(65+m-11));d+="]{1,"+Math.ceil(64/Math.log2(m))+"}$";c[m]={lowDigits:e,lowBase:l,lowBase1:b,lowBase2:a,pattern:new RegExp(d)}}var q=function(){function a(b,d){b=void 0===b?0:b;d=void 0===d?0:d;if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");this.low=b;this.high=d}g(a,[{key:"clone",
-value:function(){return new a(this.low,this.high)}},{key:"assign",value:function(a){this.low=a.low;this.high=a.high}},{key:"toString",value:function(a){a=void 0===a?10:a;var b=this.low,d=this.high;if(0===d)return b.toString(a);d*=4294967296;var h=c[a],k=h.lowBase;h=h.lowDigits;var q=d%k;d=Math.floor(d/k);b+=q;d+=Math.floor(b/k);b=(b%k).toString(a);return d.toString(a)+"0".repeat(h-b.length)+b}},{key:"tryParseString",value:function(a,b){b=void 0===b?10:b;var d=c[b],h=d.lowDigits,k=d.lowBase,u=d.lowBase1,
-q=d.lowBase2;if(!d.pattern.test(a))return!1;if(a.length<=h)return this.low=parseInt(a,b),this.high=0,!0;h=a.length-h;d=parseInt(a.substr(h),b);a=parseInt(a.substr(0,h),b);k=Math.floor(a*k/4294967296);u=d+a%4294967296*u%4294967296*q%4294967296;4294967296<u&&(++k,u-=4294967296);if(u>>>0!==u||k>>>0!==k)return!1;this.low=u;this.high=k;return!0}},{key:"parseString",value:function(a,b){if(!this.tryParseString(a,void 0===b?10:b))throw Error("Failed to parse string as uint64 value: "+JSON.stringify(a)+".");
-return this}},{key:"valid",value:function(){var a=this.low,b=this.high;return a>>>0===a&&b>>>0===b}},{key:"toJSON",value:function(){return this.toString()}},{key:"lshift",value:function(b){b&=63;if(0==b)return this.clone();var d=this.low,c=this.high;return 32>b?new a(d<<b,c<<b|d>>>32-b):new a(0,d<<b-32)}},{key:"rshift",value:function(b){b&=63;if(0==b)return this.clone();var d=this.low,c=this.high;return 32>b?new a(d>>>b|c<<32-b,c>>b):new a(c>>b-32,0<=c?0:-1)}},{key:"or",value:function(b){return new a(this.low|
-b.low,this.high|b.high)}},{key:"xor",value:function(b){return new a(this.low^b.low,this.high^b.high)}},{key:"and",value:function(b){return new a(this.low&b.low,this.high&b.high)}}],[{key:"less",value:function(a,b){return a.high<b.high||a.high===b.high&&a.low<b.low}},{key:"compare",value:function(a,b){return a.high-b.high||a.low-b.low}},{key:"equal",value:function(a,b){return a.low===b.low&&a.high===b.high}},{key:"min",value:function(b,d){return a.less(b,d)?b:d}},{key:"random",value:function(){crypto.getRandomValues(f);
-return new a(f[0],f[1])}},{key:"parseString",value:function(b,d){d=void 0===d?10:d;return(new a).parseString(b,d)}}]);return a}();q.ZERO=new q(0,0)},function(m,e,l){function g(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function f(a,b){if(!(a instanceof
-b))throw new TypeError("Cannot call a class as a function");}l.d(e,"b",function(){return d});l.d(e,"c",function(){return q});e.d=function(a,c){return new Promise(function(h,k){if(a===b)c(h,k,b);else{var p=new d,n=a.add(function(){p.cancel()});c(function(a){n();h(a)},function(a){n();k(a)},p)}})};var c=function(){function a(a,b){for(var d=0;d<b.length;d++){var c=b[d];c.enumerable=c.enumerable||!1;c.configurable=!0;"value"in c&&(c.writable=!0);Object.defineProperty(a,c.key,c)}}return function(b,d,c){d&&
-a(b.prototype,d);c&&a(b,c);return b}}();m=new (function(){function a(){f(this,a);this.name="CancellationError";this.message="CANCELED"}c(a,[{key:"toString",value:function(){return"CANCELED"}}]);return a}());e.a=m;var a=function(){},b={isCanceled:!1,add:function(){return a},remove:a};e.e=b;var d=function(){function b(){f(this,b)}c(b,[{key:"cancel",value:function(){var a=this.handlers;if(null!==a&&(this.handlers=null,void 0!==a)){a=$jscomp.makeIterator(a);for(var b=a.next();!b.done;b=a.next())b=b.value,
-b()}}},{key:"add",value:function(b){var d=this,c=this.handlers;if(null===c)return b(),a;void 0===c&&(c=this.handlers=new Set);c.add(b);return function(){d.remove(b)}}},{key:"remove",value:function(a){var b=this.handlers;null!=b&&b.delete(a)}},{key:"isCanceled",get:function(){return null===this.handlers}}]);return b}(),q=function(a){function d(){f(this,d);var a=(d.__proto__||Object.getPrototypeOf(d)).apply(this,arguments);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
-a=!a||"object"!==typeof a&&"function"!==typeof a?this:a;a.consumers=new Set;return a}g(d,a);c(d,[{key:"addConsumer",value:function(a){var d=this;a=void 0===a?b:a;var c=this.consumers;c.has(a)||a.isCanceled||(c.add(a),a.add(function(){c.delete(a);0===c.size&&d.cancel()}))}}]);return d}(d)},function(m,e,l){l.d(e,"e",function(){return g});l.d(e,"d",function(){return f});var g;(function(c){c[c.GPU_MEMORY=0]="GPU_MEMORY";c[c.SYSTEM_MEMORY=1]="SYSTEM_MEMORY";c[c.SYSTEM_MEMORY_WORKER=2]="SYSTEM_MEMORY_WORKER";
-c[c.DOWNLOADING=3]="DOWNLOADING";c[c.QUEUED=4]="QUEUED";c[c.NEW=5]="NEW";c[c.FAILED=6]="FAILED";c[c.EXPIRED=7]="EXPIRED"})(g||(g={}));var f;(function(c){c[c.FIRST_TIER=0]="FIRST_TIER";c[c.FIRST_ORDERED_TIER=0]="FIRST_ORDERED_TIER";c[c.VISIBLE=0]="VISIBLE";c[c.PREFETCH=1]="PREFETCH";c[c.LAST_ORDERED_TIER=1]="LAST_ORDERED_TIER";c[c.RECENT=2]="RECENT";c[c.LAST_TIER=2]="LAST_TIER"})(f||(f={}));e.f=1E13;e.b="ChunkQueueManager";e.a="ChunkManager";e.c="ChunkSource.invalidate"},function(m,e,l){function g(a,
-b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function f(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a,b,d){for(var c=0;3>c;++c)a[c]=Number.POSITIVE_INFINITY,b[c]=Number.NEGATIVE_INFINITY;d=$jscomp.makeIterator(d);
-for(c=d.next();!c.done;c=d.next()){var h=c.value.spec;c=h.lowerChunkBound;h=h.upperChunkBound;for(var r=0;3>r;++r)a[r]=Math.min(a[r],c[r]),b[r]=Math.max(b[r],h[r])}}function a(a,b,d,c){for(var h=v.FULLY_INSIDE,r=0;3>r;++r){var n=a[r];var k=b[r],w=d[r],p=c[r];n=n>=p||k<=w?v.FULLY_OUTSIDE:n>=w&&k<=p?v.FULLY_INSIDE:v.PARTIALLY_INSIDE;switch(n){case v.FULLY_OUTSIDE:return n;case v.PARTIALLY_INSIDE:h=n}}return h}function b(a,b){var d=b.length,c=0;if(1<d)for(var h=0,r=0;r<d;++r){var k=b[r].spec.chunkLayout;
-var p=k.size;k=k.globalToLocalSpatialVector(n,a);for(var u=0,q=0,x=1,v=0;3>v;++v){var f=p[v];x*=f;f*=k[v];u=Math.min(u,f);q=Math.max(q,f)}p=x/(q-u);p>h&&(h=p,c=r)}return b[c]}function d(a){var b=a.voxelSize,d=void 0===a.lowerVoxelBound?p.f:a.lowerVoxelBound,c=a.upperVoxelBound,h=void 0===a.maxVoxelsPerChunkLog2?18:a.maxVoxelsPerChunkLog2;a=void 0===a.transform?p.c:a.transform;a=Object(p.b)(p.l.create(),a);b=p.l.multiply(a,a,b);a=p.l.fromValues(1,1,1);if(void 0===c)var r=p.e;else{r=p.l.create();for(var n=
-0;3>n;++n)r[n]=Math.pow(2,Math.floor(Math.log2(c[n]-d[n])))}for(d=0;d<h;++d){c=Infinity;n=-1;for(var k=0;3>k;++k)if(!(a[k]>=r[k])){var u=a[k]*b[k];u<c&&(c=u,n=k)}c=n;if(-1===c)break;a[c]*=2}return a}l.d(e,"c",function(){return t});e.g=d;e.f=function(a,b){b=b.transform;return void 0===b?void 0===a?p.c:a:void 0===a?b:p.g.multiply(p.g.create(),b,a)};e.e=function(a){if(void 0!==a.chunkDataSizes)return a.chunkDataSizes;var b=void 0===a.chunkLayoutPreference?N.ISOTROPIC:a.chunkLayoutPreference;switch(b){case N.ISOTROPIC:return[d(a)];
-case N.FLAT:b=[];for(var c=0;3>c;++c){var h=c;var k=a.lowerVoxelBound;var r=a.upperVoxelBound,u=c,q=a.voxelSize,x=a.maxVoxelsPerChunkLog2,v=a.transform;p.l.subtract(n,void 0===r?p.e:r,void 0===k?p.f:k);n[u]=1;k=d({voxelSize:q,upperVoxelBound:n,maxVoxelsPerChunkLog2:x,transform:v});b[h]=k}b.push(d(a));return b}throw Error("Invalid chunk layout preference: "+b+".");};l.d(e,"d",function(){return F});var q=l(57),h=l(18),k=l(58),u=l(10),p=l(1);m=l(0);l.d(e,"a",function(){return u.b});var x=function(){function a(a,
-b){for(var d=0;d<b.length;d++){var c=b[d];c.enumerable=c.enumerable||!1;c.configurable=!0;"value"in c&&(c.writable=!0);Object.defineProperty(a,c.key,c)}}return function(b,d,c){d&&a(b.prototype,d);c&&a(b,c);return b}}(),n=p.l.create(),v;(function(a){a[a.FULLY_OUTSIDE=0]="FULLY_OUTSIDE";a[a.FULLY_INSIDE=1]="FULLY_INSIDE";a[a.PARTIALLY_INSIDE=2]="PARTIALLY_INSIDE"})(v||(v={}));var I=[p.l.create(),p.l.create(),p.l.create(),p.l.create()],t=function(d){function u(){g(this,u);var a=(u.__proto__||Object.getPrototypeOf(u)).call(this);
-if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");a=!a||"object"!==typeof a&&"function"!==typeof a?this:a;a.width=-1;a.height=-1;a.hasViewportToData=!1;a.hasValidViewport=!1;a.viewportToData=p.g.create();a.viewportAxes=[p.l.create(),p.l.create(),p.l.create()];a.previousViewportAxes=[p.l.create(),p.l.create()];a.centerDataPosition=p.l.create();a.viewportPlaneDistanceToOrigin=0;a.visibleChunkLayouts=new Map;a.visibleLayers=new Map;a.visibleSourcesStale=!0;
-a.pixelSize=0;p.g.identity(a.viewportToData);return a}f(u,d);x(u,[{key:"onViewportChanged",value:function(){}},{key:"maybeSetHasValidViewport",value:function(){!this.hasValidViewport&&-1!==this.width&&-1!==this.height&&this.hasViewportToData&&(this.hasValidViewport=!0,this.onHasValidViewport());if(this.hasValidViewport)this.onViewportChanged()}},{key:"onHasValidViewport",value:function(){}},{key:"setViewportSize",value:function(a,b){return a!==this.width||b!==this.height?(this.width=a,this.height=
-b,this.maybeSetHasValidViewport(),!0):!1}},{key:"setViewportToDataMatrix",value:function(a){if(this.hasViewportToData&&p.g.equals(this.viewportToData,a))return!1;this.hasViewportToData=!0;var b=this.viewportToData;p.g.copy(b,a);Object(p.j)(b);p.l.transformMat4(this.centerDataPosition,p.f,a);a=0;for(var d=this.viewportAxes,c=this.previousViewportAxes,h=0;3>h;++h){var n=d[h];Object(p.k)(n,p.d[h],b);0===h&&(a=p.l.length(n));p.l.normalize(n,n)}this.viewportAxes=d;this.previousViewportAxes=c;if(!Object(k.a)(a,
-this.pixelSize)||.95>p.l.dot(d[0],c[0])||.95>p.l.dot(d[1],c[1]))p.l.copy(c[0],d[0]),p.l.copy(c[1],d[1]),this.visibleSourcesStale=!0,this.pixelSize=a;this.viewportPlaneDistanceToOrigin=p.l.dot(this.centerDataPosition,this.viewportAxes[2]);this.onViewportToDataMatrixChanged();this.maybeSetHasValidViewport();return!0}},{key:"onViewportToDataMatrixChanged",value:function(){}},{key:"updateVisibleSources",value:function(){if(this.visibleSourcesStale){this.visibleSourcesStale=!1;var a=1.1*this.pixelSize,
-d=this.visibleChunkLayouts,c=this.viewportAxes[2],h=this.visibleLayers;d.clear();var n={};h=$jscomp.makeIterator(h);for(var k=h.next();!k.done;n={smallestVoxelSize:n.smallestVoxelSize,visibleSources:n.visibleSources},k=h.next()){k=$jscomp.makeIterator(k.value);var p=k.next().value;n.visibleSources=k.next().value;n.visibleSources.length=0;k=p.sources;var u=k.length;p=void 0;n.smallestVoxelSize=k[0][0].spec.voxelSize;var q=function(b){return function(d){for(var c=0;3>c;++c){var h=d[c];if(h>a&&h>b.smallestVoxelSize[c])return!0}return!1}}(n),
-x=function(a){return function(b,c){a.visibleSources[a.visibleSources.length++]=b;var h=b.spec.chunkLayout,r=d.get(h);void 0===r&&(r=new Map,d.set(h,r));r.set(b,c)}}(n);for(p=u-1;;){u=b(c,k[p]);x(u,p);if(0===p||!q(u.spec.voxelSize))break;--p}n.visibleSources.reverse()}}}},{key:"computeVisibleChunks",value:function(b,d){var k=this;this.updateVisibleSources();for(var r=this.width,u=this.height,w=this.viewportToData,q=0;3>q;++q)I[0][q]=-p.d[0][q]*r/2-p.d[1][q]*u/2,I[1][q]=-p.d[0][q]*r/2+p.d[1][q]*u/2,
-I[2][q]=p.d[0][q]*r/2-p.d[1][q]*u/2,I[3][q]=p.d[0][q]*r/2+p.d[1][q]*u/2;for(r=0;4>r;++r)p.l.transformMat4(I[r],I[r],w);var x=p.l.create(),f=p.l.create(),g=p.l.create(),e=p.l.create(),A=p.l.create(),t=p.l.create(),y=[],l=[];this.visibleChunkLayouts.forEach(function(r,u){function q(){for(var a=0,b=0,d=0;3>d;++d){var c=t[d],h=x[d],r=f[d]-h,n=A[d]*r;a+=c*(h+n);b+=c*(h+r-n)}return a<B?!1:b<=B}function w(b){function c(){K=Object(h.b)(y,0,I,function(b){var d=b.spec;switch(a(x,f,d.lowerChunkBound,d.upperChunkBound)){case v.PARTIALLY_INSIDE:return!0;
-case v.FULLY_INSIDE:l.push(b);default:return!1}})}if(0!==l.length||0!==K){for(var r=1,n=0;3>n;++n)r*=Math.max(0,f[n]-x[n]);if(0!==r&&q())if(1===r)d(u,G,x,l);else{for(var k;;)if(r=x[b],n=f[b],k=n-r,1===k)b=(b+1)%3;else break;k=r+Math.floor(.5*k);var p=(b+1)%3,g=l.length;f[b]=k;var I=K;c();w(p);l.length=g;K=I;f[b]=n;x[b]=k;c();w(p);x[b]=r;l.length=g;K=I}}}var G=b(u);c(g,e,r.keys());p.l.set(x,Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY);p.l.set(f,Number.NEGATIVE_INFINITY,
-Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY);u.globalToLocalSpatialVector(t,k.viewportAxes[2]);for(var z=0;3>z;++z)A[z]=0<t[z]?1:0;var B=p.l.dot(u.globalToLocalGrid(n,k.centerDataPosition),t);for(z=0;4>z;++z)for(var N=u.globalToLocalGrid(n,I[z]),H=0;3>H;++H)x[H]=Math.min(x[H],Math.floor(N[H])),f[H]=Math.max(f[H],Math.floor(N[H])+1);p.l.max(x,x,g);p.l.min(f,f,e);l.length=0;y.length=0;r=$jscomp.makeIterator(r.keys());for(z=r.next();!z.done;z=r.next())switch(z=z.value,N=z.spec,a(x,f,N.lowerChunkBound,
-N.upperChunkBound)){case v.FULLY_INSIDE:l.push(z);break;case v.PARTIALLY_INSIDE:y.push(z)}var K=y.length;w(0)})}}]);return u}(m.b),N;(function(a){a[a.ISOTROPIC=0]="ISOTROPIC";a[a.FLAT=1]="FLAT"})(N||(N={}));var F=function H(a){g(this,H);var b=void 0===a.lowerVoxelBound?p.f:a.lowerVoxelBound,d=a.upperVoxelBound,c=a.chunkDataSize,h=a.voxelSize,n=a.transform,k=void 0===a.baseVoxelOffset?p.f:a.baseVoxelOffset,u=void 0===a.lowerClipBound?p.l.multiply(p.l.create(),h,b):a.lowerClipBound,w=void 0===a.upperClipBound?
-p.l.multiply(p.l.create(),h,d):a.upperClipBound;this.voxelSize=h;this.chunkDataSize=c;this.chunkLayout=q.a.get(p.l.multiply(p.l.create(),a.chunkDataSize,h),n);this.lowerClipBound=u;this.upperClipBound=w;this.lowerVoxelBound=b;this.upperVoxelBound=d;this.baseVoxelOffset=k;a=this.lowerChunkBound=p.l.create();h=this.upperChunkBound=p.l.create();for(n=0;3>n;++n)a[n]=Math.floor(b[n]/c[n]),h[n]=Math.floor((d[n]-1)/c[n]+1)};e.b="SliceView"},function(m,e,l){l.d(e,"b",function(){return g});var g;(function(f){f[f.UINT8=
-0]="UINT8";f[f.UINT16=1]="UINT16";f[f.UINT32=2]="UINT32";f[f.UINT64=3]="UINT64";f[f.FLOAT32=4]="FLOAT32"})(g||(g={}));m=[];e.a=m;m[g.UINT8]=1;m[g.UINT16]=2;m[g.UINT32]=4;m[g.UINT64]=8;m[g.FLOAT32]=4},function(m,e,l){function g(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,
-b):a.__proto__=b)}l.d(e,"a",function(){return q});e.b=function(a,c){c=void 0===c?"GET":c;var h=new XMLHttpRequest;h[d]=c;h[b]=a;h.open(c,a);return h};e.c=function(a,k,u){u=void 0===u?"GET":u;var h=new XMLHttpRequest;if(Array.isArray(a)){var q=a.length;q=1===q?0:Math.abs(Object(c.a)(k))%q;a=a[q]+k}else a+=k;h[d]=u;h[b]=a;h.open(u,a);return h};e.e=function(a,b,d){d=void 0===d?f.e:d;a.responseType=b;return new Promise(function(b,c){var h=function(){a.abort()};d.add(h);a.onloadend=function(){var n=this.status;
-d.remove(h);200<=n&&300>n?b(this.response):c(q.fromXhr(a))};a.send()})};e.d=function(a,b,d,c){c=void 0===c?f.e:c;a.responseType=d;a.setRequestHeader("Content-Type","application/json");return new Promise(function(d,h){var n=function(){a.abort()};c.add(n);a.onloadend=function(){var b=this.status;c.remove(n);200<=b&&300>b?d(this.response):h(q.fromXhr(a))};a.send(JSON.stringify(b))})};var f=l(7),c=l(66),a=function(){function a(a,b){for(var d=0;d<b.length;d++){var c=b[d];c.enumerable=c.enumerable||!1;
-c.configurable=!0;"value"in c&&(c.writable=!0);Object.defineProperty(a,c.key,c)}}return function(b,d,c){d&&a(b.prototype,d);c&&a(b,c);return b}}();$jscomp.initSymbol();var b=Symbol("url");$jscomp.initSymbol();var d=Symbol("method"),q=function(c){function h(a,b,d,c){if(!(this instanceof h))throw new TypeError("Cannot call a class as a function");var n=a+" "+JSON.stringify(b)+" resulted in HTTP error "+d;c&&(n+=": "+c);n+=".";var k=(h.__proto__||Object.getPrototypeOf(h)).call(this,n);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
-k=!k||"object"!==typeof k&&"function"!==typeof k?this:k;k.name="HttpError";k.message=n;k.method=a;k.url=b;k.code=d;k.statusMessage=c;return k}g(h,c);a(h,null,[{key:"fromXhr",value:function(a){return new h(a[d],a[b],a.status,a.statusText)}}]);return h}(Error)},function(m,e,l){l.d(e,"b",function(){return g});e.c=function(c,a,b){b=void 0===b?f:b;if(a!==b)for(c=new Uint8Array(c.buffer,c.byteOffset,c.byteLength),a=0,b=c.length;a<b;a+=2){var d=c[a];c[a]=c[a+1];c[a+1]=d}};e.d=function(c,a,b){b=void 0===
-b?f:b;if(a!==b)for(c=new Uint8Array(c.buffer,c.byteOffset,c.byteLength),a=0,b=c.length;a<b;a+=4){var d=c[a];c[a]=c[a+3];c[a+3]=d;d=c[a+1];c[a+1]=c[a+2];c[a+2]=d}};var g;(function(c){c[c.LITTLE=0]="LITTLE";c[c.BIG=1]="BIG"})(g||(g={}));var f=function(){var c=Uint16Array.of(4386);return 17===(new Uint8Array(c.buffer))[0]?g.BIG:g.LITTLE}();e.a=f},function(m,e,l){function g(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function f(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
-return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function c(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}l.d(e,"a",function(){return k});m=l(22);var a=l(36),b=l(1);l=l(0);var d=function(){function a(a,b){for(var d=0;d<b.length;d++){var c=
-b[d];c.enumerable=c.enumerable||!1;c.configurable=!0;"value"in c&&(c.writable=!0);Object.defineProperty(a,c.key,c)}}return function(b,d,c){d&&a(b.prototype,d);c&&a(b,c);return b}}(),q=function p(a,b,d){null===a&&(a=Function.prototype);var c=Object.getOwnPropertyDescriptor(a,b);if(void 0===c){if(a=Object.getPrototypeOf(a),null!==a)return p(a,b,d)}else{if("value"in c)return c.value;b=c.get;return void 0===b?void 0:b.call(d)}};e=this&&this.__decorate||function(a,b,d,c){var h=arguments.length,n=3>h?b:
-null===c?c=Object.getOwnPropertyDescriptor(b,d):c,k;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)n=Reflect.decorate(a,b,d,c);else for(var q=a.length-1;0<=q;q--)if(k=a[q])n=(3>h?k(n):3<h?k(b,d,n):k(b,d))||n;return 3<h&&n&&Object.defineProperty(b,d,n),n};var h=function(a){function b(){g(this,b);var a=f(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));a.source=null;return a}c(b,a);d(b,[{key:"initializeVolumeChunk",value:function(a,d){q(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),
-"initializeVolumeChunk",this).call(this,a,d);a=this.source;this.gpuMemoryBytes=this.systemMemoryBytes=a.spec.chunkBytes;this.data=null}},{key:"serialize",value:function(a,d){q(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"serialize",this).call(this,a,d);a=a.data=this.data;d.push(a.buffer);this.data=null}},{key:"downloadSucceeded",value:function(){this.systemMemoryBytes=this.gpuMemoryBytes=this.data.byteLength;q(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"downloadSucceeded",
-this).call(this)}},{key:"freeSystemMemory",value:function(){this.data=null}}]);return b}(m.SliceViewChunk),k=function(k){function q(b,d){g(this,q);b=f(this,(q.__proto__||Object.getPrototypeOf(q)).call(this,b,d));b.spec=a.c.fromObject(d.spec);return b}c(q,k);d(q,[{key:"getChunk",value:function(a){var d=Object(b.m)(a),c=this.chunks.get(d);void 0===c&&(c=this.getNewChunk_(h),c.initializeVolumeChunk(d,a),this.addChunk(c));return c}}]);return q}(m.SliceViewChunkSource);m=function(a){function b(){g(this,
-b);return f(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}c(b,a);return b}(m.RenderLayer);m=e([Object(l.g)(a.b)],m)},function(m,e,l){function g(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function f(a,b){if(!(a instanceof
-b))throw new TypeError("Cannot call a class as a function");}l.d(e,"b",function(){return a});l.d(e,"a",function(){return b});var c=function(){function a(a,b){for(var d=0;d<b.length;d++){var c=b[d];c.enumerable=c.enumerable||!1;c.configurable=!0;"value"in c&&(c.writable=!0);Object.defineProperty(a,c.key,c)}}return function(b,d,c){d&&a(b.prototype,d);c&&a(b,c);return b}}(),a=function(){function a(){f(this,a);this.handlers=new Set;this.count=0;var b=this;this.dispatch=function(){var a=this,d=arguments;
-++b.count;b.handlers.forEach(function(b){b.apply(a,d)})}}c(a,[{key:"add",value:function(a){var b=this;this.handlers.add(a);return function(){return b.remove(a)}}},{key:"remove",value:function(a){return this.handlers.delete(a)}},{key:"dispose",value:function(){this.handlers=void 0}}]);return a}(),b=function(a){function b(){f(this,b);var a=(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!a||
-"object"!==typeof a&&"function"!==typeof a?this:a}g(b,a);return b}(a)},function(m,e,l){function g(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function f(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&
-(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}e.c=function(a){return function(a){function b(a){for(var d=[],c=0;c<arguments.length;++c)d[c-0]=arguments[c];if(!(this instanceof b))throw new TypeError("Cannot call a class as a function");var q,p=g(this,(q=b.__proto__||Object.getPrototypeOf(b)).call.apply(q,[].concat([this],$jscomp.arrayFromIterable(d))));p.visibility=d[0].get(d[1].visibility);p.registerDisposer(p.visibility.changed.add(function(){return p.chunkManager.scheduleUpdateChunkPriorities()}));
-return p}f(b,a);return b}(a)};e.b=function(a){return a===Number.POSITIVE_INFINITY?c.d.VISIBLE:c.d.PREFETCH};e.a=function(a){return a===Number.POSITIVE_INFINITY?0:a*c.f};l(59);var c=l(8)},function(m,e,l){e.a=function(c,a){Object(g.a)(c,Object(f.a)(new Uint8Array(a),c.chunkDataSize,c.source.spec.numChannels))};var g=l(25),f=l(79)},function(m,e,l){function g(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&
-b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function f(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function c(a,b,d,c){a.addEventListener(b,d,c);return function(){return a.removeEventListener(b,d,c)}}l.d(e,"a",function(){return b});l.d(e,"b",function(){return d});var a=function(){function a(a,b){for(var d=0;d<b.length;d++){var c=b[d];c.enumerable=c.enumerable||
-!1;c.configurable=!0;"value"in c&&(c.writable=!0);Object.defineProperty(a,c.key,c)}}return function(b,d,c){d&&a(b.prototype,d);c&&a(b,c);return b}}(),b=function(){function b(){f(this,b);this.refCount=1}a(b,[{key:"addRef",value:function(){++this.refCount;return this}},{key:"dispose",value:function(){0===--this.refCount&&this.refCountReachedZero()}},{key:"refCountReachedZero",value:function(){this.disposed();var a=this.disposers;if(null!=a){for(var b=a.length;0<b;--b){var d=a[b-1];"object"===typeof d?
-d.dispose():d.call(this)}this.disposers=void 0}this.wasDisposed=!0}},{key:"disposed",value:function(){}},{key:"registerDisposer",value:function(a){var b=this.disposers;null==b?this.disposers=[a]:b.push(a);return a}},{key:"unregisterDisposer",value:function(a){var b=this.disposers;if(null!=b){var d=b.indexOf(a);-1!==d&&b.splice(d,1)}return a}},{key:"registerEventListener",value:function(a,b,d,p){this.registerDisposer(c(a,b,d,p))}},{key:"registerCancellable",value:function(a){this.registerDisposer(function(){a.cancel()});
-return a}}]);return b}(),d=function(a){function b(a){f(this,b);var d=(b.__proto__||Object.getPrototypeOf(b)).call(this);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");d=!d||"object"!==typeof d&&"function"!==typeof d?this:d;d.value=a;return d}g(b,a);return b}(b)},function(m,e,l){e.b=function(g,f,c,a){for(;f<c;){var b=g[f];a(b)?++f:(--c,g[f]=g[c],g[c]=b)}return c};e.a=function(g,f){var c=g.length,a=Array(c);f=a[0]=void 0===f?1:f;for(var b=1;b<c;++b)f*=
-g[b-1],a[b]=f;return a};e.c=function(g,f,c){for(var a=new g.constructor(g.length),b=0;b<f*c;b+=c)for(var d=0;d<c;d++)a[d*f+b/c]=g[b+d];return a}},function(m,e,l){function g(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function f(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function c(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+
-typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function a(a,b){for(var d=u.l.create(),c=u.l.create(),r=u.l.create(),h=new Float32Array(a.length),n=new Float32Array(a.length/3),k=b.length,p=0;p<k;p+=3)for(var q=0;3>q;++q)n[b[p+q]]+=1;for(p=0;p<k;p+=3){q=3*b[p];for(var w=3*b[p+1],f=3*b[p+2],v=0;3>v;++v)c[v]=a[w+v]-a[q+v],r[v]=a[f+v]-a[w+v];u.l.cross(d,c,r);u.l.normalize(d,
-d);for(q=0;3>q;++q)for(f=b[p+q],w=1/n[f],f*=3,v=0;3>v;++v)h[f+v]+=w*d[v]}a=h.length;for(b=0;b<a;b+=3)d=h.subarray(b,3),u.l.normalize(d,d);return h}function b(a,b,d,c,r,h,n,p){var q=new Float32Array(d,r,3*h);Object(k.d)(q,c);void 0===n&&(n=r+12*h);var w;void 0!==p&&(w=p*b);d=void 0===w?new Uint32Array(d,n):new Uint32Array(d,n,w);if(0!==d.length%b)throw Error("Number of indices is not a multiple of "+b+": "+d.length+".");Object(k.d)(d,c);a.vertexPositions=q;a.indices=d}e.c=function(a,b,d){Object(p.e)(b);
-a.fragmentIds=Object(p.f)(b,d,p.h)};e.b=a;e.e=b;e.d=function(d,c,h,n,r,k,p){b(d,3,c,h,n,r,k,p);d.vertexNormals=a(d.vertexPositions,d.indices)};l.d(e,"a",function(){return B});var d=l(2),q=l(8);m=l(68);e=l(35);var h=l(23),k=l(12),u=l(1),p=l(5),x=l(6),n=l(15);l=l(0);var v=function(){function a(a,b){for(var d=0;d<b.length;d++){var c=b[d];c.enumerable=c.enumerable||!1;c.configurable=!0;"value"in c&&(c.writable=!0);Object.defineProperty(a,c.key,c)}}return function(b,d,c){d&&a(b.prototype,d);c&&a(b,c);
-return b}}(),I=function w(a,b,d){null===a&&(a=Function.prototype);var c=Object.getOwnPropertyDescriptor(a,b);if(void 0===c){if(a=Object.getPrototypeOf(a),null!==a)return w(a,b,d)}else{if("value"in c)return c.value;b=c.get;return void 0===b?void 0:b.call(d)}},t=this&&this.__decorate||function(a,b,d,c){var h=arguments.length,r=3>h?b:null===c?c=Object.getOwnPropertyDescriptor(b,d):c,n;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)r=Reflect.decorate(a,b,d,c);else for(var k=a.length-
-1;0<=k;k--)if(n=a[k])r=(3>h?n(r):3<h?n(b,d,r):n(b,d))||r;return 3<h&&r&&Object.defineProperty(b,d,r),r},N=function(a){function b(){g(this,b);var a=f(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));a.backendOnly=!0;a.objectId=new x.a;return a}c(b,a);v(b,[{key:"initializeManifestChunk",value:function(a,d,c){I(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"initialize",this).call(this,a);this.objectId.assign(d);c&&(this.clipBounds=c)}},{key:"freeSystemMemory",value:function(){this.fragmentIds=
-null}},{key:"downloadSucceeded",value:function(){this.systemMemoryBytes=100;I(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"downloadSucceeded",this).call(this);this.priorityTier<q.d.RECENT&&this.source.chunkManager.scheduleUpdateChunkPriorities()}},{key:"toString",value:function(){return this.objectId.toString()}}]);return b}(d.Chunk),F=function(a){function b(){g(this,b);var a=f(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));a.manifestChunk=null;a.fragmentId=null;a.vertexPositions=
-null;a.indices=null;a.vertexNormals=null;return a}c(b,a);v(b,[{key:"initializeFragmentChunk",value:function(a,d,c){I(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"initialize",this).call(this,a);this.manifestChunk=d;this.fragmentId=c}},{key:"freeSystemMemory",value:function(){this.fragmentId=this.vertexPositions=this.indices=this.vertexNormals=this.manifestChunk=null}},{key:"serialize",value:function(a,d){I(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"serialize",this).call(this,
-a,d);a.objectKey=this.manifestChunk.key;var c=this.vertexPositions,h=this.indices,r=this.vertexNormals;a.vertexPositions=c;a.indices=h;a.vertexNormals=r;a=c.buffer;d.push(a);h=h.buffer;h!==a&&d.push(h);r=r.buffer;r!==a&&r!==h&&d.push(r);this.vertexPositions=this.indices=this.vertexNormals=null}},{key:"downloadSucceeded",value:function(){this.systemMemoryBytes=this.gpuMemoryBytes=this.vertexPositions.byteLength+this.indices.byteLength+this.vertexNormals.byteLength;I(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),
-"downloadSucceeded",this).call(this)}}]);return b}(d.Chunk),B=function(a){function b(a,d){g(this,b);var c=f(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a,d));return(c.fragmentSource=c.registerDisposer(a.getRef(d.fragmentSource))).meshSource=c}c(b,a);v(b,[{key:"getChunk",value:function(a,b){var d=Object(h.b)(a,b),c=this.chunks.get(d);void 0===c&&(c=this.getNewChunk_(N),c.initializeManifestChunk(d,a,b),this.addChunk(c));return c}},{key:"getFragmentChunk",value:function(a,b){var d=a.key+"/"+
-b,c=this.fragmentSource,h=c.chunks.get(d);void 0===h&&(h=c.getNewChunk_(F),h.initializeFragmentChunk(d,a,b),c.addChunk(h));return h}}]);return b}(d.ChunkSource);d=function(a){function b(){g(this,b);var a=f(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments));a.meshSource=null;return a}c(b,a);v(b,[{key:"download",value:function(a,b){return this.meshSource.downloadFragment(a,b)}}]);return b}(d.ChunkSource);d=t([Object(l.g)(m.a)],d);e=function(a){function b(a,d){g(this,b);var c=f(this,
-(b.__proto__||Object.getPrototypeOf(b)).call(this,a,d));c.source=c.registerDisposer(a.getRef(d.source));c.registerDisposer(c.chunkManager.recomputeChunkPriorities.add(function(){c.updateChunkPriorities()}));return c}c(b,a);v(b,[{key:"updateChunkPriorities",value:function(){var a=this,b=this.visibility.value;if(b!==Number.NEGATIVE_INFINITY){var d=Object(n.b)(b),c=Object(n.a)(b),k=this.source,p=this.chunkManager;Object(h.a)(this,function(b){b=k.getChunk(b,a.clipBounds.value);p.requestChunk(b,d,c+100);
-if(b.state===q.e.SYSTEM_MEMORY_WORKER)for(var h=$jscomp.makeIterator(b.fragmentIds),n=h.next();!n.done;n=h.next())n=k.getFragmentChunk(b,n.value),p.requestChunk(n,d,c+50)})}}}]);return b}(e.a);e=t([Object(l.g)(m.b)],e)},function(m,e,l){function g(f,c,a,b,d,q,h){for(var k=new Map,u=Array(3),p=2,x=0;3>x;++x){var n=u[x]=Math.ceil(b[x]/c[x]);p*=n}x=u[0];n=u[1];u=u[2];var v=b[0],g=b[1];b=b[2];var e=c[0],l=c[1],F=c[2],B=f.length,H=B,w=[0,0,0];f.resize(B+p);p=q[0];for(var A=q[1],m=q[2],r=0;r<u;++r){w[2]=
-Math.min(F,b-r*F);for(var z=0;z<n;++z){w[1]=Math.min(l,g-z*l);for(var G=0;G<x;++G){w[0]=Math.min(e,v-G*e);var D=f.length-B,C=$jscomp.makeIterator(h(a,d+(r*F*m+z*l*A+G*e*p),q,c,w,B,k,f)),E=C.next().value;C=C.next().value;var O=f.data;O[H++]=C|E<<24;O[H++]=D}}}}e.c=function(f,c,a,b,d,q,h,k,u){if(1===d)var p=0;else for(p=1;1<<p<d;)p*=2;var x=Math.ceil(p*b/32),n=f.length,v=x,g=!1,e=Array.prototype.join.call(q.subarray(0,d*u),",");b=a.get(e);void 0===b&&(g=!0,v+=d*u,b=n+x-c,a.set(e,b));f.resize(n+v);f=
-f.data;if(0<p)switch(p){case 1:for(c=a=0;a<x;++a)v=0,v|=k[h[c+0]]<<0,v|=k[h[c+1]]<<1,v|=k[h[c+2]]<<2,v|=k[h[c+3]]<<3,v|=k[h[c+4]]<<4,v|=k[h[c+5]]<<5,v|=k[h[c+6]]<<6,v|=k[h[c+7]]<<7,v|=k[h[c+8]]<<8,v|=k[h[c+9]]<<9,v|=k[h[c+10]]<<10,v|=k[h[c+11]]<<11,v|=k[h[c+12]]<<12,v|=k[h[c+13]]<<13,v|=k[h[c+14]]<<14,v|=k[h[c+15]]<<15,v|=k[h[c+16]]<<16,v|=k[h[c+17]]<<17,v|=k[h[c+18]]<<18,v|=k[h[c+19]]<<19,v|=k[h[c+20]]<<20,v|=k[h[c+21]]<<21,v|=k[h[c+22]]<<22,v|=k[h[c+23]]<<23,v|=k[h[c+24]]<<24,v|=k[h[c+25]]<<25,
-v|=k[h[c+26]]<<26,v|=k[h[c+27]]<<27,v|=k[h[c+28]]<<28,v|=k[h[c+29]]<<29,v|=k[h[c+30]]<<30,v|=k[h[c+31]]<<31,f[n+a]=v,c+=32;break;case 2:for(c=a=0;a<x;++a)v=0,v|=k[h[c+0]]<<0,v|=k[h[c+1]]<<2,v|=k[h[c+2]]<<4,v|=k[h[c+3]]<<6,v|=k[h[c+4]]<<8,v|=k[h[c+5]]<<10,v|=k[h[c+6]]<<12,v|=k[h[c+7]]<<14,v|=k[h[c+8]]<<16,v|=k[h[c+9]]<<18,v|=k[h[c+10]]<<20,v|=k[h[c+11]]<<22,v|=k[h[c+12]]<<24,v|=k[h[c+13]]<<26,v|=k[h[c+14]]<<28,v|=k[h[c+15]]<<30,f[n+a]=v,c+=16;break;case 4:for(c=a=0;a<x;++a)v=0,v|=k[h[c+0]]<<0,v|=k[h[c+
-1]]<<4,v|=k[h[c+2]]<<8,v|=k[h[c+3]]<<12,v|=k[h[c+4]]<<16,v|=k[h[c+5]]<<20,v|=k[h[c+6]]<<24,v|=k[h[c+7]]<<28,f[n+a]=v,c+=8;break;case 8:for(c=a=0;a<x;++a)v=0,v|=k[h[c+0]]<<0,v|=k[h[c+1]]<<8,v|=k[h[c+2]]<<16,v|=k[h[c+3]]<<24,f[n+a]=v,c+=4;break;case 16:for(c=a=0;a<x;++a)v=0,v|=k[h[c+0]]<<0,v|=k[h[c+1]]<<16,f[n+a]=v,c+=2;break;case 32:for(c=a=0;a<x;++a)v=0,v|=k[h[c+0]]<<0,f[n+a]=v,c+=1}if(g)for(h=n+x,k=0,d*=u;k<d;++k)f[h++]=q[k];return[p,b]};e.a=g;e.b=function(f,c,a,b,d,q,h){var k=f.length,u=b[3];f.resize(k+
-u);for(var p=0;p<u;++p)f.data[k+p]=f.length,g(f,c,a,b,d+q[3]*p,q,h)}},function(m,e,l){e.a=function(b,d,q){q=void 0===q?c.a:q;var h=b.source.spec,k=h.dataType,u=Object(a.h)(b.chunkDataSize),p=f.a[k];h=u*p*h.numChannels;if(h!==d.byteLength)throw Error("Raw-format chunk is "+d.byteLength+" bytes, "+("but "+u+" * "+p+" = "+h+" bytes are expected."));switch(k){case f.b.UINT8:d=new Uint8Array(d);break;case f.b.UINT16:d=new Uint16Array(d);Object(c.c)(d,q);break;case f.b.UINT32:case f.b.UINT64:d=new Uint32Array(d);
-Object(c.d)(d,q);break;case f.b.FLOAT32:d=new Float32Array(d);Object(c.d)(d,q);break;default:throw Error("Unexpected data type: "+k+".");}Object(g.a)(b,d)};var g=l(25),f=l(10),c=l(12),a=l(1)},function(m,e,l){function g(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function f(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function c(a,b){if("function"!==typeof b&&
-null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}Object.defineProperty(e,"__esModule",{value:!0});l.d(e,"SliceView",function(){return v});l.d(e,"SliceViewChunk",function(){return I});l.d(e,"SliceViewChunkSource",function(){return t});l.d(e,"RenderLayer",function(){return N});
-m=l(2);e=l(9);var a=l(1),b=l(14),d=l(15);l=l(0);var q=function(){function a(a,b){for(var d=0;d<b.length;d++){var c=b[d];c.enumerable=c.enumerable||!1;c.configurable=!0;"value"in c&&(c.writable=!0);Object.defineProperty(a,c.key,c)}}return function(b,d,c){d&&a(b.prototype,d);c&&a(b,c);return b}}(),h=function B(a,b,d){null===a&&(a=Function.prototype);var c=Object.getOwnPropertyDescriptor(a,b);if(void 0===c){if(a=Object.getPrototypeOf(a),null!==a)return B(a,b,d)}else{if("value"in c)return c.value;b=c.get;
-return void 0===b?void 0:b.call(d)}},k=this&&this.__decorate||function(a,b,d,c){var h=arguments.length,n=3>h?b:null===c?c=Object.getOwnPropertyDescriptor(b,d):c,k;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)n=Reflect.decorate(a,b,d,c);else for(var p=a.length-1;0<=p;p--)if(k=a[p])n=(3>h?k(n):3<h?k(b,d,n):k(b,d))||n;return 3<h&&n&&Object.defineProperty(b,d,n),n},u=a.l.create(),p=a.l.create(),x=a.l.create(),n=function(a){function b(a,d){g(this,b);var c=f(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));
-c.initializeSharedObject(a,d.id);return c}c(b,a);return b}(e.c),v=function(b){function n(a,b){g(this,n);var d=f(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,a,b));d.handleLayerChanged=function(){d.hasValidViewport&&d.chunkManager.scheduleUpdateChunkPriorities()};d.registerDisposer(d.chunkManager.recomputeChunkPriorities.add(function(){d.updateVisibleChunks()}));return d}c(n,b);q(n,[{key:"onViewportChanged",value:function(){this.chunkManager.scheduleUpdateChunkPriorities()}},{key:"updateVisibleChunks",
-value:function(){var b=this,c=this.centerDataPosition,h=this.chunkManager,n=this.visibility.value;if(n!==Number.NEGATIVE_INFINITY){var k=Object(d.b)(n),p=Object(d.a)(n);p+=-1E12;this.computeVisibleChunks(function(a){a.globalToLocalSpatial(x,c);return b.visibleChunkLayouts.get(a)},function(b,d,c,n){a.l.multiply(u,c,b.size);b=-a.l.distance(x,u);n=$jscomp.makeIterator(n);for(var r=n.next();!r.done;r=n.next()){var q=r.value;r=d.get(q);q=q.getChunk(c);h.requestChunk(q,k,p+b+1E9*r)}})}}},{key:"removeVisibleLayer",
-value:function(a){this.visibleLayers.delete(a);a.layerChanged.remove(this.handleLayerChanged);this.visibleSourcesStale=!0;this.hasValidViewport&&this.chunkManager.scheduleUpdateChunkPriorities()}},{key:"disposed",value:function(){for(var a=$jscomp.makeIterator(this.visibleLayers.keys()),b=a.next();!b.done;b=a.next())this.removeVisibleLayer(b.value);h(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"disposed",this).call(this)}}]);return n}(Object(d.c)(Object(m.withChunkManager)(n)));v=k([Object(l.g)(e.b)],
-v);Object(l.f)("SliceView.updateView",function(a){var b=this.get(a.id);a.width&&b.setViewportSize(a.width,a.height);a.viewportToData&&b.setViewportToDataMatrix(a.viewportToData)});Object(l.f)("SliceView.addVisibleLayer",function(a){var b=this.get(a.id);a=this.get(a.layerId);b.visibleLayers.set(a,[]);a.layerChanged.add(b.handleLayerChanged);b.visibleSourcesStale=!0;b.hasValidViewport&&b.chunkManager.scheduleUpdateChunkPriorities()});Object(l.f)("SliceView.removeVisibleLayer",function(a){var b=this.get(a.id);
-a=this.get(a.layerId);b.removeVisibleLayer(a)});var I=function(b){function d(){g(this,d);var b=f(this,(d.__proto__||Object.getPrototypeOf(d)).call(this));b.source=null;b.chunkGridPosition=a.l.create();return b}c(d,b);q(d,[{key:"initializeVolumeChunk",value:function(b,c){h(d.prototype.__proto__||Object.getPrototypeOf(d.prototype),"initialize",this).call(this,b);a.l.copy(this.chunkGridPosition,c);this.chunkDataSize=null}},{key:"serialize",value:function(a,b){h(d.prototype.__proto__||Object.getPrototypeOf(d.prototype),
-"serialize",this).call(this,a,b);b=this.chunkDataSize;b!==this.source.spec.chunkDataSize&&(a.chunkDataSize=b);a.chunkGridPosition=this.chunkGridPosition}},{key:"downloadSucceeded",value:function(){h(d.prototype.__proto__||Object.getPrototypeOf(d.prototype),"downloadSucceeded",this).call(this)}},{key:"freeSystemMemory",value:function(){}},{key:"toString",value:function(){return this.source.toString()+":"+Object(a.m)(this.chunkGridPosition)}}]);return d}(m.Chunk),t=function(b){function d(a,b){g(this,
-d);return f(this,(d.__proto__||Object.getPrototypeOf(d)).call(this,a,b))}c(d,b);q(d,[{key:"computeChunkBounds",value:function(b){var d=this.spec,c=d.upperVoxelBound;d=d.chunkDataSize;for(var h=a.l.multiply(u,b.chunkGridPosition,d),n=!1,k=0;3>k;++k)(p[k]=Math.min(c[k],h[k]+d[k])-h[k])!==d[k]&&(n=!0);a.l.add(h,h,this.spec.baseVoxelOffset);b.chunkDataSize=n?a.l.clone(p):d;return h}}]);return d}(m.ChunkSource),N=function(a){function d(a,c){g(this,d);var h=f(this,(d.__proto__||Object.getPrototypeOf(d)).call(this,
-a,c));h.layerChanged=new b.a;var n=h.sources=[];c=$jscomp.makeIterator(c.sources);for(var k=c.next();!k.done;k=c.next()){var p=k.value;k=[];n.push(k);p=$jscomp.makeIterator(p);for(var q=p.next();!q.done;q=p.next())q=a.get(q.value),h.registerDisposer(q.addRef()),k.push(q)}return h}c(d,a);return d}(l.c)},function(m,e,l){e.b=function(g,f){return g.low+","+g.high+(f?"_"+f.center.toString()+"_"+f.size.toString():"")};e.a=function(g,f){var c=g.segmentEquivalences;g=$jscomp.makeIterator(g.visibleSegments);
-for(var a=g.next();!a.done;a=g.next())if(a=a.value,c.disjointSets.isMinElement(a))for(var b=$jscomp.makeIterator(c.setElements(a)),d=b.next();!d.done;d=b.next())f(d.value,a)}},function(m,e,l){e.a=function(g,f){g.data=new Uint32Array(f)}},function(m,e,l){e.a=function(d,q){var h=d.source.spec;if(h.compressedSegmentationBlockSize){var k=h.dataType;a.clear();var u=d.chunkDataSize;b[0]=u[0];b[1]=u[1];b[2]=u[2];b[3]=h.numChannels;switch(k){case g.a.UINT32:Object(f.a)(a,h.compressedSegmentationBlockSize,
-q,b);break;case g.a.UINT64:Object(c.a)(a,h.compressedSegmentationBlockSize,q,b);break;default:throw Error("Unsupported data type for compressed segmentation: "+g.a[k]);}d.data=new Uint32Array(a.view)}else d.data=q};var g=l(9),f=l(76),c=l(77),a=new (l(78).a)(2E4),b=Array(4)},function(m,e,l){e=l(4).assign;var g=l(84),f=l(87);l=l(42);var c={};e(c,g,f,l);m.exports=c},function(m,e,l){m.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory",
-"-5":"buffer error","-6":"incompatible version"}},function(m,e,l){function g(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function f(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function c(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,
-{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}l.d(e,"a",function(){return p});m=l(2);var a=l(8),b=l(7),d=l(11),q=l(103),h=function(){function a(a,b){for(var d=0;d<b.length;d++){var c=b[d];c.enumerable=c.enumerable||!1;c.configurable=!0;"value"in c&&(c.writable=!0);Object.defineProperty(a,c.key,c)}}return function(b,d,c){d&&a(b.prototype,d);c&&a(b,c);return b}}(),k=function n(a,b,d){null===a&&(a=Function.prototype);
-var c=Object.getOwnPropertyDescriptor(a,b);if(void 0===c){if(a=Object.getPrototypeOf(a),null!==a)return n(a,b,d)}else{if("value"in c)return c.value;b=c.get;return void 0===b?void 0:b.call(d)}},u=function(a){function b(){g(this,b);var a=f(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments));a.backendOnly=!0;return a}c(b,a);h(b,[{key:"initialize",value:function(a){k(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"initialize",this).call(this,a);this.requesters=new Set}},{key:"downloadSucceeded",
-value:function(){k(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"downloadSucceeded",this).call(this);var a=this.requesters,d=this.data;this.requesters=void 0;a=$jscomp.makeIterator(a);for(var c=a.next();!c.done;c=a.next())c.value.resolve(d)}},{key:"downloadFailed",value:function(a){k(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"downloadFailed",this).call(this,a);var d=this.requesters;this.requesters=void 0;d=$jscomp.makeIterator(d);for(var c=d.next();!c.done;c=d.next())c.value.reject(a)}},
-{key:"freeSystemMemory",value:function(){this.data=void 0}}]);return b}(m.Chunk),p=function(n){function k(a,b){g(this,k);var d=f(this,(k.__proto__||Object.getPrototypeOf(k)).call(this,a));d.decodeFile=b;d.registerDisposer(a);d.registerDisposer(d.chunkManager.recomputeChunkPrioritiesLate.add(function(){d.updateChunkPriorities()}));return d}c(k,n);h(k,[{key:"updateChunkPriorities",value:function(){for(var a=this.chunkManager,b=$jscomp.makeIterator(this.chunks.values()),d=b.next();!d.done;d=b.next()){d=
-d.value;var c=d.requesters;if(void 0!==c){c=$jscomp.makeIterator(c);for(var h=c.next();!h.done;h=c.next())h=h.value.getPriority(),a.requestChunk(d,h.priorityTier,h.priority)}}}},{key:"download",value:function(a,b){var c=this;return Object(d.e)(Object(d.b)(a.key),"arraybuffer",b).then(function(b){a.data=c.decodeFile(b)})}},{key:"getData",value:function(d,c,h){var n=this,k=this.chunks.get(d);void 0===k&&(k=this.getNewChunk_(u),k.initialize(d),this.addChunk(k));return Object(b.d)(h,function(d,h,p){switch(k.state){case a.e.FAILED:h(k.error);
-return;case a.e.SYSTEM_MEMORY_WORKER:d(k.data);return}var q={resolve:d,reject:h,getPriority:c};k.requesters.add(q);p.add(function(){var a=k.requesters;void 0!==a&&(a.delete(q),n.chunkManager.scheduleUpdateChunkPriorities());h(b.a)});n.chunkManager.scheduleUpdateChunkPriorities()})}}],[{key:"get",value:function(a,b){return a.memoize.get("getFileSource:"+Object(q.a)(b),function(){return new k(a,b)})}},{key:"getData",value:function(a,b,d,c,h){a=k.get(a,b);d=a.getData(d,c,h);a.dispose();return d}}]);
-return k}(m.ChunkSourceBase)},function(m,e,l){var g=g||{};g.Utils=g.Utils||{};g.Utils.crcTable=null;g.Utils.GUNZIP_MAGIC_COOKIE1=31;g.Utils.GUNZIP_MAGIC_COOKIE2=139;g.Utils.getStringAt=function(f,c,a){for(var b="",d;c<a;c+=1)d=f.getUint8(c),0!==d&&(b+=String.fromCharCode(d));return b};g.Utils.getByteAt=function(f,c){return f.getInt8(c)};g.Utils.getShortAt=function(f,c,a){return f.getInt16(c,a)};g.Utils.getIntAt=function(f,c,a){return f.getInt32(c,a)};g.Utils.getFloatAt=function(f,c,a){return f.getFloat32(c,
-a)};g.Utils.getDoubleAt=function(f,c,a){return f.getFloat64(c,a)};g.Utils.getLongAt=function(f,c,a){var b,d=[],q=0;for(b=0;8>b;b+=1)d[b]=g.Utils.getByteAt(f,c+b,a);for(b=d.length-1;0<=b;b--)q=256*q+d[b];return q};g.Utils.toArrayBuffer=function(f){var c;var a=new ArrayBuffer(f.length);var b=new Uint8Array(a);for(c=0;c<f.length;c+=1)b[c]=f[c];return a};g.Utils.isString=function(f){return"string"===typeof f||f instanceof String};g.Utils.formatNumber=function(f,c){f=g.Utils.isString(f)?Number(f):f;f=
-c?f.toPrecision(5):f.toPrecision(7);return parseFloat(f)};g.Utils.makeCRCTable=function(){for(var f,c=[],a=0;256>a;a++){f=a;for(var b=0;8>b;b++)f=f&1?3988292384^f>>>1:f>>>1;c[a]=f}return c};g.Utils.crc32=function(f){for(var c=g.Utils.crcTable||(g.Utils.crcTable=g.Utils.makeCRCTable()),a=-1,b=0;b<f.byteLength;b++)a=a>>>8^c[(a^f.getUint8(b))&255];return(a^-1)>>>0};"undefined"!==typeof m&&m.exports&&(m.exports=g.Utils)},function(m,e,l){function g(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+
-typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function f(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}l.d(e,"a",function(){return q});var c=l(17),a=l(5),b=function k(a,b,d){null===a&&(a=Function.prototype);var c=Object.getOwnPropertyDescriptor(a,b);if(void 0===c){if(a=Object.getPrototypeOf(a),null!==a)return k(a,b,d)}else{if("value"in
-c)return c.value;b=c.get;return void 0===b?void 0:b.call(d)}},d=function(){function a(a,b){for(var d=0;d<b.length;d++){var c=b[d];c.enumerable=c.enumerable||!1;c.configurable=!0;"value"in c&&(c.writable=!0);Object.defineProperty(a,c.key,c)}}return function(b,d,c){d&&a(b.prototype,d);c&&a(b,c);return b}}(),q=function(k){function q(){f(this,q);var a=(q.__proto__||Object.getPrototypeOf(q)).apply(this,arguments);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
-return!a||"object"!==typeof a&&"function"!==typeof a?this:a}g(q,k);d(q,[{key:"get",value:function(d,c){"string"!==typeof d&&(d=Object(a.c)(d));return b(q.prototype.__proto__||Object.getPrototypeOf(q.prototype),"get",this).call(this,d,c)}},{key:"getUncounted",value:function(a,b){return this.get(a,function(){return new c.b(b())}).value}}]);return q}(function(){function a(){f(this,a);this.map=new Map}d(a,[{key:"get",value:function(a,b){var d=this.map,c=d.get(a);void 0===c?(c=b(),c.registerDisposer(function(){d.delete(a)}),
-d.set(a,c)):c.addRef();return c}}]);return a}())},function(m,e,l){l(3);l(50);l(51);l(32);var g=l(52),f=l(53);l(54);var c=l(33);l(34);l.d(e,"a",function(){return g});l.d(e,"b",function(){return f});l.d(e,"c",function(){return c})},function(m,e,l){e.a=function(){var f=new g.a(9);f[0]=1;f[1]=0;f[2]=0;f[3]=0;f[4]=1;f[5]=0;f[6]=0;f[7]=0;f[8]=1;return f};var g=l(3)},function(m,e,l){function g(){var a=new x.a(3);a[0]=0;a[1]=0;a[2]=0;return a}function f(a){var b=a[0],d=a[1];a=a[2];return Math.sqrt(b*b+d*
-d+a*a)}function c(a,b,d){var c=new x.a(3);c[0]=a;c[1]=b;c[2]=d;return c}function a(a,b,d){a[0]=b[0]-d[0];a[1]=b[1]-d[1];a[2]=b[2]-d[2];return a}function b(a,b,d){a[0]=b[0]*d[0];a[1]=b[1]*d[1];a[2]=b[2]*d[2];return a}function d(a,b,d){a[0]=b[0]/d[0];a[1]=b[1]/d[1];a[2]=b[2]/d[2];return a}function q(a,b){var d=b[0]-a[0],c=b[1]-a[1];a=b[2]-a[2];return Math.sqrt(d*d+c*c+a*a)}function h(a,b){var d=b[0]-a[0],c=b[1]-a[1];a=b[2]-a[2];return d*d+c*c+a*a}function k(a){var b=a[0],d=a[1];a=a[2];return b*b+d*
-d+a*a}function u(a,b){var d=b[0],c=b[1],h=b[2];d=d*d+c*c+h*h;0<d&&(d=1/Math.sqrt(d),a[0]=b[0]*d,a[1]=b[1]*d,a[2]=b[2]*d);return a}function p(a,b){return a[0]*b[0]+a[1]*b[1]+a[2]*b[2]}Object.defineProperty(e,"__esModule",{value:!0});e.create=g;e.clone=function(a){var b=new x.a(3);b[0]=a[0];b[1]=a[1];b[2]=a[2];return b};e.length=f;e.fromValues=c;e.copy=function(a,b){a[0]=b[0];a[1]=b[1];a[2]=b[2];return a};e.set=function(a,b,d,c){a[0]=b;a[1]=d;a[2]=c;return a};e.add=function(a,b,d){a[0]=b[0]+d[0];a[1]=
-b[1]+d[1];a[2]=b[2]+d[2];return a};e.subtract=a;e.multiply=b;e.divide=d;e.ceil=function(a,b){a[0]=Math.ceil(b[0]);a[1]=Math.ceil(b[1]);a[2]=Math.ceil(b[2]);return a};e.floor=function(a,b){a[0]=Math.floor(b[0]);a[1]=Math.floor(b[1]);a[2]=Math.floor(b[2]);return a};e.min=function(a,b,d){a[0]=Math.min(b[0],d[0]);a[1]=Math.min(b[1],d[1]);a[2]=Math.min(b[2],d[2]);return a};e.max=function(a,b,d){a[0]=Math.max(b[0],d[0]);a[1]=Math.max(b[1],d[1]);a[2]=Math.max(b[2],d[2]);return a};e.round=function(a,b){a[0]=
-Math.round(b[0]);a[1]=Math.round(b[1]);a[2]=Math.round(b[2]);return a};e.scale=function(a,b,d){a[0]=b[0]*d;a[1]=b[1]*d;a[2]=b[2]*d;return a};e.scaleAndAdd=function(a,b,d,c){a[0]=b[0]+d[0]*c;a[1]=b[1]+d[1]*c;a[2]=b[2]+d[2]*c;return a};e.distance=q;e.squaredDistance=h;e.squaredLength=k;e.negate=function(a,b){a[0]=-b[0];a[1]=-b[1];a[2]=-b[2];return a};e.inverse=function(a,b){a[0]=1/b[0];a[1]=1/b[1];a[2]=1/b[2];return a};e.normalize=u;e.dot=p;e.cross=function(a,b,d){var c=b[0],h=b[1];b=b[2];var k=d[0],
-n=d[1];d=d[2];a[0]=h*d-b*n;a[1]=b*k-c*d;a[2]=c*n-h*k;return a};e.lerp=function(a,b,d,c){var h=b[0],k=b[1];b=b[2];a[0]=h+c*(d[0]-h);a[1]=k+c*(d[1]-k);a[2]=b+c*(d[2]-b);return a};e.hermite=function(a,b,d,c,h,k){var q=k*k,n=q*(2*k-3)+1,p=q*(k-2)+k,f=q*(k-1);k=q*(3-2*k);a[0]=b[0]*n+d[0]*p+c[0]*f+h[0]*k;a[1]=b[1]*n+d[1]*p+c[1]*f+h[1]*k;a[2]=b[2]*n+d[2]*p+c[2]*f+h[2]*k;return a};e.bezier=function(a,b,d,c,h,k){var q=1-k,n=q*q,p=k*k,f=n*q;n*=3*k;q*=3*p;k*=p;a[0]=b[0]*f+d[0]*n+c[0]*q+h[0]*k;a[1]=b[1]*f+d[1]*
-n+c[1]*q+h[1]*k;a[2]=b[2]*f+d[2]*n+c[2]*q+h[2]*k;return a};e.random=function(a,b){b=b||1;var d=2*x.c()*Math.PI,c=2*x.c()-1,h=Math.sqrt(1-c*c)*b;a[0]=Math.cos(d)*h;a[1]=Math.sin(d)*h;a[2]=c*b;return a};e.transformMat4=function(a,b,d){var c=b[0],h=b[1];b=b[2];var k=d[3]*c+d[7]*h+d[11]*b+d[15];k=k||1;a[0]=(d[0]*c+d[4]*h+d[8]*b+d[12])/k;a[1]=(d[1]*c+d[5]*h+d[9]*b+d[13])/k;a[2]=(d[2]*c+d[6]*h+d[10]*b+d[14])/k;return a};e.transformMat3=function(a,b,d){var c=b[0],h=b[1];b=b[2];a[0]=c*d[0]+h*d[3]+b*d[6];
-a[1]=c*d[1]+h*d[4]+b*d[7];a[2]=c*d[2]+h*d[5]+b*d[8];return a};e.transformQuat=function(a,b,d){var c=b[0],h=b[1],k=b[2];b=d[0];var q=d[1],p=d[2];d=d[3];var n=d*c+q*k-p*h,f=d*h+p*c-b*k,u=d*k+b*h-q*c;c=-b*c-q*h-p*k;a[0]=n*d+c*-b+f*-p-u*-q;a[1]=f*d+c*-q+u*-b-n*-p;a[2]=u*d+c*-p+n*-q-f*-b;return a};e.rotateX=function(a,b,d,c){var h=[],k=[];h[0]=b[0]-d[0];h[1]=b[1]-d[1];h[2]=b[2]-d[2];k[0]=h[0];k[1]=h[1]*Math.cos(c)-h[2]*Math.sin(c);k[2]=h[1]*Math.sin(c)+h[2]*Math.cos(c);a[0]=k[0]+d[0];a[1]=k[1]+d[1];a[2]=
-k[2]+d[2];return a};e.rotateY=function(a,b,d,c){var h=[],k=[];h[0]=b[0]-d[0];h[1]=b[1]-d[1];h[2]=b[2]-d[2];k[0]=h[2]*Math.sin(c)+h[0]*Math.cos(c);k[1]=h[1];k[2]=h[2]*Math.cos(c)-h[0]*Math.sin(c);a[0]=k[0]+d[0];a[1]=k[1]+d[1];a[2]=k[2]+d[2];return a};e.rotateZ=function(a,b,d,c){var h=[],k=[];h[0]=b[0]-d[0];h[1]=b[1]-d[1];h[2]=b[2]-d[2];k[0]=h[0]*Math.cos(c)-h[1]*Math.sin(c);k[1]=h[0]*Math.sin(c)+h[1]*Math.cos(c);k[2]=h[2];a[0]=k[0]+d[0];a[1]=k[1]+d[1];a[2]=k[2]+d[2];return a};e.angle=function(a,b){a=
-c(a[0],a[1],a[2]);b=c(b[0],b[1],b[2]);u(a,a);u(b,b);b=p(a,b);return 1<b?0:-1>b?Math.PI:Math.acos(b)};e.str=function(a){return"vec3("+a[0]+", "+a[1]+", "+a[2]+")"};e.exactEquals=function(a,b){return a[0]===b[0]&&a[1]===b[1]&&a[2]===b[2]};e.equals=function(a,b){var d=a[0],c=a[1];a=a[2];var h=b[0],k=b[1];b=b[2];return Math.abs(d-h)<=x.b*Math.max(1,Math.abs(d),Math.abs(h))&&Math.abs(c-k)<=x.b*Math.max(1,Math.abs(c),Math.abs(k))&&Math.abs(a-b)<=x.b*Math.max(1,Math.abs(a),Math.abs(b))};var x=l(3);e.sub=
-a;e.mul=b;e.div=d;e.dist=q;e.sqrDist=h;e.len=f;e.sqrLen=k;m=function(){var a=g();return function(b,d,c,h,k,q){d||(d=3);c||(c=0);for(h=h?Math.min(h*d+c,b.length):b.length;c<h;c+=d)a[0]=b[c],a[1]=b[c+1],a[2]=b[c+2],k(a,a,q),b[c]=a[0],b[c+1]=a[1],b[c+2]=a[2];return b}}();e.forEach=m},function(m,e,l){function g(){var c=new f.a(4);c[0]=0;c[1]=0;c[2]=0;c[3]=0;return c}e.b=function(c){var a=new f.a(4);a[0]=c[0];a[1]=c[1];a[2]=c[2];a[3]=c[3];return a};e.g=function(c,a,b,d){var q=new f.a(4);q[0]=c;q[1]=a;
-q[2]=b;q[3]=d;return q};e.c=function(c,a){c[0]=a[0];c[1]=a[1];c[2]=a[2];c[3]=a[3];return c};e.l=function(c,a,b,d,q){c[0]=a;c[1]=b;c[2]=d;c[3]=q;return c};e.a=function(c,a,b){c[0]=a[0]+b[0];c[1]=a[1]+b[1];c[2]=a[2]+b[2];c[3]=a[3]+b[3];return c};e.k=function(c,a,b){c[0]=a[0]*b;c[1]=a[1]*b;c[2]=a[2]*b;c[3]=a[3]*b;return c};e.h=function(c){var a=c[0],b=c[1],d=c[2];c=c[3];return Math.sqrt(a*a+b*b+d*d+c*c)};e.m=function(c){var a=c[0],b=c[1],d=c[2];c=c[3];return a*a+b*b+d*d+c*c};e.j=function(c,a){var b=
-a[0],d=a[1],q=a[2];a=a[3];var h=b*b+d*d+q*q+a*a;0<h&&(h=1/Math.sqrt(h),c[0]=b*h,c[1]=d*h,c[2]=q*h,c[3]=a*h);return c};e.d=function(c,a){return c[0]*a[0]+c[1]*a[1]+c[2]*a[2]+c[3]*a[3]};e.i=function(c,a,b,d){var q=a[0],h=a[1],k=a[2];a=a[3];c[0]=q+d*(b[0]-q);c[1]=h+d*(b[1]-h);c[2]=k+d*(b[2]-k);c[3]=a+d*(b[3]-a);return c};e.f=function(c,a){return c[0]===a[0]&&c[1]===a[1]&&c[2]===a[2]&&c[3]===a[3]};e.e=function(c,a){var b=c[0],d=c[1],q=c[2];c=c[3];var h=a[0],k=a[1],u=a[2];a=a[3];return Math.abs(b-h)<=
-f.b*Math.max(1,Math.abs(b),Math.abs(h))&&Math.abs(d-k)<=f.b*Math.max(1,Math.abs(d),Math.abs(k))&&Math.abs(q-u)<=f.b*Math.max(1,Math.abs(q),Math.abs(u))&&Math.abs(c-a)<=f.b*Math.max(1,Math.abs(c),Math.abs(a))};var f=l(3);(function(){var c=g();return function(a,b,d,q,h,k){b||(b=4);d||(d=0);for(q=q?Math.min(q*b+d,a.length):a.length;d<q;d+=b)c[0]=a[d],c[1]=a[d+1],c[2]=a[d+2],c[3]=a[d+3],h(c,c,k),a[d]=c[0],a[d+1]=c[1],a[d+2]=c[2],a[d+3]=c[3];return a}})()},function(m,e,l){function g(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
-return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function f(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}l.d(e,"a",function(){return c});l(69);l(71);m=l(2);e=l(15);l=l(0);var c=function(a){function b(a,c){if(!(this instanceof b))throw new TypeError("Cannot call a class as a function");
-var d=g(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a,c));d.visibleSegments=a.get(c.visibleSegments);d.clipBounds=a.get(c.clipBounds);d.segmentEquivalences=a.get(c.segmentEquivalences);a=function(){d.chunkManager.scheduleUpdateChunkPriorities()};d.registerDisposer(d.visibleSegments.changed.add(a));d.registerDisposer(d.segmentEquivalences.changed.add(a));d.registerDisposer(d.clipBounds.changed.add(a));return d}f(b,a);return b}(Object(e.c)(Object(m.withChunkManager)(l.c)))},function(m,e,
-l){function g(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}l.d(e,"d",function(){return d});l.d(e,"c",function(){return q});var f=l(9),c=l(10),a=l(1);l.d(e,"a",function(){return c.b});var b=function(){function a(a,b){for(var d=0;d<b.length;d++){var c=
-b[d];c.enumerable=c.enumerable||!1;c.configurable=!0;"value"in c&&(c.writable=!0);Object.defineProperty(a,c.key,c)}}return function(b,d,c){d&&a(b.prototype,d);c&&a(b,c);return b}}(),d;(function(a){a[a.UNKNOWN=0]="UNKNOWN";a[a.IMAGE=1]="IMAGE";a[a.SEGMENTATION=2]="SEGMENTATION"})(d||(d={}));var q=function(h){function k(b){if(!(this instanceof k))throw new TypeError("Cannot call a class as a function");var d=(k.__proto__||Object.getPrototypeOf(k)).call(this,b);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
-d=!d||"object"!==typeof d&&"function"!==typeof d?this:d;var h=d.dataType=b.dataType,q=d.numChannels=b.numChannels;d.chunkBytes=Object(a.h)(b.chunkDataSize)*c.a[h]*q;d.compressedSegmentationBlockSize=b.compressedSegmentationBlockSize;return d}g(k,h);b(k,[{key:"toObject",value:function(){return{transform:this.chunkLayout.transform,numChannels:this.numChannels,chunkDataSize:this.chunkDataSize,voxelSize:this.voxelSize,dataType:this.dataType,lowerVoxelBound:this.lowerVoxelBound,upperVoxelBound:this.upperVoxelBound,
-lowerClipBound:this.lowerClipBound,upperClipBound:this.upperClipBound,baseVoxelOffset:this.baseVoxelOffset,compressedSegmentationBlockSize:this.compressedSegmentationBlockSize}}}],[{key:"make",value:function(a){return new k(Object.assign({},a,{transform:Object(f.f)(a.transform,a.volumeSourceOptions)}))}},{key:"fromObject",value:function(a){return new k(a)}},{key:"withDefaultCompression",value:function(a){var b=a.compressedSegmentationBlockSize,h=a.dataType,q=a.voxelSize,u=a.transform,g=a.lowerVoxelBound,
-e=a.upperVoxelBound;u=Object(f.f)(u,a.volumeSourceOptions);void 0!==b||a.volumeType!==d.SEGMENTATION||h!==c.b.UINT32&&h!==c.b.UINT64||(b=Object(f.g)({voxelSize:q,transform:u,lowerVoxelBound:g,upperVoxelBound:e,maxVoxelsPerChunkLog2:9}));return new k(Object.assign({},a,{compressedSegmentationBlockSize:b,transform:u}))}},{key:"getDefaults",value:function(a){var b=Object.assign({},a,{transform:Object(f.f)(a.transform,a.volumeSourceOptions)});return(void 0===a.chunkDataSizes?Object(f.e)(b):a.chunkDataSizes).map(function(b){return k.withDefaultCompression(Object.assign({},
-a,{chunkDataSize:b}))})}}]);return k}(f.d);e.b="volume/RenderLayer"},function(m,e,l){function g(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}Object.defineProperty(e,"__esModule",{value:!0});l.d(e,"NDStoreVolumeChunkSource",function(){return u});
-m=l(2);e=l(81);var f=l(16),c=l(82),a=l(21),b=l(13),d=l(11);l=l(0);var q=function(){function a(a,b){for(var d=0;d<b.length;d++){var c=b[d];c.enumerable=c.enumerable||!1;c.configurable=!0;"value"in c&&(c.writable=!0);Object.defineProperty(a,c.key,c)}}return function(b,d,c){d&&a(b.prototype,d);c&&a(b,c);return b}}(),h=this&&this.__decorate||function(a,b,d,c){var h=arguments.length,k=3>h?b:null===c?c=Object.getOwnPropertyDescriptor(b,d):c,q;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)k=
-Reflect.decorate(a,b,d,c);else for(var p=a.length-1;0<=p;p--)if(q=a[p])k=(3>h?q(k):3<h?q(b,d,k):q(b,d))||k;return 3<h&&k&&Object.defineProperty(b,d,k),k},k=new Map;k.set("npz",c.a);k.set("jpeg",f.a);k.set("raw",a.a);var u=function(a){function b(){if(!(this instanceof b))throw new TypeError("Cannot call a class as a function");var a=(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");a=!a||"object"!==
-typeof a&&"function"!==typeof a?this:a;a.chunkDecoder=k.get(a.parameters.encoding);return a}g(b,a);q(b,[{key:"download",value:function(a,b){for(var c=this,h=this.parameters,k=h.urlPrefix+"/"+h.key+"/"+h.channel+"/"+(h.encoding+"/"+h.resolution),q=this.computeChunkBounds(a),p=a.chunkDataSize,f=0;3>f;++f)k+="/"+q[f]+","+(q[f]+p[f]);h.neariso&&(k+="/neariso/");return Object(d.e)(Object(d.c)(h.baseUrls,k),"arraybuffer",b).then(function(b){return c.chunkDecoder(a,b)})}}]);return b}(Object(m.WithParameters)(b.a,
-e.a));u=h([Object(l.g)()],u)},function(m,e,l){m.exports=function(g,f,c,a){var b=g&65535|0;g=g>>>16&65535|0;for(var d;0!==c;){d=2E3<c?2E3:c;c-=d;do b=b+f[a++]|0,g=g+b|0;while(--d);b%=65521;g%=65521}return b|g<<16|0}},function(m,e,l){var g=function(){for(var f,c=[],a=0;256>a;a++){f=a;for(var b=0;8>b;b++)f=f&1?3988292384^f>>>1:f>>>1;c[a]=f}return c}();m.exports=function(f,c,a,b){a=b+a;for(f^=-1;b<a;b++)f=f>>>8^g[(f^c[b])&255];return f^-1}},function(m,e,l){function g(b,q){if(65537>q&&(b.subarray&&a||
-!b.subarray&&c))return String.fromCharCode.apply(null,f.shrinkBuf(b,q));for(var d="",k=0;k<q;k++)d+=String.fromCharCode(b[k]);return d}var f=l(4),c=!0,a=!0;try{String.fromCharCode.apply(null,[0])}catch(d){c=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(d){a=!1}var b=new f.Buf8(256);for(m=0;256>m;m++)b[m]=252<=m?6:248<=m?5:240<=m?4:224<=m?3:192<=m?2:1;b[254]=b[254]=1;e.string2buf=function(a){var b,d,c=a.length,u=0;for(b=0;b<c;b++){var p=a.charCodeAt(b);if(55296===(p&64512)&&b+1<c){var g=
-a.charCodeAt(b+1);56320===(g&64512)&&(p=65536+(p-55296<<10)+(g-56320),b++)}u+=128>p?1:2048>p?2:65536>p?3:4}var n=new f.Buf8(u);for(b=d=0;d<u;b++)p=a.charCodeAt(b),55296===(p&64512)&&b+1<c&&(g=a.charCodeAt(b+1),56320===(g&64512)&&(p=65536+(p-55296<<10)+(g-56320),b++)),128>p?n[d++]=p:(2048>p?n[d++]=192|p>>>6:(65536>p?n[d++]=224|p>>>12:(n[d++]=240|p>>>18,n[d++]=128|p>>>12&63),n[d++]=128|p>>>6&63),n[d++]=128|p&63);return n};e.buf2binstring=function(a){return g(a,a.length)};e.binstring2buf=function(a){for(var b=
-new f.Buf8(a.length),d=0,c=b.length;d<c;d++)b[d]=a.charCodeAt(d);return b};e.buf2string=function(a,c){var d,k=c||a.length,q=Array(2*k);for(c=d=0;c<k;){var p=a[c++];if(128>p)q[d++]=p;else{var f=b[p];if(4<f)q[d++]=65533,c+=f-1;else{for(p&=2===f?31:3===f?15:7;1<f&&c<k;)p=p<<6|a[c++]&63,f--;1<f?q[d++]=65533:65536>p?q[d++]=p:(p-=65536,q[d++]=55296|p>>10&1023,q[d++]=56320|p&1023)}}}return g(q,d)};e.utf8border=function(a,c){var d;c=c||a.length;c>a.length&&(c=a.length);for(d=c-1;0<=d&&128===(a[d]&192);)d--;
-return 0>d||0===d?c:d+b[a[d]]>c?d:c}},function(m,e,l){m.exports=function(){this.input=null;this.total_in=this.avail_in=this.next_in=0;this.output=null;this.total_out=this.avail_out=this.next_out=0;this.msg="";this.state=null;this.data_type=2;this.adler=0}},function(m,e,l){m.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,
-Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},function(m,e,l){var g=g||{};g.Utils=g.Utils||l(29);g.NIFTI1=g.NIFTI1||function(){this.littleEndian=!1;this.dim_info=0;this.dims=[];this.slice_code=this.slice_end=this.slice_start=this.numBitsPerVoxel=this.datatypeCode=this.intent_code=this.intent_p3=this.intent_p2=this.intent_p1=0;this.pixDims=[];this.vox_offset=0;this.scl_slope=1;this.toffset=
-this.slice_duration=this.cal_min=this.cal_max=this.xyzt_units=this.scl_inter=0;this.intent_name=this.aux_file=this.description="";this.qoffset_z=this.qoffset_y=this.qoffset_x=this.quatern_d=this.quatern_c=this.quatern_b=this.sform_code=this.qform_code=0;this.affine=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]];this.magic=0;this.isHDR=!1;this.extensionFlag=[0,0,0,0];this.extensionCode=this.extensionSize=0};g.NIFTI1.TYPE_NONE=0;g.NIFTI1.TYPE_BINARY=1;g.NIFTI1.TYPE_UINT8=2;g.NIFTI1.TYPE_INT16=4;g.NIFTI1.TYPE_INT32=
-8;g.NIFTI1.TYPE_FLOAT32=16;g.NIFTI1.TYPE_COMPLEX64=32;g.NIFTI1.TYPE_FLOAT64=64;g.NIFTI1.TYPE_RGB24=128;g.NIFTI1.TYPE_INT8=256;g.NIFTI1.TYPE_UINT16=512;g.NIFTI1.TYPE_UINT32=768;g.NIFTI1.TYPE_INT64=1024;g.NIFTI1.TYPE_UINT64=1280;g.NIFTI1.TYPE_FLOAT128=1536;g.NIFTI1.TYPE_COMPLEX128=1792;g.NIFTI1.TYPE_COMPLEX256=2048;g.NIFTI1.XFORM_UNKNOWN=0;g.NIFTI1.XFORM_SCANNER_ANAT=1;g.NIFTI1.XFORM_ALIGNED_ANAT=2;g.NIFTI1.XFORM_TALAIRACH=3;g.NIFTI1.XFORM_MNI_152=4;g.NIFTI1.SPATIAL_UNITS_MASK=7;g.NIFTI1.TEMPORAL_UNITS_MASK=
-56;g.NIFTI1.UNITS_UNKNOWN=0;g.NIFTI1.UNITS_METER=1;g.NIFTI1.UNITS_MM=2;g.NIFTI1.UNITS_MICRON=3;g.NIFTI1.UNITS_SEC=8;g.NIFTI1.UNITS_MSEC=16;g.NIFTI1.UNITS_USEC=24;g.NIFTI1.UNITS_HZ=32;g.NIFTI1.UNITS_PPM=40;g.NIFTI1.UNITS_RADS=48;g.NIFTI1.MAGIC_COOKIE=348;g.NIFTI1.STANDARD_HEADER_SIZE=348;g.NIFTI1.MAGIC_NUMBER_LOCATION=344;g.NIFTI1.MAGIC_NUMBER=[110,43,49];g.NIFTI1.MAGIC_NUMBER2=[110,105,49];g.NIFTI1.EXTENSION_HEADER_SIZE=8;g.NIFTI1.prototype.readHeader=function(f){f=new DataView(f);var c=g.Utils.getIntAt(f,
-0,this.littleEndian),a,b;c!==g.NIFTI1.MAGIC_COOKIE&&(this.littleEndian=!0,c=g.Utils.getIntAt(f,0,this.littleEndian));if(c!==g.NIFTI1.MAGIC_COOKIE)throw Error("This does not appear to be a NIFTI file!");this.dim_info=g.Utils.getByteAt(f,39);for(a=0;8>a;a+=1)c=40+2*a,this.dims[a]=g.Utils.getShortAt(f,c,this.littleEndian);this.intent_p1=g.Utils.getFloatAt(f,56,this.littleEndian);this.intent_p2=g.Utils.getFloatAt(f,60,this.littleEndian);this.intent_p3=g.Utils.getFloatAt(f,64,this.littleEndian);this.intent_code=
-g.Utils.getShortAt(f,68,this.littleEndian);this.datatypeCode=g.Utils.getShortAt(f,70,this.littleEndian);this.numBitsPerVoxel=g.Utils.getShortAt(f,72,this.littleEndian);this.slice_start=g.Utils.getShortAt(f,74,this.littleEndian);for(a=0;8>a;a+=1)c=76+4*a,this.pixDims[a]=g.Utils.getFloatAt(f,c,this.littleEndian);this.vox_offset=g.Utils.getFloatAt(f,108,this.littleEndian);this.scl_slope=g.Utils.getFloatAt(f,112,this.littleEndian);this.scl_inter=g.Utils.getFloatAt(f,116,this.littleEndian);this.slice_end=
-g.Utils.getShortAt(f,120,this.littleEndian);this.slice_code=g.Utils.getByteAt(f,122);this.xyzt_units=g.Utils.getByteAt(f,123);this.cal_max=g.Utils.getFloatAt(f,124,this.littleEndian);this.cal_min=g.Utils.getFloatAt(f,128,this.littleEndian);this.slice_duration=g.Utils.getFloatAt(f,132,this.littleEndian);this.toffset=g.Utils.getFloatAt(f,136,this.littleEndian);this.description=g.Utils.getStringAt(f,148,228);this.aux_file=g.Utils.getStringAt(f,228,252);this.qform_code=g.Utils.getShortAt(f,252,this.littleEndian);
-this.sform_code=g.Utils.getShortAt(f,254,this.littleEndian);this.quatern_b=g.Utils.getFloatAt(f,256,this.littleEndian);this.quatern_c=g.Utils.getFloatAt(f,260,this.littleEndian);this.quatern_d=g.Utils.getFloatAt(f,264,this.littleEndian);this.qoffset_x=g.Utils.getFloatAt(f,268,this.littleEndian);this.qoffset_y=g.Utils.getFloatAt(f,272,this.littleEndian);this.qoffset_z=g.Utils.getFloatAt(f,276,this.littleEndian);for(a=0;3>a;a+=1)for(b=0;4>b;b+=1)c=280+4*(4*a+b),this.affine[a][b]=g.Utils.getFloatAt(f,
-c,this.littleEndian);this.affine[3][0]=0;this.affine[3][1]=0;this.affine[3][2]=0;this.affine[3][3]=1;this.intent_name=g.Utils.getStringAt(f,328,344);this.magic=g.Utils.getStringAt(f,344,348);this.isHDR=this.magic===g.NIFTI1.MAGIC_NUMBER2;f.byteLength>g.NIFTI1.MAGIC_COOKIE&&(this.extensionFlag[0]=g.Utils.getByteAt(f,348),this.extensionFlag[1]=g.Utils.getByteAt(f,349),this.extensionFlag[2]=g.Utils.getByteAt(f,350),this.extensionFlag[3]=g.Utils.getByteAt(f,351),this.extensionFlag[0]&&(this.extensionSize=
-this.getExtensionSize(f),this.extensionCode=this.getExtensionCode(f)))};g.NIFTI1.prototype.toFormattedString=function(){var f=g.Utils.formatNumber;var c=""+("Dim Info = "+this.dim_info+"\n");c+="Image Dimensions (1-8): "+this.dims[0]+", "+this.dims[1]+", "+this.dims[2]+", "+this.dims[3]+", "+this.dims[4]+", "+this.dims[5]+", "+this.dims[6]+", "+this.dims[7]+"\n";c+="Intent Parameters (1-3): "+this.intent_p1+", "+this.intent_p2+", "+this.intent_p3+"\n";c+="Intent Code = "+this.intent_code+"\n";c+=
-"Datatype = "+this.datatypeCode+" ("+this.getDatatypeCodeString(this.datatypeCode)+")\n";c+="Bits Per Voxel = "+this.numBitsPerVoxel+"\n";c+="Slice Start = "+this.slice_start+"\n";c+="Voxel Dimensions (1-8): "+f(this.pixDims[0])+", "+f(this.pixDims[1])+", "+f(this.pixDims[2])+", "+f(this.pixDims[3])+", "+f(this.pixDims[4])+", "+f(this.pixDims[5])+", "+f(this.pixDims[6])+", "+f(this.pixDims[7])+"\n";c+="Image Offset = "+this.vox_offset+"\n";c+="Data Scale:  Slope = "+f(this.scl_slope)+"  Intercept = "+
-f(this.scl_inter)+"\n";c+="Slice End = "+this.slice_end+"\n";c+="Slice Code = "+this.slice_code+"\n";c+="Units Code = "+this.xyzt_units+" ("+this.getUnitsCodeString(g.NIFTI1.SPATIAL_UNITS_MASK&this.xyzt_units)+", "+this.getUnitsCodeString(g.NIFTI1.TEMPORAL_UNITS_MASK&this.xyzt_units)+")\n";c+="Display Range:  Max = "+f(this.cal_max)+"  Min = "+f(this.cal_min)+"\n";c+="Slice Duration = "+this.slice_duration+"\n";c+="Time Axis Shift = "+this.toffset+"\n";c+='Description: "'+this.description+'"\n';c+=
-'Auxiliary File: "'+this.aux_file+'"\n';c+="Q-Form Code = "+this.qform_code+" ("+this.getTransformCodeString(this.qform_code)+")\n";c+="S-Form Code = "+this.sform_code+" ("+this.getTransformCodeString(this.sform_code)+")\n";c+="Quaternion Parameters:  b = "+f(this.quatern_b)+"  c = "+f(this.quatern_c)+"  d = "+f(this.quatern_d)+"\n";c+="Quaternion Offsets:  x = "+this.qoffset_x+"  y = "+this.qoffset_y+"  z = "+this.qoffset_z+"\n";c+="S-Form Parameters X: "+f(this.affine[0][0])+", "+f(this.affine[0][1])+
-", "+f(this.affine[0][2])+", "+f(this.affine[0][3])+"\n";c+="S-Form Parameters Y: "+f(this.affine[1][0])+", "+f(this.affine[1][1])+", "+f(this.affine[1][2])+", "+f(this.affine[1][3])+"\n";c+="S-Form Parameters Z: "+f(this.affine[2][0])+", "+f(this.affine[2][1])+", "+f(this.affine[2][2])+", "+f(this.affine[2][3])+"\n";c+='Intent Name: "'+this.intent_name+'"\n';this.extensionFlag[0]&&(c+="Extension: Size = "+this.extensionSize+"  Code = "+this.extensionCode+"\n");return c};g.NIFTI1.prototype.getDatatypeCodeString=
-function(f){return f===g.NIFTI1.TYPE_UINT8?"1-Byte Unsigned Integer":f===g.NIFTI1.TYPE_INT16?"2-Byte Signed Integer":f===g.NIFTI1.TYPE_INT32?"4-Byte Signed Integer":f===g.NIFTI1.TYPE_FLOAT32?"4-Byte Float":f===g.NIFTI1.TYPE_FLOAT64?"8-Byte Float":f===g.NIFTI1.TYPE_RGB24?"RGB":f===g.NIFTI1.TYPE_INT8?"1-Byte Signed Integer":f===g.NIFTI1.TYPE_UINT16?"2-Byte Unsigned Integer":f===g.NIFTI1.TYPE_UINT32?"4-Byte Unsigned Integer":f===g.NIFTI1.TYPE_INT64?"8-Byte Signed Integer":f===g.NIFTI1.TYPE_UINT64?"8-Byte Unsigned Integer":
-"Unknown"};g.NIFTI1.prototype.getTransformCodeString=function(f){return f===g.NIFTI1.XFORM_SCANNER_ANAT?"Scanner":f===g.NIFTI1.XFORM_ALIGNED_ANAT?"Aligned":f===g.NIFTI1.XFORM_TALAIRACH?"Talairach":f===g.NIFTI1.XFORM_MNI_152?"MNI":"Unknown"};g.NIFTI1.prototype.getUnitsCodeString=function(f){return f===g.NIFTI1.UNITS_METER?"Meters":f===g.NIFTI1.UNITS_MM?"Millimeters":f===g.NIFTI1.UNITS_MICRON?"Microns":f===g.NIFTI1.UNITS_SEC?"Seconds":f===g.NIFTI1.UNITS_MSEC?"Milliseconds":f===g.NIFTI1.UNITS_USEC?"Microseconds":
-f===g.NIFTI1.UNITS_HZ?"Hz":f===g.NIFTI1.UNITS_PPM?"PPM":f===g.NIFTI1.UNITS_RADS?"Rads":"Unknown"};g.NIFTI1.prototype.getQformMat=function(){return this.convertNiftiQFormToNiftiSForm(this.quatern_b,this.quatern_c,this.quatern_d,this.qoffset_x,this.qoffset_y,this.qoffset_z,this.pixDims[1],this.pixDims[2],this.pixDims[3],this.pixDims[0])};g.NIFTI1.prototype.convertNiftiQFormToNiftiSForm=function(f,c,a,b,d,q,h,k,u,p){var g=[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],n=a;g[3][0]=g[3][1]=g[3][2]=0;g[3][3]=
-1;a=1-(f*f+c*c+n*n);1E-7>a?(a=1/Math.sqrt(f*f+c*c+n*n),f*=a,c*=a,n*=a,a=0):a=Math.sqrt(a);h=0<h?h:1;k=0<k?k:1;u=0<u?u:1;0>p&&(u=-u);g[0][0]=(a*a+f*f-c*c-n*n)*h;g[0][1]=2*(f*c-a*n)*k;g[0][2]=2*(f*n+a*c)*u;g[1][0]=2*(f*c+a*n)*h;g[1][1]=(a*a+c*c-f*f-n*n)*k;g[1][2]=2*(c*n-a*f)*u;g[2][0]=2*(f*n-a*c)*h;g[2][1]=2*(c*n+a*f)*k;g[2][2]=(a*a+n*n-c*c-f*f)*u;g[0][3]=b;g[1][3]=d;g[2][3]=q;return g};g.NIFTI1.prototype.convertNiftiSFormToNEMA=function(f){var c,a,b,d;var q=[[0,0,0],[0,0,0],[0,0,0]];var h=[[0,0,0],
-[0,0,0],[0,0,0]];var k=f[0][0];var g=f[0][1];var p=f[0][2];var e=f[1][0];var n=f[1][1];var l=f[1][2];var I=f[2][0];var t=f[2][1];var m=f[2][2];f=Math.sqrt(k*k+e*e+I*I);if(0===f)return null;k/=f;e/=f;I/=f;f=Math.sqrt(g*g+n*n+t*t);if(0===f)return null;g/=f;n/=f;t/=f;f=k*g+e*n+I*t;if(1E-4<Math.abs(f)){g-=f*k;n-=f*e;t-=f*I;f=Math.sqrt(g*g+n*n+t*t);if(0===f)return null;g/=f;n/=f;t/=f}f=Math.sqrt(p*p+l*l+m*m);0===f?(p=e*t-I*n,l=I*g-t*k,m=k*n-e*g):(p/=f,l/=f,m/=f);f=k*p+e*l+I*m;if(1E-4<Math.abs(f)){p-=f*
-k;l-=f*e;m-=f*I;f=Math.sqrt(p*p+l*l+m*m);if(0===f)return null;p/=f;l/=f;m/=f}f=g*p+n*l+t*m;if(1E-4<Math.abs(f)){p-=f*g;l-=f*n;m-=f*t;f=Math.sqrt(p*p+l*l+m*m);if(0===f)return null;p/=f;l/=f;m/=f}q[0][0]=k;q[0][1]=g;q[0][2]=p;q[1][0]=e;q[1][1]=n;q[1][2]=l;q[2][0]=I;q[2][1]=t;q[2][2]=m;I=this.nifti_mat33_determ(q);if(0===I)return null;var F=-666;k=e=n=l=1;g=2;p=3;for(t=1;3>=t;t+=1)for(m=1;3>=m;m+=1)if(t!==m)for(c=1;3>=c;c+=1)if(t!==c&&m!==c)for(h[0][0]=h[0][1]=h[0][2]=h[1][0]=h[1][1]=h[1][2]=h[2][0]=
-h[2][1]=h[2][2]=0,a=-1;1>=a;a+=2)for(b=-1;1>=b;b+=2)for(d=-1;1>=d;d+=2)h[0][t-1]=a,h[1][m-1]=b,h[2][c-1]=d,f=this.nifti_mat33_determ(h),0<f*I&&(f=this.nifti_mat33_mul(h,q),f=f[0][0]+f[1][1]+f[2][2],f>F&&(F=f,k=t,g=m,p=c,e=a,n=b,l=d));q=h=f=I=t=m=0;switch(k*e){case 1:q="X";I="+";break;case -1:q="X";I="-";break;case 2:q="Y";I="+";break;case -2:q="Y";I="-";break;case 3:q="Z";I="+";break;case -3:q="Z",I="-"}switch(g*n){case 1:h="X";t="+";break;case -1:h="X";t="-";break;case 2:h="Y";t="+";break;case -2:h=
-"Y";t="-";break;case 3:h="Z";t="+";break;case -3:h="Z",t="-"}switch(p*l){case 1:f="X";m="+";break;case -1:f="X";m="-";break;case 2:f="Y";m="+";break;case -2:f="Y";m="-";break;case 3:f="Z";m="+";break;case -3:f="Z",m="-"}return q+h+f+I+t+m};g.NIFTI1.prototype.nifti_mat33_mul=function(f,c){var a=[[0,0,0],[0,0,0],[0,0,0]],b,d;for(b=0;3>b;b+=1)for(d=0;3>d;d+=1)a[b][d]=f[b][0]*c[0][d]+f[b][1]*c[1][d]+f[b][2]*c[2][d];return a};g.NIFTI1.prototype.nifti_mat33_determ=function(f){var c=f[0][0];var a=f[0][1];
-var b=f[0][2];var d=f[1][0];var q=f[1][1];var h=f[1][2];var k=f[2][0];var g=f[2][1];f=f[2][2];return c*q*f-c*g*h-d*a*f+d*g*b+k*a*h-k*q*b};g.NIFTI1.prototype.getExtensionLocation=function(){return g.NIFTI1.MAGIC_COOKIE+4};g.NIFTI1.prototype.getExtensionSize=function(f){return g.Utils.getIntAt(f,this.getExtensionLocation(),this.littleEndian)};g.NIFTI1.prototype.getExtensionCode=function(f){return g.Utils.getIntAt(f,this.getExtensionLocation()+4,this.littleEndian)};"undefined"!==typeof m&&m.exports&&
-(m.exports=g.NIFTI1)},function(m,e,l){function g(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function f(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function c(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,
-enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function a(a,b){b=b.match(B);if(null===b||void 0===b[1])throw Error('Data source URL must have the form "<protocol>://<path>".');var d=b[1];a=a.get(d);if(void 0===a)throw Error("Unsupported data source: "+JSON.stringify(d)+".");return[a,b[2],d]}function b(b,d,c,h){var k=$jscomp.makeIterator(a(N,d));d=k.next().value;k=k.next().value;return d.getMesh(b,k,c,h)}function d(b,d,c,h){var k=$jscomp.makeIterator(a(F,
-d));d=k.next().value;k=k.next().value;return d.getMeshVertexAttributes(b,k,c,h)}function q(a){var b=Number.POSITIVE_INFINITY,d=Number.NEGATIVE_INFINITY;a=$jscomp.makeIterator(a);for(var c=a.next();!c.done;c=a.next())c=c.value,b=Math.min(b,c),d=Math.max(d,c);return[b,d]}function h(a,c,h,k){for(var r=[b(a,c.meshSourceUrl,h,k)],p=$jscomp.makeIterator(c.attributeSourceUrls),f=p.next();!f.done;f=p.next())r.push(d(a,f.value,h,k));return Promise.all(r).then(function(a){function b(a,b,d){for(var c=a.length,
-k=0;k<c;++k){var r=a[k],p=b[k],f=d,n=$jscomp.makeIterator(q(p)),g=n.next().value;n=n.next().value;h.info.vertexAttributes.push({name:r.name,source:f,numComponents:r.numComponents,dataType:r.dataType,min:g,max:n});h.vertexAttributes.push(p)}}var d=a[0],h={info:{numVertices:d.info.numVertices,numTriangles:d.info.numTriangles,vertexAttributes:[]},vertexPositions:d.vertexPositions,indices:d.indices,vertexNormals:d.vertexNormals,vertexAttributes:[]};b(d.info.vertexAttributes,d.vertexAttributes);c.attributeSourceUrls.forEach(function(c,
-h){h=a[h+1];if(h.numVertices!==d.info.numVertices)throw Error("Vertex attribute source "+JSON.stringify(c)+" specifies attributes for "+(h.numVertices+" vertices, but mesh has "+d.info.numVertices+" vertices."));b(h.attributeInfo,h.attributes,c)});return h})}e.a=function(a,b){N.set(a,b)};e.b=function(a,b){F.set(a,b)};m=l(2);var k=l(8),u=l(19),p=l(109),x=l(5),n=l(15);l=l(0);var v=function(){function a(a,b){for(var d=0;d<b.length;d++){var c=b[d];c.enumerable=c.enumerable||!1;c.configurable=!0;"value"in
-c&&(c.writable=!0);Object.defineProperty(a,c.key,c)}}return function(b,d,c){d&&a(b.prototype,d);c&&a(b,c);return b}}(),I=function A(a,b,d){null===a&&(a=Function.prototype);var c=Object.getOwnPropertyDescriptor(a,b);if(void 0===c){if(a=Object.getPrototypeOf(a),null!==a)return A(a,b,d)}else{if("value"in c)return c.value;b=c.get;return void 0===b?void 0:b.call(d)}};e=this&&this.__decorate||function(a,b,d,c){var h=arguments.length,k=3>h?b:null===c?c=Object.getOwnPropertyDescriptor(b,d):c,r;if("object"===
-typeof Reflect&&"function"===typeof Reflect.decorate)k=Reflect.decorate(a,b,d,c);else for(var q=a.length-1;0<=q;q--)if(r=a[q])k=(3>h?r(k):3<h?r(b,d,k):r(b,d))||k;return 3<h&&k&&Object.defineProperty(b,d,k),k};var t=function(a){function b(){g(this,b);var a=f(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));a.data=null;return a}c(b,a);v(b,[{key:"freeSystemMemory",value:function(){this.data=null}},{key:"serialize",value:function(a,d){I(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),
-"serialize",this).call(this,a,d);var c=this.data,h=c.vertexPositions,k=c.indices,r=c.vertexNormals;c=c.vertexAttributes;a.vertexPositions=h;a.indices=k;a.vertexNormals=r;a.vertexAttributes=c;a=new Set;a.add(h.buffer);a.add(k.buffer);a.add(r.buffer);h=$jscomp.makeIterator(c);for(k=h.next();!k.done;k=h.next())a.add(k.value.buffer);d.push.apply(d,[].concat($jscomp.arrayFromIterable(a)));this.data=null}},{key:"downloadSucceeded",value:function(){var a=this.data,d=a.vertexAttributes;a=this.gpuMemoryBytes=
-a.vertexPositions.byteLength+a.indices.byteLength+a.vertexNormals.byteLength;d=$jscomp.makeIterator(d);for(var c=d.next();!c.done;c=d.next())a+=c.value.byteLength;this.systemMemoryBytes=this.gpuMemoryBytes=a;I(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"downloadSucceeded",this).call(this)}}]);return b}(m.Chunk),N=new Map,F=new Map,B=/^(?:([a-zA-Z-+_]+):\/\/)?(.*)$/,H=function(a){function b(){g(this,b);return f(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}c(b,
-a);v(b,[{key:"getChunk",value:function(){var a=p.b,b=this.chunks.get(a);void 0===b&&(b=this.getNewChunk_(t),b.initialize(a),this.addChunk(b));return b}},{key:"download",value:function(a,b){var d=this;return h(this.chunkManager,this.parameters,function(){return{priorityTier:a.priorityTier,priority:a.priority}},b).then(function(b){if(Object(x.c)(b.info)!==Object(x.c)(d.parameters.info))throw Error("Mesh info has changed.");void 0===b.vertexNormals&&(b.vertexNormals=Object(u.b)(b.vertexPositions,b.indices));
-a.data=b})}}]);return b}(Object(m.WithParameters)(m.ChunkSource,p.d));H=e([Object(l.g)()],H);m=function(a){function b(a,d){g(this,b);var c=f(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a,d));c.source=c.registerDisposer(a.getRef(d.source));c.registerDisposer(c.chunkManager.recomputeChunkPriorities.add(function(){c.updateChunkPriorities()}));return c}c(b,a);v(b,[{key:"updateChunkPriorities",value:function(){var a=this.visibility.value;if(a!==Number.NEGATIVE_INFINITY){var b=Object(n.b)(a);
-a=Object(n.a)(a);var d=this.chunkManager,c=this.source.getChunk();d.requestChunk(c,b,a+50)}}}]);return b}(Object(n.c)(Object(m.withChunkManager)(l.c)));m=e([Object(l.g)(p.c)],m);Object(l.e)(p.a,function(a,b){var d=this.getRef(a.chunkManager);try{return h(d,a.parameters,function(){return{priorityTier:k.d.VISIBLE,priority:1E3}},b).then(function(a){return{value:a.info}})}finally{d.dispose()}})},function(m,e,l){e.a=function(f){f=f instanceof ArrayBuffer?new Uint8Array(f):new Uint8Array(f.buffer,f.byteOffset,
-f.byteLength);var c=new Uint8Array(f.buffer,f.byteOffset,f.byteLength);return 2<c.length&&31===c[0]&&139===c[1]?Object(g.inflate)(f):f};var g=l(26);l.n(g)},function(m,e,l){l(47);l(2);l(22);l(61);l(37);l(92);l(94);l(99);l(100);l(102);l(107);m.exports=l(110)},function(m,e,l){Object.defineProperty(e,"__esModule",{value:!0});l.d(e,"rpc",function(){return g});var g=new (l(0).a)(self)},function(m,e,l){var g=function(){function f(c,a){for(var b=0;b<a.length;b++){var d=a[b];d.enumerable=d.enumerable||!1;
-d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(c,d.key,d)}}return function(c,a,b){a&&f(c.prototype,a);b&&f(c,b);return c}}();m=function(){function f(){if(!(this instanceof f))throw new TypeError("Cannot call a class as a function");}g(f,null,[{key:"insertAfter",value:function(c,a){var b=c.next0;a.next0=b;a.prev0=c;c.next0=a;b.prev0=a}},{key:"insertBefore",value:function(c,a){var b=c.prev0;a.prev0=b;a.next0=c;c.prev0=a;b.next0=a}},{key:"front",value:function(c){var a=c.next0;
-return a===c?null:a}},{key:"back",value:function(c){var a=c.prev0;return a===c?null:a}},{key:"pop",value:function(c){var a=c.next0,b=c.prev0;a.prev0=b;b.next0=a;c.next0=null;c.prev0=null;return c}},{key:"iterator",value:function(c){function a(a,k){for(;;)switch(b){case 0:d=c.next0;case 1:if(d===c){b=3;break}b=4;return{value:d,done:!1};case 4:if(void 0===k){b=5;break}b=-1;throw k;case 5:case 2:d=d.next0;b=1;break;case 3:b=-1;default:return{value:void 0,done:!0}}}var b=0,d,q={next:function(b){return a(b,
-void 0)},throw:function(b){return a(void 0,b)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();q[Symbol.iterator]=function(){return this};return q}},{key:"reverseIterator",value:function(c){function a(a,k){for(;;)switch(b){case 0:d=c.prev0;case 1:if(d===c){b=3;break}b=4;return{value:d,done:!1};case 4:if(void 0===k){b=5;break}b=-1;throw k;case 5:case 2:d=d.prev0;b=1;break;case 3:b=-1;default:return{value:void 0,done:!0}}}var b=0,d,q={next:function(b){return a(b,
-void 0)},throw:function(b){return a(void 0,b)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();q[Symbol.iterator]=function(){return this};return q}},{key:"initializeHead",value:function(c){c.next0=c.prev0=c}}]);return f}();e.a=m},function(m,e,l){var g=function(){function f(c,a){for(var b=0;b<a.length;b++){var d=a[b];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(c,d.key,d)}}return function(c,a,b){a&&f(c.prototype,
-a);b&&f(c,b);return c}}();m=function(){function f(){if(!(this instanceof f))throw new TypeError("Cannot call a class as a function");}g(f,null,[{key:"insertAfter",value:function(c,a){var b=c.next1;a.next1=b;a.prev1=c;c.next1=a;b.prev1=a}},{key:"insertBefore",value:function(c,a){var b=c.prev1;a.prev1=b;a.next1=c;c.prev1=a;b.next1=a}},{key:"front",value:function(c){var a=c.next1;return a===c?null:a}},{key:"back",value:function(c){var a=c.prev1;return a===c?null:a}},{key:"pop",value:function(c){var a=
-c.next1,b=c.prev1;a.prev1=b;b.next1=a;c.next1=null;c.prev1=null;return c}},{key:"iterator",value:function(c){function a(a,k){for(;;)switch(b){case 0:d=c.next1;case 1:if(d===c){b=3;break}b=4;return{value:d,done:!1};case 4:if(void 0===k){b=5;break}b=-1;throw k;case 5:case 2:d=d.next1;b=1;break;case 3:b=-1;default:return{value:void 0,done:!0}}}var b=0,d,q={next:function(b){return a(b,void 0)},throw:function(b){return a(void 0,b)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();
-q[Symbol.iterator]=function(){return this};return q}},{key:"reverseIterator",value:function(c){function a(a,k){for(;;)switch(b){case 0:d=c.prev1;case 1:if(d===c){b=3;break}b=4;return{value:d,done:!1};case 4:if(void 0===k){b=5;break}b=-1;throw k;case 5:case 2:d=d.prev1;b=1;break;case 3:b=-1;default:return{value:void 0,done:!0}}}var b=0,d,q={next:function(b){return a(b,void 0)},throw:function(b){return a(void 0,b)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();
-q[Symbol.iterator]=function(){return this};return q}},{key:"initializeHead",value:function(c){c.next1=c.prev1=c}}]);return f}();e.a=m},function(m,e,l){l(3)},function(m,e,l){l(3)},function(m,e,l){function g(a,b,d){var c=b[0],h=b[1],k=b[2],f=b[3],p=b[4],g=b[5],n=b[6],e=b[7],l=b[8],t=b[9],m=b[10],F=b[11],B=b[12],H=b[13],w=b[14];b=b[15];var A=d[0],K=d[1],r=d[2],z=d[3];a[0]=A*c+K*p+r*l+z*B;a[1]=A*h+K*g+r*t+z*H;a[2]=A*k+K*n+r*m+z*w;a[3]=A*f+K*e+r*F+z*b;A=d[4];K=d[5];r=d[6];z=d[7];a[4]=A*c+K*p+r*l+z*B;a[5]=
-A*h+K*g+r*t+z*H;a[6]=A*k+K*n+r*m+z*w;a[7]=A*f+K*e+r*F+z*b;A=d[8];K=d[9];r=d[10];z=d[11];a[8]=A*c+K*p+r*l+z*B;a[9]=A*h+K*g+r*t+z*H;a[10]=A*k+K*n+r*m+z*w;a[11]=A*f+K*e+r*F+z*b;A=d[12];K=d[13];r=d[14];z=d[15];a[12]=A*c+K*p+r*l+z*B;a[13]=A*h+K*g+r*t+z*H;a[14]=A*k+K*n+r*m+z*w;a[15]=A*f+K*e+r*F+z*b;return a}function f(a,b,d){a[0]=b[0]-d[0];a[1]=b[1]-d[1];a[2]=b[2]-d[2];a[3]=b[3]-d[3];a[4]=b[4]-d[4];a[5]=b[5]-d[5];a[6]=b[6]-d[6];a[7]=b[7]-d[7];a[8]=b[8]-d[8];a[9]=b[9]-d[9];a[10]=b[10]-d[10];a[11]=b[11]-
-d[11];a[12]=b[12]-d[12];a[13]=b[13]-d[13];a[14]=b[14]-d[14];a[15]=b[15]-d[15];return a}Object.defineProperty(e,"__esModule",{value:!0});e.create=function(){var a=new c.a(16);a[0]=1;a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=1;a[6]=0;a[7]=0;a[8]=0;a[9]=0;a[10]=1;a[11]=0;a[12]=0;a[13]=0;a[14]=0;a[15]=1;return a};e.clone=function(a){var b=new c.a(16);b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];b[4]=a[4];b[5]=a[5];b[6]=a[6];b[7]=a[7];b[8]=a[8];b[9]=a[9];b[10]=a[10];b[11]=a[11];b[12]=a[12];b[13]=a[13];b[14]=a[14];b[15]=
-a[15];return b};e.copy=function(a,b){a[0]=b[0];a[1]=b[1];a[2]=b[2];a[3]=b[3];a[4]=b[4];a[5]=b[5];a[6]=b[6];a[7]=b[7];a[8]=b[8];a[9]=b[9];a[10]=b[10];a[11]=b[11];a[12]=b[12];a[13]=b[13];a[14]=b[14];a[15]=b[15];return a};e.fromValues=function(a,b,d,q,h,k,f,p,g,n,e,l,t,m,F,B){var u=new c.a(16);u[0]=a;u[1]=b;u[2]=d;u[3]=q;u[4]=h;u[5]=k;u[6]=f;u[7]=p;u[8]=g;u[9]=n;u[10]=e;u[11]=l;u[12]=t;u[13]=m;u[14]=F;u[15]=B;return u};e.set=function(a,b,d,c,h,k,f,p,g,n,e,l,t,m,F,B,H){a[0]=b;a[1]=d;a[2]=c;a[3]=h;a[4]=
-k;a[5]=f;a[6]=p;a[7]=g;a[8]=n;a[9]=e;a[10]=l;a[11]=t;a[12]=m;a[13]=F;a[14]=B;a[15]=H;return a};e.identity=function(a){a[0]=1;a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=1;a[6]=0;a[7]=0;a[8]=0;a[9]=0;a[10]=1;a[11]=0;a[12]=0;a[13]=0;a[14]=0;a[15]=1;return a};e.transpose=function(a,b){if(a===b){var d=b[1],c=b[2],h=b[3],k=b[6],f=b[7],p=b[11];a[1]=b[4];a[2]=b[8];a[3]=b[12];a[4]=d;a[6]=b[9];a[7]=b[13];a[8]=c;a[9]=k;a[11]=b[14];a[12]=h;a[13]=f;a[14]=p}else a[0]=b[0],a[1]=b[4],a[2]=b[8],a[3]=b[12],a[4]=b[1],a[5]=b[5],
-a[6]=b[9],a[7]=b[13],a[8]=b[2],a[9]=b[6],a[10]=b[10],a[11]=b[14],a[12]=b[3],a[13]=b[7],a[14]=b[11],a[15]=b[15];return a};e.invert=function(a,b){var d=b[0],c=b[1],h=b[2],k=b[3],f=b[4],p=b[5],g=b[6],n=b[7],e=b[8],l=b[9],t=b[10],m=b[11],F=b[12],B=b[13],H=b[14];b=b[15];var w=d*p-c*f,A=d*g-h*f,K=d*n-k*f,r=c*g-h*p,z=c*n-k*p,G=h*n-k*g,D=e*B-l*F,C=e*H-t*F,E=e*b-m*F,O=l*H-t*B,M=l*b-m*B,Q=t*b-m*H,J=w*Q-A*M+K*O+r*E-z*C+G*D;if(!J)return null;J=1/J;a[0]=(p*Q-g*M+n*O)*J;a[1]=(h*M-c*Q-k*O)*J;a[2]=(B*G-H*z+b*r)*
-J;a[3]=(t*z-l*G-m*r)*J;a[4]=(g*E-f*Q-n*C)*J;a[5]=(d*Q-h*E+k*C)*J;a[6]=(H*K-F*G-b*A)*J;a[7]=(e*G-t*K+m*A)*J;a[8]=(f*M-p*E+n*D)*J;a[9]=(c*E-d*M-k*D)*J;a[10]=(F*z-B*K+b*w)*J;a[11]=(l*K-e*z-m*w)*J;a[12]=(p*C-f*O-g*D)*J;a[13]=(d*O-c*C+h*D)*J;a[14]=(B*A-F*r-H*w)*J;a[15]=(e*r-l*A+t*w)*J;return a};e.adjoint=function(a,b){var d=b[0],c=b[1],h=b[2],k=b[3],f=b[4],p=b[5],g=b[6],n=b[7],e=b[8],l=b[9],t=b[10],m=b[11],F=b[12],B=b[13],H=b[14];b=b[15];a[0]=p*(t*b-m*H)-l*(g*b-n*H)+B*(g*m-n*t);a[1]=-(c*(t*b-m*H)-l*(h*
-b-k*H)+B*(h*m-k*t));a[2]=c*(g*b-n*H)-p*(h*b-k*H)+B*(h*n-k*g);a[3]=-(c*(g*m-n*t)-p*(h*m-k*t)+l*(h*n-k*g));a[4]=-(f*(t*b-m*H)-e*(g*b-n*H)+F*(g*m-n*t));a[5]=d*(t*b-m*H)-e*(h*b-k*H)+F*(h*m-k*t);a[6]=-(d*(g*b-n*H)-f*(h*b-k*H)+F*(h*n-k*g));a[7]=d*(g*m-n*t)-f*(h*m-k*t)+e*(h*n-k*g);a[8]=f*(l*b-m*B)-e*(p*b-n*B)+F*(p*m-n*l);a[9]=-(d*(l*b-m*B)-e*(c*b-k*B)+F*(c*m-k*l));a[10]=d*(p*b-n*B)-f*(c*b-k*B)+F*(c*n-k*p);a[11]=-(d*(p*m-n*l)-f*(c*m-k*l)+e*(c*n-k*p));a[12]=-(f*(l*H-t*B)-e*(p*H-g*B)+F*(p*t-g*l));a[13]=d*(l*
-H-t*B)-e*(c*H-h*B)+F*(c*t-h*l);a[14]=-(d*(p*H-g*B)-f*(c*H-h*B)+F*(c*g-h*p));a[15]=d*(p*t-g*l)-f*(c*t-h*l)+e*(c*g-h*p);return a};e.determinant=function(a){var b=a[0],d=a[1],c=a[2],h=a[3],k=a[4],f=a[5],p=a[6],g=a[7],n=a[8],e=a[9],l=a[10],t=a[11],m=a[12],F=a[13],B=a[14];a=a[15];return(b*f-d*k)*(l*a-t*B)-(b*p-c*k)*(e*a-t*F)+(b*g-h*k)*(e*B-l*F)+(d*p-c*f)*(n*a-t*m)-(d*g-h*f)*(n*B-l*m)+(c*g-h*p)*(n*F-e*m)};e.multiply=g;e.translate=function(a,b,d){var c=d[0],h=d[1];d=d[2];if(b===a)a[12]=b[0]*c+b[4]*h+b[8]*
-d+b[12],a[13]=b[1]*c+b[5]*h+b[9]*d+b[13],a[14]=b[2]*c+b[6]*h+b[10]*d+b[14],a[15]=b[3]*c+b[7]*h+b[11]*d+b[15];else{var k=b[0];var f=b[1];var p=b[2];var g=b[3];var n=b[4];var e=b[5];var l=b[6];var t=b[7];var m=b[8];var F=b[9];var B=b[10];var H=b[11];a[0]=k;a[1]=f;a[2]=p;a[3]=g;a[4]=n;a[5]=e;a[6]=l;a[7]=t;a[8]=m;a[9]=F;a[10]=B;a[11]=H;a[12]=k*c+n*h+m*d+b[12];a[13]=f*c+e*h+F*d+b[13];a[14]=p*c+l*h+B*d+b[14];a[15]=g*c+t*h+H*d+b[15]}return a};e.scale=function(a,b,d){var c=d[0],h=d[1];d=d[2];a[0]=b[0]*c;
-a[1]=b[1]*c;a[2]=b[2]*c;a[3]=b[3]*c;a[4]=b[4]*h;a[5]=b[5]*h;a[6]=b[6]*h;a[7]=b[7]*h;a[8]=b[8]*d;a[9]=b[9]*d;a[10]=b[10]*d;a[11]=b[11]*d;a[12]=b[12];a[13]=b[13];a[14]=b[14];a[15]=b[15];return a};e.rotate=function(a,b,d,f){var h=f[0],k=f[1];f=f[2];var q=Math.sqrt(h*h+k*k+f*f);if(Math.abs(q)<c.b)return null;q=1/q;h*=q;k*=q;f*=q;var p=Math.sin(d);var g=Math.cos(d);var n=1-g;d=b[0];q=b[1];var e=b[2];var l=b[3];var t=b[4];var m=b[5];var F=b[6];var B=b[7];var H=b[8];var w=b[9];var A=b[10];var K=b[11];var r=
-h*h*n+g;var z=k*h*n+f*p;var G=f*h*n-k*p;var D=h*k*n-f*p;var C=k*k*n+g;var E=f*k*n+h*p;var O=h*f*n+k*p;h=k*f*n-h*p;k=f*f*n+g;a[0]=d*r+t*z+H*G;a[1]=q*r+m*z+w*G;a[2]=e*r+F*z+A*G;a[3]=l*r+B*z+K*G;a[4]=d*D+t*C+H*E;a[5]=q*D+m*C+w*E;a[6]=e*D+F*C+A*E;a[7]=l*D+B*C+K*E;a[8]=d*O+t*h+H*k;a[9]=q*O+m*h+w*k;a[10]=e*O+F*h+A*k;a[11]=l*O+B*h+K*k;b!==a&&(a[12]=b[12],a[13]=b[13],a[14]=b[14],a[15]=b[15]);return a};e.rotateX=function(a,b,d){var c=Math.sin(d);d=Math.cos(d);var h=b[4],k=b[5],f=b[6],p=b[7],g=b[8],n=b[9],
-e=b[10],l=b[11];b!==a&&(a[0]=b[0],a[1]=b[1],a[2]=b[2],a[3]=b[3],a[12]=b[12],a[13]=b[13],a[14]=b[14],a[15]=b[15]);a[4]=h*d+g*c;a[5]=k*d+n*c;a[6]=f*d+e*c;a[7]=p*d+l*c;a[8]=g*d-h*c;a[9]=n*d-k*c;a[10]=e*d-f*c;a[11]=l*d-p*c;return a};e.rotateY=function(a,b,d){var c=Math.sin(d);d=Math.cos(d);var h=b[0],k=b[1],f=b[2],p=b[3],g=b[8],n=b[9],e=b[10],l=b[11];b!==a&&(a[4]=b[4],a[5]=b[5],a[6]=b[6],a[7]=b[7],a[12]=b[12],a[13]=b[13],a[14]=b[14],a[15]=b[15]);a[0]=h*d-g*c;a[1]=k*d-n*c;a[2]=f*d-e*c;a[3]=p*d-l*c;a[8]=
-h*c+g*d;a[9]=k*c+n*d;a[10]=f*c+e*d;a[11]=p*c+l*d;return a};e.rotateZ=function(a,b,d){var c=Math.sin(d);d=Math.cos(d);var h=b[0],k=b[1],f=b[2],p=b[3],g=b[4],n=b[5],e=b[6],l=b[7];b!==a&&(a[8]=b[8],a[9]=b[9],a[10]=b[10],a[11]=b[11],a[12]=b[12],a[13]=b[13],a[14]=b[14],a[15]=b[15]);a[0]=h*d+g*c;a[1]=k*d+n*c;a[2]=f*d+e*c;a[3]=p*d+l*c;a[4]=g*d-h*c;a[5]=n*d-k*c;a[6]=e*d-f*c;a[7]=l*d-p*c;return a};e.fromTranslation=function(a,b){a[0]=1;a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=1;a[6]=0;a[7]=0;a[8]=0;a[9]=0;a[10]=1;
-a[11]=0;a[12]=b[0];a[13]=b[1];a[14]=b[2];a[15]=1;return a};e.fromScaling=function(a,b){a[0]=b[0];a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=b[1];a[6]=0;a[7]=0;a[8]=0;a[9]=0;a[10]=b[2];a[11]=0;a[12]=0;a[13]=0;a[14]=0;a[15]=1;return a};e.fromRotation=function(a,b,d){var f=d[0],h=d[1];d=d[2];var k=Math.sqrt(f*f+h*h+d*d);if(Math.abs(k)<c.b)return null;k=1/k;f*=k;h*=k;d*=k;k=Math.sin(b);b=Math.cos(b);var g=1-b;a[0]=f*f*g+b;a[1]=h*f*g+d*k;a[2]=d*f*g-h*k;a[3]=0;a[4]=f*h*g-d*k;a[5]=h*h*g+b;a[6]=d*h*g+f*k;a[7]=0;a[8]=
-f*d*g+h*k;a[9]=h*d*g-f*k;a[10]=d*d*g+b;a[11]=0;a[12]=0;a[13]=0;a[14]=0;a[15]=1;return a};e.fromXRotation=function(a,b){var d=Math.sin(b);b=Math.cos(b);a[0]=1;a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=b;a[6]=d;a[7]=0;a[8]=0;a[9]=-d;a[10]=b;a[11]=0;a[12]=0;a[13]=0;a[14]=0;a[15]=1;return a};e.fromYRotation=function(a,b){var d=Math.sin(b);b=Math.cos(b);a[0]=b;a[1]=0;a[2]=-d;a[3]=0;a[4]=0;a[5]=1;a[6]=0;a[7]=0;a[8]=d;a[9]=0;a[10]=b;a[11]=0;a[12]=0;a[13]=0;a[14]=0;a[15]=1;return a};e.fromZRotation=function(a,b){var d=
-Math.sin(b);b=Math.cos(b);a[0]=b;a[1]=d;a[2]=0;a[3]=0;a[4]=-d;a[5]=b;a[6]=0;a[7]=0;a[8]=0;a[9]=0;a[10]=1;a[11]=0;a[12]=0;a[13]=0;a[14]=0;a[15]=1;return a};e.fromRotationTranslation=function(a,b,d){var c=b[0],h=b[1],k=b[2],f=b[3],p=c+c,g=h+h,n=k+k;b=c*p;var e=c*g;c*=n;var l=h*g;h*=n;k*=n;p*=f;g*=f;f*=n;a[0]=1-(l+k);a[1]=e+f;a[2]=c-g;a[3]=0;a[4]=e-f;a[5]=1-(b+k);a[6]=h+p;a[7]=0;a[8]=c+g;a[9]=h-p;a[10]=1-(b+l);a[11]=0;a[12]=d[0];a[13]=d[1];a[14]=d[2];a[15]=1;return a};e.getTranslation=function(a,b){a[0]=
-b[12];a[1]=b[13];a[2]=b[14];return a};e.getScaling=function(a,b){var d=b[0],c=b[1],h=b[2],k=b[4],f=b[5],p=b[6],g=b[8],n=b[9];b=b[10];a[0]=Math.sqrt(d*d+c*c+h*h);a[1]=Math.sqrt(k*k+f*f+p*p);a[2]=Math.sqrt(g*g+n*n+b*b);return a};e.getRotation=function(a,b){var d=b[0]+b[5]+b[10];0<d?(d=2*Math.sqrt(d+1),a[3]=.25*d,a[0]=(b[6]-b[9])/d,a[1]=(b[8]-b[2])/d,a[2]=(b[1]-b[4])/d):b[0]>b[5]&b[0]>b[10]?(d=2*Math.sqrt(1+b[0]-b[5]-b[10]),a[3]=(b[6]-b[9])/d,a[0]=.25*d,a[1]=(b[1]+b[4])/d,a[2]=(b[8]+b[2])/d):b[5]>b[10]?
-(d=2*Math.sqrt(1+b[5]-b[0]-b[10]),a[3]=(b[8]-b[2])/d,a[0]=(b[1]+b[4])/d,a[1]=.25*d,a[2]=(b[6]+b[9])/d):(d=2*Math.sqrt(1+b[10]-b[0]-b[5]),a[3]=(b[1]-b[4])/d,a[0]=(b[8]+b[2])/d,a[1]=(b[6]+b[9])/d,a[2]=.25*d);return a};e.fromRotationTranslationScale=function(a,b,d,c){var h=b[0],k=b[1],f=b[2],p=b[3],g=h+h,n=k+k,q=f+f;b=h*g;var e=h*n;h*=q;var l=k*n;k*=q;f*=q;g*=p;n*=p;p*=q;q=c[0];var m=c[1];c=c[2];a[0]=(1-(l+f))*q;a[1]=(e+p)*q;a[2]=(h-n)*q;a[3]=0;a[4]=(e-p)*m;a[5]=(1-(b+f))*m;a[6]=(k+g)*m;a[7]=0;a[8]=
-(h+n)*c;a[9]=(k-g)*c;a[10]=(1-(b+l))*c;a[11]=0;a[12]=d[0];a[13]=d[1];a[14]=d[2];a[15]=1;return a};e.fromRotationTranslationScaleOrigin=function(a,b,d,c,h){var k=b[0],f=b[1],p=b[2],g=b[3],n=k+k,q=f+f,e=p+p;b=k*n;var l=k*q;k*=e;var m=f*q;f*=e;p*=e;n*=g;q*=g;g*=e;e=c[0];var F=c[1];c=c[2];var B=h[0],H=h[1];h=h[2];a[0]=(1-(m+p))*e;a[1]=(l+g)*e;a[2]=(k-q)*e;a[3]=0;a[4]=(l-g)*F;a[5]=(1-(b+p))*F;a[6]=(f+n)*F;a[7]=0;a[8]=(k+q)*c;a[9]=(f-n)*c;a[10]=(1-(b+m))*c;a[11]=0;a[12]=d[0]+B-(a[0]*B+a[4]*H+a[8]*h);a[13]=
-d[1]+H-(a[1]*B+a[5]*H+a[9]*h);a[14]=d[2]+h-(a[2]*B+a[6]*H+a[10]*h);a[15]=1;return a};e.fromQuat=function(a,b){var c=b[0],f=b[1],h=b[2];b=b[3];var k=c+c,g=f+f,p=h+h;c*=k;var e=f*k;f*=g;var n=h*k,l=h*g;h*=p;k*=b;g*=b;b*=p;a[0]=1-f-h;a[1]=e+b;a[2]=n-g;a[3]=0;a[4]=e-b;a[5]=1-c-h;a[6]=l+k;a[7]=0;a[8]=n+g;a[9]=l-k;a[10]=1-c-f;a[11]=0;a[12]=0;a[13]=0;a[14]=0;a[15]=1;return a};e.frustum=function(a,b,c,f,h,k,g){var d=1/(c-b),e=1/(h-f),n=1/(k-g);a[0]=2*k*d;a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=2*k*e;a[6]=0;a[7]=
-0;a[8]=(c+b)*d;a[9]=(h+f)*e;a[10]=(g+k)*n;a[11]=-1;a[12]=0;a[13]=0;a[14]=g*k*2*n;a[15]=0;return a};e.perspective=function(a,b,c,f,h){b=1/Math.tan(b/2);var d=1/(f-h);a[0]=b/c;a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=b;a[6]=0;a[7]=0;a[8]=0;a[9]=0;a[10]=(h+f)*d;a[11]=-1;a[12]=0;a[13]=0;a[14]=2*h*f*d;a[15]=0;return a};e.perspectiveFromFieldOfView=function(a,b,c,f){var d=Math.tan(b.upDegrees*Math.PI/180),k=Math.tan(b.downDegrees*Math.PI/180),g=Math.tan(b.leftDegrees*Math.PI/180);b=Math.tan(b.rightDegrees*Math.PI/
-180);var p=2/(g+b),e=2/(d+k);a[0]=p;a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=e;a[6]=0;a[7]=0;a[8]=-((g-b)*p*.5);a[9]=(d-k)*e*.5;a[10]=f/(c-f);a[11]=-1;a[12]=0;a[13]=0;a[14]=f*c/(c-f);a[15]=0;return a};e.ortho=function(a,b,c,f,h,k,g){var d=1/(b-c),e=1/(f-h),n=1/(k-g);a[0]=-2*d;a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=-2*e;a[6]=0;a[7]=0;a[8]=0;a[9]=0;a[10]=2*n;a[11]=0;a[12]=(b+c)*d;a[13]=(h+f)*e;a[14]=(g+k)*n;a[15]=1;return a};e.lookAt=function(a,b,d,f){var h=b[0],k=b[1];b=b[2];var g=f[0];var p=f[1];var e=f[2];var n=
-d[0];f=d[1];var q=d[2];if(Math.abs(h-n)<c.b&&Math.abs(k-f)<c.b&&Math.abs(b-q)<c.b)return mat4.identity(a);d=h-n;f=k-f;n=b-q;var l=1/Math.sqrt(d*d+f*f+n*n);d*=l;f*=l;n*=l;q=p*n-e*f;e=e*d-g*n;g=g*f-p*d;(l=Math.sqrt(q*q+e*e+g*g))?(l=1/l,q*=l,e*=l,g*=l):g=e=q=0;p=f*g-n*e;var t=n*q-d*g;var m=d*e-f*q;(l=Math.sqrt(p*p+t*t+m*m))?(l=1/l,p*=l,t*=l,m*=l):m=t=p=0;a[0]=q;a[1]=p;a[2]=d;a[3]=0;a[4]=e;a[5]=t;a[6]=f;a[7]=0;a[8]=g;a[9]=m;a[10]=n;a[11]=0;a[12]=-(q*h+e*k+g*b);a[13]=-(p*h+t*k+m*b);a[14]=-(d*h+f*k+n*b);
-a[15]=1;return a};e.targetTo=function(a,b,c,f){var d=b[0],k=b[1];b=b[2];var g=f[0],p=f[1],e=f[2];f=d-c[0];var n=k-c[1];c=b-c[2];var q=f*f+n*n+c*c;0<q&&(q=1/Math.sqrt(q),f*=q,n*=q,c*=q);q=p*c-e*n;e=e*f-g*c;g=g*n-p*f;a[0]=q;a[1]=e;a[2]=g;a[3]=0;a[4]=n*g-c*e;a[5]=c*q-f*g;a[6]=f*e-n*q;a[7]=0;a[8]=f;a[9]=n;a[10]=c;a[11]=0;a[12]=d;a[13]=k;a[14]=b;a[15]=1;return a};e.str=function(a){return"mat4("+a[0]+", "+a[1]+", "+a[2]+", "+a[3]+", "+a[4]+", "+a[5]+", "+a[6]+", "+a[7]+", "+a[8]+", "+a[9]+", "+a[10]+", "+
-a[11]+", "+a[12]+", "+a[13]+", "+a[14]+", "+a[15]+")"};e.frob=function(a){return Math.sqrt(Math.pow(a[0],2)+Math.pow(a[1],2)+Math.pow(a[2],2)+Math.pow(a[3],2)+Math.pow(a[4],2)+Math.pow(a[5],2)+Math.pow(a[6],2)+Math.pow(a[7],2)+Math.pow(a[8],2)+Math.pow(a[9],2)+Math.pow(a[10],2)+Math.pow(a[11],2)+Math.pow(a[12],2)+Math.pow(a[13],2)+Math.pow(a[14],2)+Math.pow(a[15],2))};e.add=function(a,b,c){a[0]=b[0]+c[0];a[1]=b[1]+c[1];a[2]=b[2]+c[2];a[3]=b[3]+c[3];a[4]=b[4]+c[4];a[5]=b[5]+c[5];a[6]=b[6]+c[6];a[7]=
-b[7]+c[7];a[8]=b[8]+c[8];a[9]=b[9]+c[9];a[10]=b[10]+c[10];a[11]=b[11]+c[11];a[12]=b[12]+c[12];a[13]=b[13]+c[13];a[14]=b[14]+c[14];a[15]=b[15]+c[15];return a};e.subtract=f;e.multiplyScalar=function(a,b,c){a[0]=b[0]*c;a[1]=b[1]*c;a[2]=b[2]*c;a[3]=b[3]*c;a[4]=b[4]*c;a[5]=b[5]*c;a[6]=b[6]*c;a[7]=b[7]*c;a[8]=b[8]*c;a[9]=b[9]*c;a[10]=b[10]*c;a[11]=b[11]*c;a[12]=b[12]*c;a[13]=b[13]*c;a[14]=b[14]*c;a[15]=b[15]*c;return a};e.multiplyScalarAndAdd=function(a,b,c,f){a[0]=b[0]+c[0]*f;a[1]=b[1]+c[1]*f;a[2]=b[2]+
-c[2]*f;a[3]=b[3]+c[3]*f;a[4]=b[4]+c[4]*f;a[5]=b[5]+c[5]*f;a[6]=b[6]+c[6]*f;a[7]=b[7]+c[7]*f;a[8]=b[8]+c[8]*f;a[9]=b[9]+c[9]*f;a[10]=b[10]+c[10]*f;a[11]=b[11]+c[11]*f;a[12]=b[12]+c[12]*f;a[13]=b[13]+c[13]*f;a[14]=b[14]+c[14]*f;a[15]=b[15]+c[15]*f;return a};e.exactEquals=function(a,b){return a[0]===b[0]&&a[1]===b[1]&&a[2]===b[2]&&a[3]===b[3]&&a[4]===b[4]&&a[5]===b[5]&&a[6]===b[6]&&a[7]===b[7]&&a[8]===b[8]&&a[9]===b[9]&&a[10]===b[10]&&a[11]===b[11]&&a[12]===b[12]&&a[13]===b[13]&&a[14]===b[14]&&a[15]===
-b[15]};e.equals=function(a,b){var d=a[0],f=a[1],h=a[2],k=a[3],g=a[4],p=a[5],e=a[6],n=a[7],l=a[8],m=a[9],t=a[10],N=a[11],F=a[12],B=a[13],H=a[14];a=a[15];var w=b[0],A=b[1],K=b[2],r=b[3],z=b[4],G=b[5],D=b[6],C=b[7],E=b[8],O=b[9],M=b[10],Q=b[11],J=b[12],y=b[13],L=b[14];b=b[15];return Math.abs(d-w)<=c.b*Math.max(1,Math.abs(d),Math.abs(w))&&Math.abs(f-A)<=c.b*Math.max(1,Math.abs(f),Math.abs(A))&&Math.abs(h-K)<=c.b*Math.max(1,Math.abs(h),Math.abs(K))&&Math.abs(k-r)<=c.b*Math.max(1,Math.abs(k),Math.abs(r))&&
-Math.abs(g-z)<=c.b*Math.max(1,Math.abs(g),Math.abs(z))&&Math.abs(p-G)<=c.b*Math.max(1,Math.abs(p),Math.abs(G))&&Math.abs(e-D)<=c.b*Math.max(1,Math.abs(e),Math.abs(D))&&Math.abs(n-C)<=c.b*Math.max(1,Math.abs(n),Math.abs(C))&&Math.abs(l-E)<=c.b*Math.max(1,Math.abs(l),Math.abs(E))&&Math.abs(m-O)<=c.b*Math.max(1,Math.abs(m),Math.abs(O))&&Math.abs(t-M)<=c.b*Math.max(1,Math.abs(t),Math.abs(M))&&Math.abs(N-Q)<=c.b*Math.max(1,Math.abs(N),Math.abs(Q))&&Math.abs(F-J)<=c.b*Math.max(1,Math.abs(F),Math.abs(J))&&
-Math.abs(B-y)<=c.b*Math.max(1,Math.abs(B),Math.abs(y))&&Math.abs(H-L)<=c.b*Math.max(1,Math.abs(H),Math.abs(L))&&Math.abs(a-b)<=c.b*Math.max(1,Math.abs(a),Math.abs(b))};var c=l(3);e.mul=g;e.sub=f},function(m,e,l){function g(){var a=new d.a(4);a[0]=0;a[1]=0;a[2]=0;a[3]=1;return a}function f(a,b,c){c*=.5;var d=Math.sin(c);a[0]=d*b[0];a[1]=d*b[1];a[2]=d*b[2];a[3]=Math.cos(c);return a}function c(a,b,c){var d=b[0],h=b[1],k=b[2];b=b[3];var f=c[0],g=c[1],p=c[2];c=c[3];a[0]=d*c+b*f+h*p-k*g;a[1]=h*c+b*g+k*
-f-d*p;a[2]=k*c+b*p+d*g-h*f;a[3]=b*c-d*f-h*g-k*p;return a}function a(a,b,c,d){var h=b[0],k=b[1],f=b[2];b=b[3];var g=c[0],p=c[1],e=c[2];c=c[3];var n=h*g+k*p+f*e+b*c;0>n&&(n=-n,g=-g,p=-p,e=-e,c=-c);if(1E-6<1-n){var q=Math.acos(n);var l=Math.sin(q);n=Math.sin((1-d)*q)/l;d=Math.sin(d*q)/l}else n=1-d;a[0]=n*h+d*g;a[1]=n*k+d*p;a[2]=n*f+d*e;a[3]=n*b+d*c;return a}function b(a,b){var c=b[0]+b[4]+b[8];if(0<c)c=Math.sqrt(c+1),a[3]=.5*c,c=.5/c,a[0]=(b[5]-b[7])*c,a[1]=(b[6]-b[2])*c,a[2]=(b[1]-b[3])*c;else{var d=
-0;b[4]>b[0]&&(d=1);b[8]>b[3*d+d]&&(d=2);var h=(d+1)%3,k=(d+2)%3;c=Math.sqrt(b[3*d+d]-b[3*h+h]-b[3*k+k]+1);a[d]=.5*c;c=.5/c;a[3]=(b[3*h+k]-b[3*k+h])*c;a[h]=(b[3*h+d]+b[3*d+h])*c;a[k]=(b[3*k+d]+b[3*d+k])*c}return a}Object.defineProperty(e,"__esModule",{value:!0});e.create=g;e.identity=function(a){a[0]=0;a[1]=0;a[2]=0;a[3]=1;return a};e.setAxisAngle=f;e.getAxisAngle=function(a,b){var c=2*Math.acos(b[3]),d=Math.sin(c/2);0!=d?(a[0]=b[0]/d,a[1]=b[1]/d,a[2]=b[2]/d):(a[0]=1,a[1]=0,a[2]=0);return c};e.multiply=
-c;e.rotateX=function(a,b,c){c*=.5;var d=b[0],h=b[1],k=b[2];b=b[3];var f=Math.sin(c);c=Math.cos(c);a[0]=d*c+b*f;a[1]=h*c+k*f;a[2]=k*c-h*f;a[3]=b*c-d*f;return a};e.rotateY=function(a,b,c){c*=.5;var d=b[0],h=b[1],k=b[2];b=b[3];var f=Math.sin(c);c=Math.cos(c);a[0]=d*c-k*f;a[1]=h*c+b*f;a[2]=k*c+d*f;a[3]=b*c-h*f;return a};e.rotateZ=function(a,b,c){c*=.5;var d=b[0],h=b[1],k=b[2];b=b[3];var f=Math.sin(c);c=Math.cos(c);a[0]=d*c+h*f;a[1]=h*c-d*f;a[2]=k*c+b*f;a[3]=b*c-k*f;return a};e.calculateW=function(a,b){var c=
-b[0],d=b[1];b=b[2];a[0]=c;a[1]=d;a[2]=b;a[3]=Math.sqrt(Math.abs(1-c*c-d*d-b*b));return a};e.slerp=a;e.invert=function(a,b){var c=b[0],d=b[1],h=b[2];b=b[3];var k=c*c+d*d+h*h+b*b;k=k?1/k:0;a[0]=-c*k;a[1]=-d*k;a[2]=-h*k;a[3]=b*k;return a};e.conjugate=function(a,b){a[0]=-b[0];a[1]=-b[1];a[2]=-b[2];a[3]=b[3];return a};e.fromMat3=b;e.fromEuler=function(a,b,c,d){var h=.5*Math.PI/180;b*=h;c*=h;d*=h;h=Math.sin(b);b=Math.cos(b);var k=Math.sin(c);c=Math.cos(c);var f=Math.sin(d);d=Math.cos(d);a[0]=h*c*d-b*k*
-f;a[1]=b*k*d+h*c*f;a[2]=b*c*f-h*k*d;a[3]=b*c*d+h*k*f;return a};e.str=function(a){return"quat("+a[0]+", "+a[1]+", "+a[2]+", "+a[3]+")"};var d=l(3),q=l(32),h=l(33);m=l(34);e.clone=m.b;e.fromValues=m.g;e.copy=m.c;e.set=m.l;e.add=m.a;e.mul=c;e.scale=m.k;e.dot=m.d;e.lerp=m.i;l=m.h;e.length=l;e.len=l;l=m.m;e.squaredLength=l;e.sqrLen=l;var k=m.j;e.normalize=k;e.exactEquals=m.f;e.equals=m.e;m=function(){var a=h.create(),b=h.fromValues(1,0,0),c=h.fromValues(0,1,0);return function(d,g,e){var p=h.dot(g,e);if(-.999999>
-p)return h.cross(a,b,g),1E-6>h.len(a)&&h.cross(a,c,g),h.normalize(a,a),f(d,a,Math.PI),d;if(.999999<p)return d[0]=0,d[1]=0,d[2]=0,d[3]=1,d;h.cross(a,g,e);d[0]=a[0];d[1]=a[1];d[2]=a[2];d[3]=1+p;return k(d,d)}}();e.rotationTo=m;m=function(){var b=g(),c=g();return function(d,h,k,f,g,e){a(b,h,g,e);a(c,k,f,e);a(d,b,c,2*e*(1-e));return d}}();e.sqlerp=m;m=function(){var a=q.a();return function(c,d,h,f){a[0]=h[0];a[3]=h[1];a[6]=h[2];a[1]=f[0];a[4]=f[1];a[7]=f[2];a[2]=-d[0];a[5]=-d[1];a[8]=-d[2];return k(c,
-b(c,a))}}();e.setAxes=m},function(m,e,l){function g(){var c=new f.a(2);c[0]=0;c[1]=0;return c}var f=l(3);(function(){var c=g();return function(a,b,d,f,h,k){b||(b=2);d||(d=0);for(f=f?Math.min(f*b+d,a.length):a.length;d<f;d+=b)c[0]=a[d],c[1]=a[d+1],h(c,c,k),a[d]=c[0],a[d+1]=c[1];return a}})()},function(m,e,l){var g=function(){function f(c,a){for(var b=0;b<a.length;b++){var d=a[b];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(c,d.key,d)}}return function(c,
-a,b){a&&f(c.prototype,a);b&&f(c,b);return c}}();m=function(){function f(c){if(!(this instanceof f))throw new TypeError("Cannot call a class as a function");this.compare=c}g(f,[{key:"meld",value:function(c,a){if(null===a)return c;if(null===c)return a;var b=this.compare;b(a,c)&&(b=c,c=a,a=b);b=c.child0;a.next0=b;a.prev0=c;null!==b&&(b.prev0=a);c.child0=a;return c}},{key:"combineChildren",value:function(c){var a=c.child0;if(null===a)return null;for(c=null;;){var b=a.next0;if(null===b)var d=null;else d=
-b.next0,a=this.meld(a,b);a.next0=c;c=a;if(null===d)break;a=d}d=c;for(c=c.next0;null!==c;)a=c.next0,d=this.meld(d,c),c=a;d.prev0=null;d.next0=null;return d}},{key:"removeMin",value:function(c){var a=this.combineChildren(c);c.next0=null;c.prev0=null;c.child0=null;return a}},{key:"remove",value:function(c,a){if(c===a)return this.removeMin(c);var b=a.prev0,d=a.next0;b.child0===a?b.child0=d:b.next0=d;null!==d&&(d.prev0=b);c=this.meld(c,this.combineChildren(a));a.next0=null;a.prev0=null;a.child0=null;return c}},
-{key:"entries",value:function(c){function a(a,e){for(;;)switch(b){case 0:if(null===c){b=1;break}k=c.child0;b=2;return{value:c,done:!1};case 2:if(void 0===e){b=3;break}b=-1;throw e;case 3:case 4:if(null===k){b=5;break}h=k.next0;f=$jscomp.makeIterator(g.entries(k));case 6:if((d=f.next(a)).done){b=7;break}b=8;return{value:d.value,done:!1};case 8:if(void 0===e){b=9;break}b=-1;throw e;case 9:b=6;break;case 7:k=h;b=4;break;case 5:case 1:b=-1;default:return{value:void 0,done:!0}}}var b=0,d,f,h,k,g=this,
-e={next:function(b){return a(b,void 0)},throw:function(b){return a(void 0,b)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();e[Symbol.iterator]=function(){return this};return e}},{key:"removedEntries",value:function(c){function a(a,e){for(;;)switch(b){case 0:if(null===c){b=1;break}k=c.child0;c.child0=null;c.next0=null;c.prev0=null;b=2;return{value:c,done:!1};case 2:if(void 0===e){b=3;break}b=-1;throw e;case 3:case 4:if(null===k){b=5;break}h=k.next0;k.child0=
-null;k.next0=null;k.prev0=null;f=$jscomp.makeIterator(g.entries(k));case 6:if((d=f.next(a)).done){b=7;break}b=8;return{value:d.value,done:!1};case 8:if(void 0===e){b=9;break}b=-1;throw e;case 9:b=6;break;case 7:k=h;b=4;break;case 5:case 1:b=-1;default:return{value:void 0,done:!0}}}var b=0,d,f,h,k,g=this,e={next:function(b){return a(b,void 0)},throw:function(b){return a(void 0,b)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();e[Symbol.iterator]=function(){return this};
-return e}}]);return f}();e.a=m},function(m,e,l){var g=function(){function f(c,a){for(var b=0;b<a.length;b++){var d=a[b];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(c,d.key,d)}}return function(c,a,b){a&&f(c.prototype,a);b&&f(c,b);return c}}();m=function(){function f(c){if(!(this instanceof f))throw new TypeError("Cannot call a class as a function");this.compare=c}g(f,[{key:"meld",value:function(c,a){if(null===a)return c;if(null===c)return a;var b=
-this.compare;b(a,c)&&(b=c,c=a,a=b);b=c.child1;a.next1=b;a.prev1=c;null!==b&&(b.prev1=a);c.child1=a;return c}},{key:"combineChildren",value:function(c){var a=c.child1;if(null===a)return null;for(c=null;;){var b=a.next1;if(null===b)var d=null;else d=b.next1,a=this.meld(a,b);a.next1=c;c=a;if(null===d)break;a=d}d=c;for(c=c.next1;null!==c;)a=c.next1,d=this.meld(d,c),c=a;d.prev1=null;d.next1=null;return d}},{key:"removeMin",value:function(c){var a=this.combineChildren(c);c.next1=null;c.prev1=null;c.child1=
-null;return a}},{key:"remove",value:function(c,a){if(c===a)return this.removeMin(c);var b=a.prev1,d=a.next1;b.child1===a?b.child1=d:b.next1=d;null!==d&&(d.prev1=b);c=this.meld(c,this.combineChildren(a));a.next1=null;a.prev1=null;a.child1=null;return c}},{key:"entries",value:function(c){function a(a,e){for(;;)switch(b){case 0:if(null===c){b=1;break}k=c.child1;b=2;return{value:c,done:!1};case 2:if(void 0===e){b=3;break}b=-1;throw e;case 3:case 4:if(null===k){b=5;break}h=k.next1;f=$jscomp.makeIterator(g.entries(k));
-case 6:if((d=f.next(a)).done){b=7;break}b=8;return{value:d.value,done:!1};case 8:if(void 0===e){b=9;break}b=-1;throw e;case 9:b=6;break;case 7:k=h;b=4;break;case 5:case 1:b=-1;default:return{value:void 0,done:!0}}}var b=0,d,f,h,k,g=this,e={next:function(b){return a(b,void 0)},throw:function(b){return a(void 0,b)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();e[Symbol.iterator]=function(){return this};return e}},{key:"removedEntries",value:function(c){function a(a,
-e){for(;;)switch(b){case 0:if(null===c){b=1;break}k=c.child1;c.child1=null;c.next1=null;c.prev1=null;b=2;return{value:c,done:!1};case 2:if(void 0===e){b=3;break}b=-1;throw e;case 3:case 4:if(null===k){b=5;break}h=k.next1;k.child1=null;k.next1=null;k.prev1=null;f=$jscomp.makeIterator(g.entries(k));case 6:if((d=f.next(a)).done){b=7;break}b=8;return{value:d.value,done:!1};case 8:if(void 0===e){b=9;break}b=-1;throw e;case 9:b=6;break;case 7:k=h;b=4;break;case 5:case 1:b=-1;default:return{value:void 0,
-done:!0}}}var b=0,d,f,h,k,g=this,e={next:function(b){return a(b,void 0)},throw:function(b){return a(void 0,b)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();e[Symbol.iterator]=function(){return this};return e}}]);return f}();e.a=m},function(m,e,l){l.d(e,"a",function(){return c});var g=l(1),f=function(){function a(a,c){for(var b=0;b<c.length;b++){var d=c[b];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,
-d)}}return function(b,c,f){c&&a(b.prototype,c);f&&a(b,f);return b}}(),c=function(){function a(b,c){c=void 0===c?g.c:c;if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");this.size=g.l.clone(b);this.transform=g.g.clone(c);this.invTransform=g.g.invert(g.g.create(),c)}f(a,[{key:"toObject",value:function(a){a.size=this.size;a.transform=this.transform}},{key:"localSpatialToGlobal",value:function(a,c){return g.l.transformMat4(a,c,this.transform)}},{key:"globalToLocalSpatial",
-value:function(a,c){return g.l.transformMat4(a,c,this.invTransform)}},{key:"globalToLocalGrid",value:function(a,c){this.globalToLocalSpatial(a,c);g.l.divide(a,a,this.size);return a}},{key:"localSpatialVectorToGlobal",value:function(a,c){return Object(g.k)(a,c,this.transform)}},{key:"globalToLocalSpatialVector",value:function(a,c){return Object(g.k)(a,c,this.invTransform)}},{key:"assignLocalSpatialToGlobalMat4",value:function(a){return g.g.copy(a,this.transform)}}],[{key:"get",value:function(b,c){c=
-void 0===c?g.c:c;var d=a.cache,h=JSON.stringify([Array.from(b),Array.from(c)]),k=d.get(h);void 0===k&&(k=new a(b,c),d.set(h,k));return k}},{key:"fromObject",value:function(b){return a.get(b.size,b.transform)}}]);return a}();c.cache=new Map},function(m,e,l){e.a=function(g,f){return g===f?!0:1E-6>Math.abs(g-f)/Math.min(Math.abs(g),Math.abs(f))}},function(m,e,l){function g(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);
-a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}var f=l(60);m=l(0);var c=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),a=function q(a,b,c){null===a&&(a=Function.prototype);var h=
-Object.getOwnPropertyDescriptor(a,b);if(void 0===h){if(a=Object.getPrototypeOf(a),null!==a)return q(a,b,c)}else{if("value"in h)return h.value;b=h.get;return void 0===b?void 0:b.call(c)}};e=this&&this.__decorate||function(a,b,c,f){var h=arguments.length,k=3>h?b:null===f?f=Object.getOwnPropertyDescriptor(b,c):f,g;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)k=Reflect.decorate(a,b,c,f);else for(var e=a.length-1;0<=e;e--)if(g=a[e])k=(3>h?g(k):3<h?g(b,c,k):g(b,c))||k;return 3<h&&
-k&&Object.defineProperty(b,c,k),k};l=b=function(e){function h(a,b){b=void 0===b?{}:b;if(!(this instanceof h))throw new TypeError("Cannot call a class as a function");var c=(h.__proto__||Object.getPrototypeOf(h)).call(this,a,b);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");c=!c||"object"!==typeof c&&"function"!==typeof c?this:c;c.updatingValue_=!1;void 0!==a&&(c.base=new f.a(b.value),c.setupChangedHandler());return c}g(h,e);c(h,[{key:"initializeCounterpart",
-value:function(b,c){c=void 0===c?{}:c;c.value=this.value;a(h.prototype.__proto__||Object.getPrototypeOf(h.prototype),"initializeCounterpart",this).call(this,b,c)}},{key:"setupChangedHandler",value:function(){var a=this;this.registerDisposer(this.base.changed.add(function(){if(a.updatingValue_)a.updatingValue_=!1;else{var b=a.rpc;null!==b&&b.invoke("SharedWatchableValue.changed",{id:a.rpcId,value:a.value})}}))}},{key:"value",get:function(){return this.base.value},set:function(a){this.base.value=a}},
-{key:"changed",get:function(){return this.base.changed}}],[{key:"makeFromExisting",value:function(a,c){var h=new b;h.base=c;h.setupChangedHandler();h.initializeCounterpart(a);return h}},{key:"make",value:function(a,c){return b.makeFromExisting(a,new f.a(c))}}]);return h}(m.c);l=b=e([Object(m.g)("SharedWatchableValue")],l);Object(m.f)("SharedWatchableValue.changed",function(a){var b=this.get(a.id);b.updatingValue_=!0;b.base.value=a.value;b.updatingValue_=!1});var b},function(m,e,l){function g(a,b){if("function"!==
-typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function f(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}l.d(e,"a",function(){return b});var c=l(14),a=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=
-d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),b=function(){function b(a){f(this,b);this.value_=a;this.changed=new c.a}a(b,[{key:"value",get:function(){return this.value_},set:function(a){a!==this.value_&&(this.value_=a,this.changed.dispatch())}}]);return b}();(function(b){function c(a,b,d){d=void 0===d?a:d;f(this,c);a=(c.__proto__||Object.getPrototypeOf(c)).call(this,a);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
-a=!a||"object"!==typeof a&&"function"!==typeof a?this:a;a.validator=b;a.defaultValue=d;return a}g(c,b);a(c,[{key:"toJSON",value:function(){if(this.value_!==this.defaultValue)return this.value_}},{key:"reset",value:function(){this.value=this.defaultValue}},{key:"restoreState",value:function(a){if(void 0!==a){var b=this.validator;try{this.value=b(a);return}catch(u){}}this.value=this.defaultValue}}]);return c})(b)},function(m,e,l){function g(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");
-}function f(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function c(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function a(a,b){a&&
-(b.change_spec={change_stack_id:a.changeStackId},a.timeStamp&&(b.change_spec.time_stamp=a.timeStamp),a.skipEquivalences&&(b.change_spec.skip_equivalences=a.skipEquivalences))}function b(a,b){return Object(u.WithParameters)(Object(p.a)()(a),b)}function d(a,b){Object(v.c)(a,b,"fragmentKey");a.clipBounds&&(a.fragmentIds=q(a.fragmentIds,a.clipBounds));return a}function q(a,b){b;if(!a)return a;var c=[];a=$jscomp.makeIterator(a);for(var d=a.next();!d.done;d=a.next()){d=d.value;var f=B.l.clone([500,500,
-500]),k=d;var r=f;var g=new w.a;if(!g.tryParseString(k,16))throw Error("Couldn't parse fragmentId "+k+" as hex-encoded Uint64");if(g.high)throw Error("Fragment ids > 2^32 not supported yet");k=Object(B.a)(g);g=B.l.create();r=B.l.mul(g,k,r);k=B.l.create();B.l.scale(k,f,.5);g=B.l.create();B.l.add(g,r,k);h({center:g,size:f},b)&&c.push(d)}return c}function h(a,b){function c(a,b,c){return[].concat($jscomp.arrayFromIterable(a.map(function(a,d){return a+c*b[d]/2}).values()))}function d(a){return{min:B.l.clone(c(a.center,
-a.size,-1)),max:B.l.clone(c(a.center,a.size,1))}}a=d(a);b=d(b);return a.min[0]<=b.max[0]&&a.max[0]>=b.min[0]&&a.min[1]<=b.max[1]&&a.max[1]>=b.min[1]&&a.min[2]<=b.max[2]&&a.max[2]>=b.min[2]}function k(a,b){Object(H.e)(b);var c=Object(H.f)(b,"fragmentKey",H.h);b=Object(H.f)(b,"supervoxelId",H.h);if(c.length!==b.length)throw Error("Expected fragmentKey and supervoxelId arrays to have the same length.");a.fragmentIds=b.map(function(a,b){return a+"\x00"+c[b]});a.clipBounds&&(a.fragmentIds=q(a.fragmentIds,
-a.clipBounds))}Object.defineProperty(e,"__esModule",{value:!0});l.d(e,"BrainmapsVolumeChunkSource",function(){return z});l.d(e,"BrainmapsMeshSource",function(){return G});l.d(e,"BrainmapsSkeletonSource",function(){return D});var u=l(2),p=l(62),x=l(65),n=l(67),v=l(19),I=l(74);m=l(24);e=l(16);var t=l(21),N=l(13),F=l(12),B=l(1),H=l(5),w=l(6);l=l(0);var A=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,
-d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),K=this&&this.__decorate||function(a,b,c,d){var h=arguments.length,f=3>h?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d,k;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)f=Reflect.decorate(a,b,c,d);else for(var r=a.length-1;0<=r;r--)if(k=a[r])f=(3>h?k(f):3<h?k(b,c,f):k(b,c))||f;return 3<h&&f&&Object.defineProperty(b,c,f),f},r=new Map([[n.c.RAW,t.a],[n.c.JPEG,e.a],[n.c.COMPRESSED_SEGMENTATION,m.a]]),
-z=function(b){function d(){g(this,d);var a=f(this,(d.__proto__||Object.getPrototypeOf(d)).apply(this,arguments));a.chunkDecoder=r.get(a.parameters.encoding);return a}c(d,b);A(d,[{key:"applyEncodingParams",value:function(a){var b=this.parameters.encoding;switch(b){case n.c.RAW:a.subvolume_format="RAW";break;case n.c.JPEG:a.subvolume_format="SINGLE_IMAGE";a.image_format_options={image_format:"JPEG",jpeg_quality:70};break;case n.c.COMPRESSED_SEGMENTATION:a.subvolume_format="RAW";a.image_format_options=
-{compressed_segmentation_block_size:Object(B.m)(this.spec.compressedSegmentationBlockSize)};break;default:throw Error("Invalid encoding: "+b);}}},{key:"download",value:function(b,c){var d=this,h=this.parameters,f=this.computeChunkBounds(b),k=b.chunkDataSize;var r="/v1/volumes/"+h.volumeId+"/subvolume:binary";f={geometry:{corner:Object(B.m)(f),size:Object(B.m)(k),scale:h.scaleIndex}};this.applyEncodingParams(f);a(h.changeSpec,f);r={method:"POST",payload:JSON.stringify(f),path:r,responseType:"arraybuffer"};
-return Object(x.a)(h.instance,this.credentialsProvider,r,c).then(function(a){return d.chunkDecoder(b,a)})}}]);return d}(b(N.a,n.d));z=K([Object(l.g)()],z);var G=function(b){function h(){g(this,h);var a=f(this,(h.__proto__||Object.getPrototypeOf(h)).apply(this,arguments));a.manifestDecoder=void 0!==a.parameters.changeSpec?k:d;var b=a.parameters.changeSpec;b=void 0!==b?"&header.changeStackId="+b.changeStackId+"&return_supervoxel_ids=true":"";a.listFragmentsParams=b;return a}c(h,b);A(h,[{key:"download",
-value:function(a,b){var c=this,d=this.parameters;return Object(x.a)(d.instance,this.credentialsProvider,{method:"GET",path:"/v1/objects/"+d.volumeId+"/meshes/"+(d.meshName+":listfragments?object_id="+a.objectId)+this.listFragmentsParams,responseType:"json"},b).then(function(b){return c.manifestDecoder(a,b)})}},{key:"downloadFragment",value:function(b,c){var d=this.parameters,h=b.fragmentId;if(void 0!==d.changeSpec){var f=h.indexOf("\x00");var k=h.substring(0,f);h=h.substring(f+1)}else k=b.manifestChunk.objectId.toString();
-f="/v1/objects/"+d.volumeId+("/meshes/"+d.meshName)+"/fragment:binary";k={fragment_key:h,object_id:k};a(d.changeSpec,k);k={method:"POST",path:f,payload:JSON.stringify(k),responseType:"arraybuffer"};return Object(x.a)(d.instance,this.credentialsProvider,k,c).then(function(a){var c=new DataView(a),d=c.getUint32(0,!0);if(0!==c.getUint32(4,!0))throw Error("The number of vertices should not exceed 2^32-1.");Object(v.d)(b,a,F.b.LITTLE,8,d)})}}]);return h}(b(v.a,n.a));G=K([Object(l.g)()],G);var D=function(b){function d(){g(this,
-d);return f(this,(d.__proto__||Object.getPrototypeOf(d)).apply(this,arguments))}c(d,b);A(d,[{key:"download",value:function(b,c){var d=this.parameters,h={object_id:""+b.objectId},f="/v1/objects/"+d.volumeId+("/meshes/"+d.meshName)+"/skeleton:binary";a(d.changeSpec,h);h={method:"POST",path:f,payload:JSON.stringify(h),responseType:"arraybuffer"};return Object(x.a)(d.instance,this.credentialsProvider,h,c).then(function(a){var c=new DataView(a),d=c.getUint32(0,!0);if(0!==c.getUint32(4,!0))throw Error("The number of vertices should not exceed 2^32-1.");
-var h=c.getUint32(8,!0);if(0!==c.getUint32(12,!0))throw Error("The number of edges should not exceed 2^32-1.");Object(I.b)(b,a,F.b.LITTLE,16,d,void 0,h)})}}]);return d}(b(I.a,n.b));D=K([Object(l.g)()],D)},function(m,e,l){function g(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function f(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function c(a,b){if("function"!==
-typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}e.a=function(){return function(a){return function(a){function b(a){for(var c=[],d=0;d<arguments.length;++d)c[d-0]=arguments[d];g(this,b);var h;d=f(this,(h=b.__proto__||Object.getPrototypeOf(b)).call.apply(h,[].concat([this],
-$jscomp.arrayFromIterable(c))));d.credentialsProvider=d.rpc.getRef(c[1].credentialsProvider);return d}c(b,a);return b}(a)}};var a=l(63),b=l(64);m=l(0);e=this&&this.__decorate||function(a,b,c,f){var d=arguments.length,h=3>d?b:null===f?f=Object.getOwnPropertyDescriptor(b,c):f,k;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)h=Reflect.decorate(a,b,c,f);else for(var g=a.length-1;0<=g;g--)if(k=a[g])h=(3>d?k(h):3<d?k(b,c,h):k(b,c))||h;return 3<d&&h&&Object.defineProperty(b,c,h),h};l=
-function(d){function e(){g(this,e);var c=f(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments));c.get=Object(a.a)(function(a,d){return c.rpc.promiseInvoke(b.a,{providerId:c.rpcId,invalidCredentials:a},d)});return c}c(e,d);return e}(m.c);l=e([Object(m.g)(b.b)],l)},function(m,e,l){function g(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function f(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||
-"object"!==typeof b&&"function"!==typeof b?a:b}function c(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}e.a=function(b){var c,d,h;return function(f,k){if(void 0!==d&&(void 0===c||void 0===f||c.generation!==f.generation))return void 0===c&&h.addConsumer(k),
-d;c=void 0;h=new a.c;return d=b(f,h).then(function(a){c=a;h=void 0;return a},function(a){h.isCanceled&&(d=h=void 0);throw a;})}};var a=l(7);m=l(17);var b=l(30),d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();(function(a){function b(){g(this,b);return f(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,
-arguments))}c(b,a);return b})(m.a);var q=function(){function a(){g(this,a);this.providers=new Map}d(a,[{key:"register",value:function(a,b){this.providers.set(a,b)}},{key:"getCredentialsProvider",value:function(a,b){var c=this.providers.get(a);if(void 0===c)throw Error("No registered credentials provider: "+JSON.stringify(a));return c(b)}}]);return a}();(function(a){function b(){g(this,b);return f(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,new q))}c(b,a);d(b,[{key:"register",value:function(a,
-b){this.base.register(a,b)}}]);return b})(function(a){function h(a){g(this,h);var c=f(this,(h.__proto__||Object.getPrototypeOf(h)).call(this));c.base=a;c.memoize=new b.a;return c}c(h,a);d(h,[{key:"getCredentialsProvider",value:function(a,b){var c=this;return this.memoize.get({key:a,parameters:b},function(){return c.registerDisposer(c.base.getCredentialsProvider(a,b).addRef())})}}]);return h}(m.a))},function(m,e,l){e.b="CredentialsProvider";e.a="CredentialsProvider.get"},function(m,e,l){e.a=function(c,
-a,b,d){d=void 0===d?g.e:d;var e=void 0;return new Promise(function(h,k){function l(g){null!==e&&(e=Object(f.c)(c.serverUrls,b.path,b.method),e.responseType=b.responseType,e.setRequestHeader("Authorization",g.credentials.tokenType+" "+g.credentials.accessToken),e.onloadend=function(){if(null!==e){var b=this.status;200<=b&&300>b?(d.remove(p),h(this.response)):401===b?a.get(g,d).then(l):504===b||503===b?a.get(void 0,d).then(l):(d.remove(p),k(f.a.fromXhr(this)))}},e.send(b.payload))}var p=function(){var a=
-e;e=null;null!=a&&a.abort();k(g.a)};d.add(p);a.get(void 0,d).then(l)})};var g=l(7),f=l(11)},function(m,e,l){e.a=function(g){for(var f=0,c=g.length,a=0;a<c;++a)f=31*f+g.charCodeAt(a)|0;return f}},function(m,e,l){function g(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,
-b):a.__proto__=b)}function f(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}l.d(e,"c",function(){return c});l.d(e,"d",function(){return a});l.d(e,"a",function(){return b});l.d(e,"b",function(){return d});var c;(function(a){a[a.RAW=0]="RAW";a[a.JPEG=1]="JPEG";a[a.COMPRESSED_SEGMENTATION=2]="COMPRESSED_SEGMENTATION"})(c||(c={}));var a=function h(){f(this,h)};a.RPC_ID="brainmaps/VolumeChunkSource";var b=function k(){f(this,k)};b.RPC_ID="brainmaps/MeshSource";var d=
-function(a){function b(){f(this,b);var a=(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!a||"object"!==typeof a&&"function"!==typeof a?this:a}g(b,a);return b}(b);d.RPC_ID="brainmaps/SkeletonSource"},function(m,e,l){e.b="mesh/MeshLayer";e.a="mesh/FragmentSource"},function(m,e,l){function g(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+
-typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}var f=l(70),c=l(5),a=l(14),b=l(6);m=l(0);var d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),q=function p(a,b,c){null===
-a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return p(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};e=this&&this.__decorate||function(a,b,c,d){var h=arguments.length,f=3>h?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d,k;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)f=Reflect.decorate(a,b,c,d);else for(var g=a.length-1;0<=g;g--)if(k=a[g])f=(3>h?k(f):3<h?
-k(b,c,f):k(b,c))||f;return 3<h&&f&&Object.defineProperty(b,c,f),f};l=function(h){function k(){if(!(this instanceof k))throw new TypeError("Cannot call a class as a function");var b=(k.__proto__||Object.getPrototypeOf(k)).apply(this,arguments);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");b=!b||"object"!==typeof b&&"function"!==typeof b?this:b;b.disjointSets=new f.a;b.changed=new a.a;return b}g(k,h);d(k,[{key:"disposed",value:function(){this.changed=
-this.disjointSets=void 0;q(k.prototype.__proto__||Object.getPrototypeOf(k.prototype),"disposed",this).call(this)}},{key:"link",value:function(a,b){if(this.disjointSets.link(a,b)){var c=this.rpc;c&&c.invoke("DisjointUint64Sets.add",{id:this.rpcId,al:a.low,ah:a.high,bl:b.low,bh:b.high});this.changed.dispatch()}}},{key:"get",value:function(a){return this.disjointSets.get(a)}},{key:"clear",value:function(){if(this.disjointSets.clear()){var a=this.rpc;a&&a.invoke("DisjointUint64Sets.clear",{id:this.rpcId});
-this.changed.dispatch()}}},{key:"setElements",value:function(a){return this.disjointSets.setElements(a)}},{key:"toJSON",value:function(){return this.disjointSets.toJSON()}},{key:"restoreState",value:function(a){var d=this;this.clear();if(void 0!==a){var h=[new b.a,new b.a];Object(c.a)(a,function(a){Object(c.a)(a,function(a,b){h[b%2].parseString(String(a),10);0!==b&&d.link(h[0],h[1])})})}}},{key:"size",get:function(){return this.disjointSets.size}}],[{key:"makeWithCounterpart",value:function(a){var b=
-new this;b.initializeCounterpart(a);return b}}]);return k}(m.c);l=e([Object(m.g)("DisjointUint64Sets")],l);var h=new b.a,k=new b.a;Object(m.f)("DisjointUint64Sets.add",function(a){var b=this.get(a.id);h.low=a.al;h.high=a.ah;k.low=a.bl;k.high=a.bh;b.disjointSets.link(h,k)&&b.changed.dispatch()});Object(m.f)("DisjointUint64Sets.clear",function(a){a=this.get(a.id);a.disjointSets.clear()&&a.changed.dispatch()})},function(m,e,l){function g(a){for(var b=a,c=a[d];c!==a;)a=c,c=a[d];for(a=b[d];c!==a;)b[d]=
-c,b=a,a=b[d];return c}function f(a){function b(b,f){for(;;)switch(c){case 0:h=!0,d=a;case 1:if(!h&&d===a){c=3;break}c=4;return{value:d,done:!1};case 4:if(void 0===f){c=5;break}c=-1;throw f;case 5:d=d[q];case 2:h=!1;c=1;break;case 3:c=-1;default:return{value:void 0,done:!0}}}var c=0,d,h,f={next:function(a){return b(a,void 0)},throw:function(a){return b(void 0,a)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();f[Symbol.iterator]=function(){return this};return f}
-l.d(e,"a",function(){return u});var c=l(6),a=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();$jscomp.initSymbol();var b=Symbol("disjoint_sets:rank");$jscomp.initSymbol();var d=Symbol("disjoint_sets:parent");$jscomp.initSymbol();var q=Symbol("disjoint_sets:next");$jscomp.initSymbol();var h=Symbol("disjoint_sets:prev");
-$jscomp.initSymbol();var k=Symbol("disjoint_sets:min"),u=function(){function e(){if(!(this instanceof e))throw new TypeError("Cannot call a class as a function");this.map=new Map;this.generation=0}$jscomp.initSymbol();$jscomp.initSymbolIterator();a(e,[{key:"get",value:function(a){var b=this.map.get(a.toString());return void 0===b?a:g(b)[k]}},{key:"isMinElement",value:function(a){var b=this.get(a);return b===a||c.a.equal(b,a)}},{key:"makeSet",value:function(a){var c=a.toString(),f=this.map,e=f.get(c);
-return void 0===e?(a=e=a.clone(),a[d]=a,a[b]=0,a[q]=a[h]=a,e[k]=e,f.set(c,e),e):g(e)}},{key:"link",value:function(a,f){a=this.makeSet(a);f=this.makeSet(f);if(a===f)return!1;this.generation++;var g=a;var e=f,l=g[b],p=e[b];l>p?e[d]=g:(g[d]=e,l===p&&(e[b]=p+1),g=e);e=a;l=f;p=e[h];var n=l[h];l[h]=p;p[q]=l;e[h]=n;n[q]=e;a=a[k];f=f[k];g[k]=c.a.less(a,f)?a:f;return!0}},{key:"setElements",value:function(a){function b(b,l){for(;;)switch(c){case 0:g=a.toString();k=e.map.get(g);if(void 0!==k){c=1;break}c=3;
-return{value:a,done:!1};case 3:if(void 0===l){c=4;break}c=-1;throw l;case 4:c=2;break;case 1:h=$jscomp.makeIterator(f(k));case 5:if((d=h.next(b)).done){c=6;break}c=7;return{value:d.value,done:!1};case 7:if(void 0===l){c=8;break}c=-1;throw l;case 8:c=5;break;case 6:case 2:c=-1;default:return{value:void 0,done:!0}}}var c=0,d,h,k,g,e=this,l={next:function(a){return b(a,void 0)},throw:function(a){return b(void 0,a)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();
-l[Symbol.iterator]=function(){return this};return l}},{key:"clear",value:function(){var a=this.map;if(0===a.size)return!1;++this.generation;a.clear();return!0}},{key:"mappings",value:function(a){function b(b,l){for(;;)switch(c){case 0:a=void 0===a?Array(2):a,f=$jscomp.makeIterator(e.map.values()),h=f.next();case 1:if(h.done){c=3;break}d=h.value;a[0]=d;a[1]=g(d)[k];c=4;return{value:a,done:!1};case 4:if(void 0===l){c=5;break}c=-1;throw l;case 5:case 2:h=f.next();c=1;break;case 3:c=-1;default:return{value:void 0,
-done:!0}}}var c=0,d,h,f,e=this,l={next:function(a){return b(a,void 0)},throw:function(a){return b(void 0,a)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();l[Symbol.iterator]=function(){return this};return l}},{key:Symbol.iterator,value:function(){return this.mappings()}},{key:"toJSON",value:function(){for(var a=[],b=$jscomp.makeIterator(this.map.values()),h=b.next();!h.done;h=b.next()){var k=h.value;if(k[d]===k){h=[];k=$jscomp.makeIterator(f(k));for(var g=k.next();!g.done;g=
-k.next())h.push(g.value);h.sort(c.a.compare);a.push(h)}}a.sort(function(a,b){return c.a.compare(a[0],b[0])});return a.map(function(a){return a.map(function(a){return a.toString()})})}},{key:"size",get:function(){return this.map.size}}]);return e}()},function(m,e,l){function g(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});
-b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}var f=l(72),c=l(14);m=l(0);var a=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),b=function h(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return h(a,
-b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};e=this&&this.__decorate||function(a,b,c,d){var h=arguments.length,f=3>h?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d,k;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)f=Reflect.decorate(a,b,c,d);else for(var g=a.length-1;0<=g;g--)if(k=a[g])f=(3>h?k(f):3<h?k(b,c,f):k(b,c))||f;return 3<h&&f&&Object.defineProperty(b,c,f),f};l=d=function(h){function k(){if(!(this instanceof k))throw new TypeError("Cannot call a class as a function");
-var a=(k.__proto__||Object.getPrototypeOf(k)).apply(this,arguments);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");a=!a||"object"!==typeof a&&"function"!==typeof a?this:a;a.hashTable=new f.a;a.changed=new c.b;return a}g(k,h);$jscomp.initSymbol();$jscomp.initSymbolIterator();a(k,[{key:"disposed",value:function(){b(k.prototype.__proto__||Object.getPrototypeOf(k.prototype),"disposed",this).call(this);this.changed=this.hashTable=void 0}},{key:"add_",value:function(a){return this.hashTable.add(a)}},
-{key:"add",value:function(a){if(this.add_(a)){var b=this.rpc;b&&b.invoke("Uint64Set.add",{id:this.rpcId,value:a});this.changed.dispatch(a,!0)}}},{key:"has",value:function(a){return this.hashTable.has(a)}},{key:Symbol.iterator,value:function(){return this.hashTable.keys()}},{key:"delete_",value:function(a){return this.hashTable.delete(a)}},{key:"delete",value:function(a){if(this.delete_(a)){var b=this.rpc;b&&b.invoke("Uint64Set.delete",{id:this.rpcId,value:a});this.changed.dispatch(a,!1)}}},{key:"clear",
-value:function(){if(this.hashTable.clear()){var a=this.rpc;a&&a.invoke("Uint64Set.clear",{id:this.rpcId});this.changed.dispatch(null,!1)}}},{key:"toJSON",value:function(){for(var a=[],b=$jscomp.makeIterator(this),c=b.next();!c.done;c=b.next())a.push(c.value.toString());a.sort();return a}},{key:"size",get:function(){return this.hashTable.size}}],[{key:"makeWithCounterpart",value:function(a){var b=new d;b.initializeCounterpart(a);return b}}]);return k}(m.c);l=d=e([Object(m.g)("Uint64Set")],l);Object(m.f)("Uint64Set.add",
-function(a){var b=this.get(a.id);b.add_(a.value)&&b.changed.dispatch()});Object(m.f)("Uint64Set.delete",function(a){var b=this.get(a.id);b.delete_(a.value)&&b.changed.dispatch()});Object(m.f)("Uint64Set.clear",function(a){a=this.get(a.id);a.hashTable.clear()&&a.changed.dispatch()});var d},function(m,e,l){function g(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function f(a,b){if("function"!==
-typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}l.d(e,"a",function(){return x});var a=l(73),b=l(6),d=function F(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,
-b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return F(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},q=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),h=0,k=0,u=0,p=0;m=function(){function d(a){a=void 0===a?d.generateHashFunctions(3):a;c(this,d);this.loadFactor=
-.9;this.size=0;this.growFactor=1.2;this.maxHeight=8192;this.emptyHigh=this.emptyLow=4294967295;this.maxAttempts=this.maxRehashAttempts=5;this.maxWidth=4096/this.entryStride;this.generation=0;this.mungedEmptyKey=-1;this.hashFunctions=a;this.allocate(4,1)}q(d,[{key:"updateHashFunctions",value:function(a){this.hashFunctions=d.generateHashFunctions(a);this.mungedEmptyKey=-1}},{key:"tableWithMungedEmptyKey",value:function(a){for(var b=this.hashFunctions.length,c=Array(b),d=0;d<b;++d)c[d]=this.getHash(d,
-this.emptyLow,this.emptyHigh);d=this.mungedEmptyKey;if(-1===d)a:for(;;){d=16777216*Math.random()>>>0;for(var f=0;f<b;++f)for(var h=this.getHash(f,d,d),k=0;k<b;++k)if(c[k]===h)continue a;this.mungedEmptyKey=d;break}f=this.table;h=this.emptyLow;k=this.emptyHigh;for(var g=0;g<b;++g){var e=c[g];f[e]===h&&f[e+1]===k&&(f[e]=d,f[e+1]=d)}try{a(f)}finally{for(a=0;a<b;++a)g=c[a],f[g]===d&&f[g+1]===d&&(f[g]=h,f[g+1]=k)}}},{key:"getHash",value:function(a,b,c){a=this.hashFunctions[a];var d=this.width,f=this.height;
-d=a[0].compute(b,c)%d;b=a[1].compute(b,c)%f;return this.entryStride*(b*this.width+d)}},{key:"keys",value:function(a){function c(c,r){for(;;)switch(d){case 0:a=void 0===a?new b.a:a,m=t,n=m.emptyLow,p=m.emptyHigh,q=m.entryStride,l=t,e=l.table,g=0,k=e.length;case 1:if(!(g<k)){d=3;break}h=e[g];f=e[g+1];if(h===n&&f===p){d=4;break}a.low=h;a.high=f;d=5;return{value:a,done:!1};case 5:if(void 0===r){d=6;break}d=-1;throw r;case 6:case 4:case 2:g+=q;d=1;break;case 3:d=-1;default:return{value:void 0,done:!0}}}
-var d=0,f,h,k,g,e,l,q,p,n,m,t=this,B={next:function(a){return c(a,void 0)},throw:function(a){return c(void 0,a)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();B[Symbol.iterator]=function(){return this};return B}},{key:"indexOfPair",value:function(a,b){var c=this.table,d=this.emptyHigh;if(a===this.emptyLow&&b===d)return-1;d=0;for(var f=this.hashFunctions.length;d<f;++d){var h=this.getHash(d,a,b);if(c[h]===a&&c[h+1]===b)return h}return-1}},{key:"indexOf",value:function(a){return this.indexOfPair(a.low,
-a.high)}},{key:"chooseAnotherEmptyKey",value:function(){for(var a=this.emptyLow,b=this.emptyHigh,c=this.table,d=this.entryStride,f,h;f=4294967296*Math.random()>>>0,h=4294967296*Math.random()>>>0,f===a&&h===b||this.hasPair(f,h););this.emptyLow=f;this.emptyHigh=h;for(var k=0,g=c.length;k<g;k+=d)c[k]===a&&c[k+1]===b&&(c[k]=f,c[k+1]=h)}},{key:"has",value:function(a){return-1!==this.indexOf(a)}},{key:"hasPair",value:function(a,b){return-1!==this.indexOfPair(a,b)}},{key:"delete",value:function(a){a=this.indexOf(a);
-if(-1!==a){var b=this.table;b[a]=this.emptyLow;b[a+1]=this.emptyHigh;++this.generation;this.size--;return!0}return!1}},{key:"clearTable",value:function(){for(var a=this.table,b=this.entryStride,c=this.emptyLow,d=this.emptyHigh,f=a.length,h=0;h<f;h+=b)a[h]=c,a[h+1]=d}},{key:"clear",value:function(){if(0===this.size)return!1;this.size=0;++this.generation;this.clearTable();return!0}},{key:"swapPending",value:function(a,b){var c=h,d=k;this.storePending(a,b);a[b]=c;a[b+1]=d}},{key:"storePending",value:function(a,
-b){h=a[b];k=a[b+1]}},{key:"backupPending",value:function(){u=h;p=k}},{key:"restorePending",value:function(){h=u;k=p}},{key:"tryToInsert",value:function(){for(var a=0,b=this.emptyLow,c=this.emptyHigh,d=this.maxAttempts,f=this.table,g=this.hashFunctions.length,e=Math.floor(Math.random()*g);;){var l=this.getHash(e,h,k);this.swapPending(f,l);if(h===b&&k===c)return!0;if(++a===d)break;e=(e+Math.floor(Math.random()*(g-1))+1)%g}return!1}},{key:"allocate",value:function(a,b){var c=a*b;this.width=a;this.height=
-b;this.table=new Uint32Array(c*this.entryStride);this.maxAttempts=c;this.clearTable();this.capacity=c*this.loadFactor;this.mungedEmptyKey=-1}},{key:"rehash",value:function(a,b,c){this.allocate(b,c);this.updateHashFunctions(this.hashFunctions.length);b=this.emptyLow;c=this.emptyHigh;for(var d=this.entryStride,f=0,h=a.length;f<h;f+=d){var k=a[f+1];if(a[f]!==b||k!==c)if(this.storePending(a,f),!this.tryToInsert())return!1}return!0}},{key:"grow",value:function(a){for(var b=this.table,c=this.width,d=this.height,
-f=this.maxWidth,h=this.maxHeight;;){var k=c*d;c=Math.min(f,Math.ceil(a/this.height));c*d<a&&(d=Math.min(h,Math.ceil(a/c)));var g=c*d;if(g<a&&g===k)throw Error("Maximum table size exceeded");for(k=0;k<this.maxRehashAttempts;++k)if(this.rehash(b,c,d))return;a=Math.ceil(this.growFactor*a)}}},{key:"insertInternal",value:function(){++this.generation;h===this.emptyLow&&k===this.emptyHigh&&this.chooseAnotherEmptyKey();++this.size>this.capacity&&(this.backupPending(),this.grow(Math.ceil(this.growFactor*this.width*
-this.height)),this.restorePending());for(;!this.tryToInsert();)this.backupPending(),this.grow(this.width*this.height),this.restorePending()}}],[{key:"generateHashFunctions",value:function(b){b=void 0===b?3:b;for(var c=[],d=0;d<b;++d){var f=[a.a.generate(),a.a.generate()];c.push(f)}return c}}]);return d}();var x=function(a){function b(){c(this,b);return g(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}f(b,a);$jscomp.initSymbol();$jscomp.initSymbolIterator();q(b,[{key:"add",value:function(a){var b=
-a.low;a=a.high;if(this.hasPair(b,a))return!1;h=b;k=a;this.insertInternal();return!0}},{key:Symbol.iterator,value:function(){return this.keys()}}]);return b}(m);x.prototype.entryStride=2;var n=0,v=0,I=0,t=0;(function(a){function e(){c(this,e);return g(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}f(e,a);$jscomp.initSymbol();$jscomp.initSymbolIterator();q(e,[{key:"set",value:function(a,b){var c=a.low;a=a.high;if(this.hasPair(c,a))return!1;h=c;k=a;n=b.low;v=b.high;this.insertInternal();
-return!0}},{key:"get",value:function(a,b){a=this.indexOf(a);if(-1===a)return!1;var c=this.table;b.low=c[a+2];b.high=c[a+3];return!0}},{key:"swapPending",value:function(a,b){var c=n,f=v;d(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"swapPending",this).call(this,a,b);a[b+2]=c;a[b+3]=f}},{key:"storePending",value:function(a,b){d(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"storePending",this).call(this,a,b);n=a[b+2];v=a[b+3]}},{key:"backupPending",value:function(){d(e.prototype.__proto__||
-Object.getPrototypeOf(e.prototype),"backupPending",this).call(this);I=n;t=v}},{key:"restorePending",value:function(){d(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"restorePending",this).call(this);n=I;v=t}},{key:Symbol.iterator,value:function(){return this.entries()}},{key:"entries",value:function(a){function c(c,r){for(;;)switch(d){case 0:a=void 0===a?[new b.a,new b.a]:a,L=u,y=L.emptyLow,t=L.emptyHigh,m=L.entryStride,n=u,p=n.table,q=$jscomp.makeIterator(a),l=q.next().value,e=q.next().value,
-g=0,k=p.length;case 1:if(!(g<k)){d=3;break}h=p[g];f=p[g+1];if(h===y&&f===t){d=4;break}l.low=h;l.high=f;e.low=p[g+2];e.high=p[g+3];d=5;return{value:a,done:!1};case 5:if(void 0===r){d=6;break}d=-1;throw r;case 6:case 4:case 2:g+=m;d=1;break;case 3:d=-1;default:return{value:void 0,done:!0}}}var d=0,f,h,k,g,e,l,q,p,n,m,t,y,L,u=this,W={next:function(a){return c(a,void 0)},throw:function(a){return c(void 0,a)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();W[Symbol.iterator]=
-function(){return this};return W}}]);return e})(m).prototype.entryStride=4},function(m,e,l){l.d(e,"a",function(){return f});var g=function(){function c(a,b){for(var c=0;c<b.length;c++){var f=b[c];f.enumerable=f.enumerable||!1;f.configurable=!0;"value"in f&&(f.writable=!0);Object.defineProperty(a,f.key,f)}}return function(a,b,d){b&&c(a.prototype,b);d&&c(a,d);return a}}(),f=function(){function c(a,b,d,f){if(!(this instanceof c))throw new TypeError("Cannot call a class as a function");this.a0=a;this.a1=
-b;this.b=d;this.c=f}g(c,[{key:"computeDotProduct",value:function(a,b){var c=this.a0,f=this.a1;return c[0]*(a&255)+c[1]*(a>>8&255)+c[2]*(a>>16&255)+c[3]*(a>>24&255)+(f[0]*(b&255)+f[1]*(b>>8&255)+f[2]*(b>>16&255)+f[3]*(b>>24&255))}},{key:"compute",value:function(a,b){var c=this.b,f=this.c;a=this.computeDotProduct(a,b);return(a+a*a%4093*f+c)%4093}},{key:"toString",value:function(){return"new HashFunction(Float32Array.of("+this.a0+"), "+("Float32Array.of("+this.a1+"), "+this.b+", "+this.c+")")}}],[{key:"generate",
-value:function(){function a(){return Math.floor(4093*Math.random())}return new c(Float32Array.of(a(),a(),a(),a()),Float32Array.of(a(),a(),a(),a()),a(),a())}}]);return c}()},function(m,e,l){function g(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function f(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function c(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+
-typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}l.d(e,"a",function(){return n});e.b=function(b,c,d,f,h,k,g){Object(a.e)(b,2,c,d,f,h,k,g)};e=l(2);var a=l(19),b=l(35),d=l(23);m=l(75);var q=l(6),h=l(15);l=l(0);var k=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,
-d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),u=function I(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return I(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},p=this&&this.__decorate||function(a,b,c,d){var f=arguments.length,h=3>f?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d,k;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)h=
-Reflect.decorate(a,b,c,d);else for(var g=a.length-1;0<=g;g--)if(k=a[g])h=(3>f?k(h):3<f?k(b,c,h):k(b,c))||h;return 3<f&&h&&Object.defineProperty(b,c,h),h},x=function(a){function b(){g(this,b);var a=f(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));a.objectId=new q.a;a.vertexPositions=null;a.vertexAttributes=null;a.indices=null;return a}c(b,a);k(b,[{key:"initializeSkeletonChunk",value:function(a,c){u(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"initialize",this).call(this,a);
-this.objectId.assign(c)}},{key:"freeSystemMemory",value:function(){this.vertexPositions=this.indices=null}},{key:"getVertexAttributeBytes",value:function(){var a=this.vertexPositions.byteLength,b=this.vertexAttributes;null!=b&&b.forEach(function(b){a+=b.byteLength});return a}},{key:"serialize",value:function(a,c){u(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"serialize",this).call(this,a,c);var d=this.vertexPositions,f=this.indices;a.indices=f;c.push(f.buffer);f=this.vertexAttributes;
-if(null!=f&&0<f.length){var h=new Uint8Array(this.getVertexAttributeBytes());h.set(new Uint8Array(d.buffer,d.byteOffset,d.byteLength));var k=a.vertexAttributeOffsets=new Uint32Array(f.length+1);k[0]=0;var g=d.byteLength;f.forEach(function(a,b){k[b+1]=g;h.set(new Uint8Array(a.buffer,a.byteOffset,a.byteLength),g);g+=a.byteLength});c.push(h.buffer);a.vertexAttributes=h}else a.vertexAttributes=new Uint8Array(d.buffer,d.byteOffset,d.byteLength),a.vertexAttributeOffsets=Uint32Array.of(0),d.buffer!==c[0]&&
-c.push(d.buffer);this.vertexPositions=this.indices=this.vertexAttributes=null}},{key:"downloadSucceeded",value:function(){this.systemMemoryBytes=this.gpuMemoryBytes=this.indices.byteLength+this.getVertexAttributeBytes();u(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"downloadSucceeded",this).call(this)}}]);return b}(e.Chunk),n=function(a){function b(){g(this,b);return f(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}c(b,a);k(b,[{key:"getChunk",value:function(a){var b=
-Object(d.b)(a),c=this.chunks.get(b);void 0===c&&(c=this.getNewChunk_(x),c.initializeSkeletonChunk(b,a),this.addChunk(c));return c}}]);return b}(e.ChunkSource);e=function(a){function b(a,c){g(this,b);var d=f(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a,c));d.source=d.registerDisposer(a.getRef(c.source));d.registerDisposer(d.chunkManager.recomputeChunkPriorities.add(function(){d.updateChunkPriorities()}));return d}c(b,a);k(b,[{key:"updateChunkPriorities",value:function(){var a=this.visibility.value;
-if(a!==Number.NEGATIVE_INFINITY){var b=Object(h.b)(a),c=Object(h.a)(a),f=this.source,k=this.chunkManager;Object(d.a)(this,function(a){a=f.getChunk(a);k.requestChunk(a,b,c+60)})}}}]);return b}(b.a);e=p([Object(l.g)(m.a)],e)},function(m,e,l){e.a="skeleton/SkeletonLayer"},function(m,e,l){function g(c,g,e,l,n,m,I,t){var k=n[0],p=n[1],u=n[2];n=l[0];var v=l[1];l=l[2];var w=e[0],A=e[1],x=e[2];x-=A*p;A-=w*k;if(0===k*p*u)return[0,0];e=n*v*l+31;if(void 0===a||a.length<e)a=new Uint32Array(e),b=new Uint32Array(1*
-e),d=new Uint32Array(1*e),q=new Uint32Array(e),h=new Uint32Array(e);e=a.subarray(0,e);e.fill(0);for(var r=b,z=d,G=q,D=h,C=0,E=c[g]+1>>>0,O=0,M=n-k,Q=n*v-n*p,J=0;J<u;++J,g+=x,O+=Q)for(var y=0;y<p;++y,g+=A,O+=M)for(var L=0;L<k;++L,g+=w){var R=c[g];R!==E&&(E=r[1*C]=R,G[C]=C++);e[O++]=C}G.subarray(0,C).sort(function(a,b){return r[a]-r[b]});c=-1;k=r[1*G[0]]+1>>>0;for(p=0;p<C;++p)u=G[p],w=r[1*u],w!==k&&(++c,k=z[1*c]=w),D[u+1]=c;++c;return Object(f.c)(t,m,I,n*v*l,c,z,e,D,1)}e.a=function(a,b,d,h,e,l){e=void 0===
-e?0:e;l=void 0===l?Object(c.a)(h,1):l;return Object(f.b)(a,b,d,h,e,l,g)};var f=l(20),c=l(18),a,b,d,q,h},function(m,e,l){function g(c,g,e,l,n,m,I,t){var k=n[0],p=n[1],u=n[2];n=l[0];var v=l[1];l=l[2];var w=e[0],A=e[1],x=e[2];x-=A*p;A-=w*k;if(0===k*p*u)return[0,0];e=n*v*l+31;if(void 0===a||a.length<e)a=new Uint32Array(e),b=new Uint32Array(2*e),d=new Uint32Array(2*e),q=new Uint32Array(e),h=new Uint32Array(e);e=a.subarray(0,e);e.fill(0);for(var r=b,z=d,G=q,D=h,C=0,E=c[g]+1>>>0,O=0,M=0,Q=n-k,J=n*v-n*p,
-y=0;y<u;++y,g+=x,M+=J)for(var L=0;L<p;++L,g+=A,M+=Q)for(var R=0;R<k;++R,g+=w){var W=c[g],S=c[g+1];if(W!==E||S!==O)E=r[2*C]=W,O=r[2*C+1]=S,G[C]=C++;e[M++]=C}G.subarray(0,C).sort(function(a,b){var c=r[2*a],d=r[2*b];return r[2*a+1]-r[2*b+1]||c-d});c=-1;k=r[2*G[0]]+1>>>0;for(p=A=0;p<C;++p){u=G[p];x=2*u;w=r[x];x=r[x+1];if(w!==k||x!==A)++c,A=2*c,k=z[A]=w,A=z[A+1]=x;D[u+1]=c}++c;return Object(f.c)(t,m,I,n*v*l,c,z,e,D,2)}e.a=function(a,b,d,h,e,l){e=void 0===e?0:e;l=void 0===l?Object(c.a)(h,2):l;return Object(f.b)(a,
-b,d,h,e,l,g)};var f=l(20),c=l(18),a,b,d,q,h},function(m,e,l){l.d(e,"a",function(){return f});var g=function(){function c(a,b){for(var c=0;c<b.length;c++){var f=b[c];f.enumerable=f.enumerable||!1;f.configurable=!0;"value"in f&&(f.writable=!0);Object.defineProperty(a,f.key,f)}}return function(a,b,d){b&&c(a.prototype,b);d&&c(a,d);return a}}(),f=function(){function c(a){a=void 0===a?16:a;if(!(this instanceof c))throw new TypeError("Cannot call a class as a function");this.length=0;this.data=new Uint32Array(a)}
-g(c,[{key:"resize",value:function(a){var b=this.data;if(a>b.length){var c=new Uint32Array(Math.max(a,2*b.length));c.set(b.subarray(0,this.length));this.data=c}this.length=a}},{key:"shrinkToFit",value:function(){this.data=new Uint32Array(this.view)}},{key:"clear",value:function(){this.length=0}},{key:"appendArray",value:function(a){var b=this.length;this.resize(b+a.length);this.data.set(a,b)}},{key:"eraseRange",value:function(a,b){this.data.copyWithin(a,b,this.length);this.length-=b-a}},{key:"view",
-get:function(){var a=this.data;return new Uint32Array(a.buffer,a.byteOffset,this.length)}}]);return c}()},function(m,e,l){e.a=function(a,b,d){var e=new g.JpegDecoder;e.parse(a);if(e.width*e.height!==b[0]*b[1]*b[2])throw Error("JPEG data does not have the expected dimensions: "+("width="+e.width+", height="+e.height+", ")+("chunkDataSize="+c.l.str(b)));if(e.numComponents!==d)throw Error("JPEG data does not have the expected number of components: "+("components="+e.numComponents+", expected="+d));if(1===
-e.numComponents)return e.getData(e.width,e.height,!1);if(3===e.numComponents)return a=e.getData(e.width,e.height,!1),Object(f.c)(a,e.width*e.height,3);throw Error("JPEG data has an unsupported number of components: components="+e.numComponents);};var g=l(80);l.n(g);var f=l(18),c=l(1)},function(m,e,l){function g(c,a){if(0===c.indexOf("data:")){var b=c.indexOf("base64,")+7;c=atob(c.substring(b));b=new Uint8Array(c.length);for(var d=c.length-1;0<=d;d--)b[d]=c.charCodeAt(d);a(b.buffer)}else{var f=new XMLHttpRequest;
-f.open("GET",c,!0);f.responseType="arraybuffer";f.onload=function(){a(f.response)};f.send(null)}}e=function(){function c(){this._src=null;this._parser=new f.JpegImage;this.onload=null}c.prototype={get src(){return this._src},set src(a){this.load(a)},get width(){return this._parser.width},get height(){return this._parser.height},load:function(a){this._src=a;g(a,function(a){this.parse(new Uint8Array(a));if(this.onload)this.onload()}.bind(this))},parse:function(a){this._parser.parse(a)},getData:function(a,
-b){return this._parser.getData(a,b,!1)},copyToImageData:function(a){if(2===this._parser.numComponents||4<this._parser.numComponents)throw Error("Unsupported amount of components");var b=a.width,c=a.height,f=b*c*4;a=a.data;if(1===this._parser.numComponents){var h=this._parser.getData(b,c,!1);for(c=b=0;b<f;){var k=h[c++];a[b++]=k;a[b++]=k;a[b++]=k;a[b++]=255}}else for(h=this._parser.getData(b,c,!0),c=b=0;b<f;)a[b++]=h[c++],a[b++]=h[c++],a[b++]=h[c++],a[b++]=255}};return c}();var f;(function(c){function a(a){for(var b=
-1,c=0;a>b;)b<<=1,c++;return c}function b(a,b){return a[b]<<8|a[b+1]}function d(a,b){return(a[b]<<24|a[b+1]<<16|a[b+2]<<8|a[b+3])>>>0}function f(a,b,c){Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!1});return c}var h=function(){function a(){}function b(a,b){for(var c=0,d=[],f,h,k=16;0<k&&!a[k-1];)k--;d.push({children:[],index:0});var g=d[0],e;for(f=0;f<k;f++){for(h=0;h<a[f];h++){g=d.pop();for(g.children[g.index]=b[c];0<g.index;)g=d.pop();g.index++;for(d.push(g);d.length<=
-f;)d.push(e={children:[],index:0}),g.children[g.index]=e.children,g=e;c++}f+1<k&&(d.push(e={children:[],index:0}),g.children[g.index]=e.children,g=e)}return d[0].children}function c(a,b,c,d,f,k,g,e,l){function r(){if(0<D)return D--,u>>D&1;u=a[b++];if(255===u){var c=a[b++];if(c)throw"unexpected marker: "+(u<<8|c).toString(16);}D=7;return u>>>7}function w(a){for(;;){a=a[r()];if("number"===typeof a)return a;if("object"!==typeof a)throw"invalid huffman sequence";}}function n(a){for(var b=0;0<a;)b=b<<
-1|r(),a--;return b}function p(a){if(1===a)return 1===r()?1:-1;var b=n(a);return b>=1<<a-1?b:b+(-1<<a)+1}function y(a,b){var c=w(a.huffmanTableDC);c=0===c?0:p(c);a.blockData[b]=a.pred+=c;for(c=1;64>c;){var d=w(a.huffmanTableAC),f=d&15;d>>=4;if(0===f){if(15>d)break;c+=16}else c+=d,a.blockData[b+h[c]]=p(f),c++}}function q(a,b){var c=w(a.huffmanTableDC);c=0===c?0:p(c)<<l;a.blockData[b]=a.pred+=c}function m(a,b){a.blockData[b]|=r()<<l}function G(a,b){if(0<C)C--;else for(var c=k;c<=g;){var d=w(a.huffmanTableAC),
-f=d&15;d>>=4;if(0===f){if(15>d){C=n(d)+(1<<d)-1;break}c+=16}else c+=d,a.blockData[b+h[c]]=p(f)*(1<<l),c++}}function z(a,b){for(var c=k,d=0,f;c<=g;){f=h[c];switch(v){case 0:d=w(a.huffmanTableAC);f=d&15;d>>=4;if(0===f)15>d?(C=n(d)+(1<<d),v=4):(d=16,v=1);else{if(1!==f)throw"invalid ACn encoding";x=p(f);v=d?2:3}continue;case 1:case 2:a.blockData[b+f]?a.blockData[b+f]+=r()<<l:(d--,0===d&&(v=2===v?3:0));break;case 3:a.blockData[b+f]?a.blockData[b+f]+=r()<<l:(a.blockData[b+f]=x<<l,v=0);break;case 4:a.blockData[b+
-f]&&(a.blockData[b+f]+=r()<<l)}c++}4===v&&(C--,0===C&&(v=0))}var t=c.mcusPerLine,A=b,u=0,D=0,C=0,v=0,x,B=d.length,I,E,H,K;e=c.progressive?0===k?0===e?q:m:0===e?G:z:y;var F=0;c=1===B?d[0].blocksPerLine*d[0].blocksPerColumn:t*c.mcusPerColumn;f||(f=c);for(var N,Hb;F<c;){for(I=0;I<B;I++)d[I].pred=0;C=0;if(1===B){var Z=d[0];for(K=0;K<f;K++)e(Z,64*((Z.blocksPerLine+1)*(F/Z.blocksPerLine|0)+F%Z.blocksPerLine)),F++}else for(K=0;K<f;K++){for(I=0;I<B;I++)for(Z=d[I],N=Z.h,Hb=Z.v,E=0;E<Hb;E++)for(H=0;H<N;H++)e(Z,
-64*((Z.blocksPerLine+1)*((F/t|0)*Z.v+E)+(F%t*Z.h+H)));F++}D=0;Z=a[b]<<8|a[b+1];if(65280>=Z)throw"marker was not found";if(65488<=Z&&65495>=Z)b+=2;else break}return b-A}function d(a,b){a=b.blocksPerLine;for(var c=b.blocksPerColumn,d=new Int16Array(64),f=0;f<c;f++)for(var h=0;h<a;h++){for(var k,g,e,l,w,n,p,y,q,m,t,S,u=64*((b.blocksPerLine+1)*f+h),A=d,v=b.quantizationTable,x=b.blockData,B=0;64>B;B+=8)k=x[u+B],y=x[u+B+1],p=x[u+B+2],n=x[u+B+3],w=x[u+B+4],l=x[u+B+5],e=x[u+B+6],g=x[u+B+7],k*=v[B],0===(y|
-p|n|w|l|e|g)?(k=5793*k+512>>10,A[B]=k,A[B+1]=k,A[B+2]=k,A[B+3]=k,A[B+4]=k,A[B+5]=k,A[B+6]=k,A[B+7]=k):(y*=v[B+1],p*=v[B+2],n*=v[B+3],w*=v[B+4],l*=v[B+5],e*=v[B+6],g*=v[B+7],S=5793*k+128>>8,t=5793*w+128>>8,m=p,q=e,w=2896*(y-g)+128>>8,g=2896*(y+g)+128>>8,n<<=4,l<<=4,S=S+t+1>>1,t=S-t,k=3784*m+1567*q+128>>8,m=1567*m-3784*q+128>>8,q=k,w=w+l+1>>1,l=w-l,g=g+n+1>>1,n=g-n,S=S+q+1>>1,q=S-q,t=t+m+1>>1,m=t-m,k=2276*w+3406*g+2048>>12,w=3406*w-2276*g+2048>>12,g=k,k=799*n+4017*l+2048>>12,n=4017*n-799*l+2048>>12,
-l=k,A[B]=S+g,A[B+7]=S-g,A[B+1]=t+l,A[B+6]=t-l,A[B+2]=m+n,A[B+5]=m-n,A[B+3]=q+w,A[B+4]=q-w);for(v=0;8>v;++v)k=A[v],y=A[v+8],p=A[v+16],n=A[v+24],w=A[v+32],l=A[v+40],e=A[v+48],g=A[v+56],0===(y|p|n|w|l|e|g)?(k=5793*k+8192>>14,k=-2040>k?0:2024<=k?255:k+2056>>4,x[u+v]=k,x[u+v+8]=k,x[u+v+16]=k,x[u+v+24]=k,x[u+v+32]=k,x[u+v+40]=k,x[u+v+48]=k,x[u+v+56]=k):(S=5793*k+2048>>12,t=5793*w+2048>>12,m=p,q=e,w=2896*(y-g)+2048>>12,g=2896*(y+g)+2048>>12,S=(S+t+1>>1)+4112,t=S-t,k=3784*m+1567*q+2048>>12,m=1567*m-3784*
-q+2048>>12,q=k,w=w+l+1>>1,l=w-l,g=g+n+1>>1,n=g-n,S=S+q+1>>1,q=S-q,t=t+m+1>>1,m=t-m,k=2276*w+3406*g+2048>>12,w=3406*w-2276*g+2048>>12,g=k,k=799*n+4017*l+2048>>12,n=4017*n-799*l+2048>>12,l=k,k=S+g,g=S-g,y=t+l,e=t-l,p=m+n,l=m-n,n=q+w,w=q-w,k=16>k?0:4080<=k?255:k>>4,y=16>y?0:4080<=y?255:y>>4,p=16>p?0:4080<=p?255:p>>4,n=16>n?0:4080<=n?255:n>>4,w=16>w?0:4080<=w?255:w>>4,l=16>l?0:4080<=l?255:l>>4,e=16>e?0:4080<=e?255:e>>4,g=16>g?0:4080<=g?255:g>>4,x[u+v]=k,x[u+v+8]=y,x[u+v+16]=p,x[u+v+24]=n,x[u+v+32]=w,
-x[u+v+40]=l,x[u+v+48]=e,x[u+v+56]=g)}return b.blockData}function f(a){return 0>=a?0:255<=a?255:a}var h=new Uint8Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]);a.prototype={parse:function(a){function f(){var b=a[e]<<8|a[e+1];e+=2;return b}function k(){var b=f();b=a.subarray(e,e+b-2);e+=b.length;return b}function g(a){for(var b=Math.ceil(a.samplesPerLine/8/
-a.maxH),c=Math.ceil(a.scanLines/8/a.maxV),d=0;d<a.components.length;d++){x=a.components[d];var f=Math.ceil(Math.ceil(a.samplesPerLine/8)*x.h/a.maxH),h=Math.ceil(Math.ceil(a.scanLines/8)*x.v/a.maxV);x.blockData=new Int16Array(64*c*x.v*(b*x.h+1));x.blocksPerLine=f;x.blocksPerColumn=h}a.mcusPerLine=b;a.mcusPerColumn=c}var e=0,l=null,n=null,p=[],w=[],q=[];var m=f();if(65496!==m)throw"SOI not found";for(m=f();65497!==m;){switch(m){case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:case 65534:var t=
-k();65504===m&&74===t[0]&&70===t[1]&&73===t[2]&&70===t[3]&&0===t[4]&&(l={version:{major:t[5],minor:t[6]},densityUnits:t[7],xDensity:t[8]<<8|t[9],yDensity:t[10]<<8|t[11],thumbWidth:t[12],thumbHeight:t[13],thumbData:t.subarray(14,14+3*t[12]*t[13])});65518===m&&65===t[0]&&100===t[1]&&111===t[2]&&98===t[3]&&101===t[4]&&0===t[5]&&(n={version:t[6],flags0:t[7]<<8|t[8],flags1:t[9]<<8|t[10],transformCode:t[11]});break;case 65499:m=f()+e-2;for(var u;e<m;){var y=a[e++],L=new Uint16Array(64);if(0===y>>4)for(t=
-0;64>t;t++)u=h[t],L[u]=a[e++];else if(1===y>>4)for(t=0;64>t;t++)u=h[t],L[u]=f();else throw"DQT: invalid table spec";p[y&15]=L}break;case 65472:case 65473:case 65474:if(v)throw"Only single frame JPEGs supported";f();var v={};v.extended=65473===m;v.progressive=65474===m;v.precision=a[e++];v.scanLines=f();v.samplesPerLine=f();v.components=[];v.componentIds={};t=a[e++];for(m=L=y=0;m<t;m++){u=a[e];var W=a[e+1]>>4;var S=a[e+1]&15;y<W&&(y=W);L<S&&(L=S);W=v.components.push({h:W,v:S,quantizationTable:p[a[e+
-2]]});v.componentIds[u]=W-1;e+=3}v.maxH=y;v.maxV=L;g(v);break;case 65476:u=f();for(m=2;m<u;){y=a[e++];L=new Uint8Array(16);for(t=W=0;16>t;t++,e++)W+=L[t]=a[e];S=new Uint8Array(W);for(t=0;t<W;t++,e++)S[t]=a[e];m+=17+W;(0===y>>4?q:w)[y&15]=b(L,S)}break;case 65501:f();var B=f();break;case 65498:f();u=a[e++];t=[];for(m=0;m<u;m++){y=v.componentIds[a[e++]];var x=v.components[y];y=a[e++];x.huffmanTableDC=q[y>>4];x.huffmanTableAC=w[y&15];t.push(x)}m=a[e++];u=a[e++];y=a[e++];m=c(a,e,v,t,B,m,u,y>>4,y&15);e+=
-m;break;case 65535:255!==a[e]&&e--;break;default:if(255===a[e-3]&&192<=a[e-2]&&254>=a[e-2])e-=3;else throw"unknown JPEG marker "+m.toString(16);}m=f()}this.width=v.samplesPerLine;this.height=v.scanLines;this.jfif=l;this.adobe=n;this.components=[];for(m=0;m<v.components.length;m++)x=v.components[m],this.components.push({output:d(v,x),scaleX:x.h/v.maxH,scaleY:x.v/v.maxV,blocksPerLine:x.blocksPerLine,blocksPerColumn:x.blocksPerColumn});this.numComponents=this.components.length},_getLinearizedBlockData:function(a,
-b){var c=this.width/a,d=this.height/b,f,h,k=this.components.length,g=a*b*k,e=new Uint8Array(g),l=new Uint32Array(a);for(h=0;h<k;h++){var n=this.components[h];var p=n.scaleX*c;var w=n.scaleY*d;var y=h;var q=n.output;var m=n.blocksPerLine+1<<3;for(f=0;f<a;f++)n=0|f*p,l[f]=(n&4294967288)<<3|n&7;for(p=0;p<b;p++)for(n=0|p*w,n=m*(n&4294967288)|(n&7)<<3,f=0;f<a;f++)e[y]=q[n+l[f]],y+=k}if(b=this.decodeTransform)for(h=0;h<g;)for(a=n=0;n<k;n++,h++,a+=2)e[h]=(e[h]*b[a]>>8)+b[a+1];return e},_isColorConversionNeeded:function(){return this.adobe&&
-this.adobe.transformCode?!0:3===this.numComponents?!0:!1},_convertYccToRgb:function(a){for(var b,c,d,h=0,k=a.length;h<k;h+=3)b=a[h],c=a[h+1],d=a[h+2],a[h]=f(b-179.456+1.402*d),a[h+1]=f(b+135.459-.344*c-.714*d),a[h+2]=f(b-226.816+1.772*c);return a},_convertYcckToRgb:function(a){for(var b,c,d,h,k=0,g=0,e=a.length;g<e;g+=4){b=a[g];c=a[g+1];d=a[g+2];h=a[g+3];var l=-122.67195406894+c*(-6.60635669420364E-5*c+4.37130475926232E-4*d-5.4080610064599E-5*b+4.8449797120281E-4*h-.154362151871126)+d*(-9.57964378445773E-4*
-d+8.17076911346625E-4*b-.00477271405408747*h+1.53380253221734)+b*(9.61250184130688E-4*b-.00266257332283933*h+.48357088451265)+h*(-3.36197177618394E-4*h+.484791561490776),n=107.268039397724+c*(2.19927104525741E-5*c-6.40992018297945E-4*d+6.59397001245577E-4*b+4.26105652938837E-4*h-.176491792462875)+d*(-7.78269941513683E-4*d+.00130872261408275*b+7.70482631801132E-4*h-.151051492775562)+b*(.00126935368114843*b-.00265090189010898*h+.25802910206845)+h*(-3.18913117588328E-4*h-.213742400323665);b=-20.810012546947+
-c*(-5.70115196973677E-4*c-2.63409051004589E-5*d+.0020741088115012*b-.00288260236853442*h+.814272968359295)+d*(-1.53496057440975E-5*d-1.32689043961446E-4*b+5.60833691242812E-4*h-.195152027534049)+b*(.00174418132927582*b-.00255243321439347*h+.116935020465145)+h*(-3.43531996510555E-4*h+.24165260232407);a[k++]=f(l);a[k++]=f(n);a[k++]=f(b)}return a},_convertYcckToCmyk:function(a){for(var b,c,d,h=0,k=a.length;h<k;h+=4)b=a[h],c=a[h+1],d=a[h+2],a[h]=f(434.456-b-1.402*d),a[h+1]=f(119.541-b+.344*c+.714*d),
-a[h+2]=f(481.816-b-1.772*c);return a},_convertCmykToRgb:function(a){for(var b,c,d,f,h=0,k=1/255/255,g=0,e=a.length;g<e;g+=4){b=a[g];c=a[g+1];d=a[g+2];f=a[g+3];var l=b*(-4.387332384609988*b+54.48615194189176*c+18.82290502165302*d+212.25662451639585*f-72734.4411664936)+c*(1.7149763477362134*c-5.6096736904047315*d-17.873870861415444*f-1401.7366389350734)+d*(-2.5217340131683033*d-21.248923337353073*f+4465.541406466231)-f*(21.86122147463605*f+48317.86113160301),n=b*(8.841041422036149*b+60.118027045597366*
-c+6.871425592049007*d+31.159100130055922*f-20220.756542821975)+c*(-15.310361306967817*c+17.575251261109482*d+131.35250912493976*f-48691.05921601825)+d*(4.444339102852739*d+9.8632861493405*f-6341.191035517494)-f*(20.737325471181034*f+47890.15695978492);b=b*(.8842522430003296*b+8.078677503112928*c+30.89978309703729*d-.23883238689178934*f-3616.812083916688)+c*(10.49593273432072*c+63.02378494754052*d+50.606957656360734*f-28620.90484698408)+d*(.03296041114873217*d+115.60384449646641*f-49363.43385999684)-
-f*(22.33816807309886*f+45932.16563550634);a[h++]=0<=l?255:-16581375>=l?0:255+l*k|0;a[h++]=0<=n?255:-16581375>=n?0:255+n*k|0;a[h++]=0<=b?255:-16581375>=b?0:255+b*k|0}return a},getData:function(a,b,c){if(4<this.numComponents)throw"Unsupported color mode";a=this._getLinearizedBlockData(a,b);if(3===this.numComponents)return this._convertYccToRgb(a);if(4===this.numComponents){if(this._isColorConversionNeeded())return c?this._convertYcckToRgb(a):this._convertYcckToCmyk(a);if(c)return this._convertCmykToRgb(a)}return a}};
-return a}();"use strict";var k=function(){function a(a,b,c){this.data=a;this.bp=b;this.dataEnd=c;this.chigh=a[b];this.clow=0;this.byteIn();this.chigh=this.chigh<<7&65535|this.clow>>9&127;this.clow=this.clow<<7&65535;this.ct-=7;this.a=32768}var b=[{qe:22017,nmps:1,nlps:1,switchFlag:1},{qe:13313,nmps:2,nlps:6,switchFlag:0},{qe:6145,nmps:3,nlps:9,switchFlag:0},{qe:2753,nmps:4,nlps:12,switchFlag:0},{qe:1313,nmps:5,nlps:29,switchFlag:0},{qe:545,nmps:38,nlps:33,switchFlag:0},{qe:22017,nmps:7,nlps:6,switchFlag:1},
-{qe:21505,nmps:8,nlps:14,switchFlag:0},{qe:18433,nmps:9,nlps:14,switchFlag:0},{qe:14337,nmps:10,nlps:14,switchFlag:0},{qe:12289,nmps:11,nlps:17,switchFlag:0},{qe:9217,nmps:12,nlps:18,switchFlag:0},{qe:7169,nmps:13,nlps:20,switchFlag:0},{qe:5633,nmps:29,nlps:21,switchFlag:0},{qe:22017,nmps:15,nlps:14,switchFlag:1},{qe:21505,nmps:16,nlps:14,switchFlag:0},{qe:20737,nmps:17,nlps:15,switchFlag:0},{qe:18433,nmps:18,nlps:16,switchFlag:0},{qe:14337,nmps:19,nlps:17,switchFlag:0},{qe:13313,nmps:20,nlps:18,
-switchFlag:0},{qe:12289,nmps:21,nlps:19,switchFlag:0},{qe:10241,nmps:22,nlps:19,switchFlag:0},{qe:9217,nmps:23,nlps:20,switchFlag:0},{qe:8705,nmps:24,nlps:21,switchFlag:0},{qe:7169,nmps:25,nlps:22,switchFlag:0},{qe:6145,nmps:26,nlps:23,switchFlag:0},{qe:5633,nmps:27,nlps:24,switchFlag:0},{qe:5121,nmps:28,nlps:25,switchFlag:0},{qe:4609,nmps:29,nlps:26,switchFlag:0},{qe:4353,nmps:30,nlps:27,switchFlag:0},{qe:2753,nmps:31,nlps:28,switchFlag:0},{qe:2497,nmps:32,nlps:29,switchFlag:0},{qe:2209,nmps:33,
-nlps:30,switchFlag:0},{qe:1313,nmps:34,nlps:31,switchFlag:0},{qe:1089,nmps:35,nlps:32,switchFlag:0},{qe:673,nmps:36,nlps:33,switchFlag:0},{qe:545,nmps:37,nlps:34,switchFlag:0},{qe:321,nmps:38,nlps:35,switchFlag:0},{qe:273,nmps:39,nlps:36,switchFlag:0},{qe:133,nmps:40,nlps:37,switchFlag:0},{qe:73,nmps:41,nlps:38,switchFlag:0},{qe:37,nmps:42,nlps:39,switchFlag:0},{qe:21,nmps:43,nlps:40,switchFlag:0},{qe:9,nmps:44,nlps:41,switchFlag:0},{qe:5,nmps:45,nlps:42,switchFlag:0},{qe:1,nmps:45,nlps:43,switchFlag:0},
-{qe:22017,nmps:46,nlps:46,switchFlag:0}];a.prototype={byteIn:function(){var a=this.data,b=this.bp;255===a[b]?143<a[b+1]?(this.clow+=65280,this.ct=8):(b++,this.clow+=a[b]<<9,this.ct=7,this.bp=b):(b++,this.clow+=b<this.dataEnd?a[b]<<8:65280,this.ct=8,this.bp=b);65535<this.clow&&(this.chigh+=this.clow>>16,this.clow&=65535)},readBit:function(a,c){var d=a[c]>>1,f=a[c]&1;d=b[d];var h=d.qe,k=this.a-h;if(this.chigh<h)k<h?(k=h,h=f,d=d.nmps):(k=h,h=1^f,1===d.switchFlag&&(f=h),d=d.nlps);else{this.chigh-=h;if(0!==
-(k&32768))return this.a=k,f;k<h?(h=1^f,1===d.switchFlag&&(f=h),d=d.nlps):(h=f,d=d.nmps)}do 0===this.ct&&this.byteIn(),k<<=1,this.chigh=this.chigh<<1&65535|this.clow>>15&1,this.clow=this.clow<<1&65535,this.ct--;while(0===(k&32768));this.a=k;a[c]=d<<1|f;return h}};return a}();"use strict";var g=function(){function c(){this.failOnCorruptedImage=!1}function f(a,b,c){a=c.xcb_;c=c.ycb_;var d=1<<a,f=1<<c,h=b.tbx0>>a,k=b.tby0>>c,g=b.tbx1+d-1>>a,e=b.tby1+f-1>>c,r=b.resolution.precinctParameters,l=[],y=[],
-n,p;for(p=k;p<e;p++)for(n=h;n<g;n++){var q={cbx:n,cby:p,tbx0:d*n,tby0:f*p,tbx1:d*(n+1),tby1:f*(p+1)};q.tbx0_=Math.max(b.tbx0,q.tbx0);q.tby0_=Math.max(b.tby0,q.tby0);q.tbx1_=Math.min(b.tbx1,q.tbx1);q.tby1_=Math.min(b.tby1,q.tby1);var m=Math.floor((q.tbx0_-b.tbx0)/r.precinctWidthInSubband)+Math.floor((q.tby0_-b.tby0)/r.precinctHeightInSubband)*r.numprecinctswide;q.precinctNumber=m;q.subbandType=b.type;q.Lblock=3;if(!(q.tbx1_<=q.tbx0_||q.tby1_<=q.tby0_)){l.push(q);var w=y[m];void 0!==w?(n<w.cbxMin?w.cbxMin=
-n:n>w.cbxMax&&(w.cbxMax=n),p<w.cbyMin?w.cbxMin=p:p>w.cbyMax&&(w.cbyMax=p)):y[m]=w={cbxMin:n,cbyMin:p,cbxMax:n,cbyMax:p};q.precinct=w}}b.codeblockParameters={codeblockWidth:a,codeblockHeight:c,numcodeblockwide:g-h+1,numcodeblockhigh:e-k+1};b.codeblocks=l;b.precincts=y}function h(a,b,c){var d=[];a=a.subbands;for(var f=0,h=a.length;f<h;f++)for(var k=a[f].codeblocks,g=0,e=k.length;g<e;g++){var r=k[g];r.precinctNumber===b&&d.push(r)}return{layerNumber:c,codeblocks:d}}function g(a){var b=a.tiles[a.currentTile.index],
-c=b.codingStyleDefaultParameters.layersCount,d=a.SIZ.Csiz,f=0;for(a=0;a<d;a++)f=Math.max(f,b.components[a].codingStyleParameters.decompositionLevelsCount);var k=0,g=0,e=0,r=0;this.nextPacket=function(){for(;k<c;k++){for(;g<=f;g++){for(;e<d;e++){var a=b.components[e];if(!(g>a.codingStyleParameters.decompositionLevelsCount)){a=a.resolutions[g];for(var l=a.precinctParameters.numprecincts;r<l;)return a=h(a,r,k),r++,a;r=0}}e=0}g=0}throw Error("JPX Error: Out of packets");}}function e(a){var b=a.tiles[a.currentTile.index],
-c=b.codingStyleDefaultParameters.layersCount,d=a.SIZ.Csiz,f=0;for(a=0;a<d;a++)f=Math.max(f,b.components[a].codingStyleParameters.decompositionLevelsCount);var k=0,g=0,e=0,r=0;this.nextPacket=function(){for(;k<=f;k++){for(;g<c;g++){for(;e<d;e++){var a=b.components[e];if(!(k>a.codingStyleParameters.decompositionLevelsCount)){a=a.resolutions[k];for(var l=a.precinctParameters.numprecincts;r<l;)return a=h(a,r,g),r++,a;r=0}}e=0}g=0}throw Error("JPX Error: Out of packets");}}function l(a){var b=a.tiles[a.currentTile.index],
-c=b.codingStyleDefaultParameters.layersCount,d=a.SIZ.Csiz,f,k,g,e=0;for(g=0;g<d;g++)e=Math.max(e,b.components[g].codingStyleParameters.decompositionLevelsCount);var r=new Int32Array(e+1);for(k=0;k<=e;++k){for(g=a=0;g<d;++g){var l=b.components[g].resolutions;k<l.length&&(a=Math.max(a,l[k].precinctParameters.numprecincts))}r[k]=a}var n=g=k=f=0;this.nextPacket=function(){for(;k<=e;k++){for(;n<r[k];n++){for(;g<d;g++){var a=b.components[g];if(!(k>a.codingStyleParameters.decompositionLevelsCount||(a=a.resolutions[k],
-n>=a.precinctParameters.numprecincts))){for(;f<c;)return a=h(a,n,f),f++,a;f=0}}g=0}n=0}throw Error("JPX Error: Out of packets");}}function p(a){var b=a.tiles[a.currentTile.index],c=b.codingStyleDefaultParameters.layersCount,d=a.SIZ.Csiz,f=r(b),k=0,g=0,e=0,l=0,n=0;this.nextPacket=function(){for(;n<f.maxNumHigh;n++){for(;l<f.maxNumWide;l++){for(;e<d;e++){for(var a=b.components[e],r=a.codingStyleParameters.decompositionLevelsCount;g<=r;g++){var y=a.resolutions[g],p=u(l,n,f.components[e].resolutions[g],
-f,y);if(null!==p){for(;k<c;)return a=h(y,p,k),k++,a;k=0}}g=0}e=0}l=0}throw Error("JPX Error: Out of packets");}}function q(a){var b=a.tiles[a.currentTile.index],c=b.codingStyleDefaultParameters.layersCount,d=a.SIZ.Csiz,f=r(b),k=0,g=0,e=0,l=0,n=0;this.nextPacket=function(){for(;e<d;++e){for(var a=b.components[e],r=f.components[e],y=a.codingStyleParameters.decompositionLevelsCount;n<r.maxNumHigh;n++){for(;l<r.maxNumWide;l++){for(;g<=y;g++){var p=a.resolutions[g],q=u(l,n,r.resolutions[g],r,p);if(null!==
-q){for(;k<c;)return a=h(p,q,k),k++,a;k=0}}g=0}l=0}n=0}throw Error("JPX Error: Out of packets");}}function u(a,b,c,d,f){a*=d.minWidth;b*=d.minHeight;return 0!==a%c.width||0!==b%c.height?null:a/c.height+b/c.width*f.precinctParameters.numprecinctswide}function r(a){for(var b=a.components.length,c=Number.MAX_VALUE,d=Number.MAX_VALUE,f=0,h=0,k=Array(b),g=0;g<b;g++){for(var e=a.components[g],r=e.codingStyleParameters.decompositionLevelsCount,l=Array(r+1),n=Number.MAX_VALUE,p=Number.MAX_VALUE,q=0,m=0,w=
-1;0<=r;--r){var t=e.resolutions[r],G=w*t.precinctParameters.precinctWidth,u=w*t.precinctParameters.precinctHeight;n=Math.min(n,G);p=Math.min(p,u);q=Math.max(q,t.precinctParameters.numprecinctswide);m=Math.max(m,t.precinctParameters.numprecinctshigh);l[r]={width:G,height:u};w<<=1}c=Math.min(c,n);d=Math.min(d,p);f=Math.max(f,q);h=Math.max(h,m);k[g]={resolutions:l,minWidth:n,minHeight:p,maxNumWide:q,maxNumHigh:m}}return{components:k,minWidth:c,minHeight:d,maxNumWide:f,maxNumHigh:h}}function v(b,c,d,
-f){function h(a){for(;l<a;){var b=c[d+e];e++;n?(r=r<<7|b,l+=7,n=!1):(r=r<<8|b,l+=8);255===b&&(n=!0)}l-=a;return r>>>l&(1<<a)-1}function k(a){return 255===c[d+e-1]&&c[d+e]===a?(e+=1,!0):255===c[d+e]&&c[d+e+1]===a?(e+=2,!0):!1}function g(){if(0===h(1))return 1;if(0===h(1))return 2;var a=h(2);if(3>a)return a+3;a=h(5);if(31>a)return a+6;a=h(7);return a+37}var e=0,r,l=0,n=!1,y=b.COD.sopMarkerUsed,p=b.COD.ephMarkerUsed;for(b=b.tiles[b.currentTile.index].packetsIterator;e<f;){l=0;n&&(e++,n=!1);y&&k(145)&&
-(e+=4);var q=b.nextPacket();if(h(1)){for(var m=q.layerNumber,w=[],t,G=0,u=q.codeblocks.length;G<u;G++){t=q.codeblocks[G];var v=t.precinct,L=t.cbx-v.cbxMin,A=t.cby-v.cbyMin,z=!1,B=!1;if(void 0!==t.included)z=!!h(1);else{v=t.precinct;if(void 0!==v.inclusionTree)var D=v.inclusionTree;else{var R=v.cbxMax-v.cbxMin+1;var J=v.cbyMax-v.cbyMin+1;D=new C(R,J,m);R=new x(R,J);v.inclusionTree=D;v.zeroBitPlanesTree=R}if(D.reset(L,A,m))for(;;)if(h(1)){if(J=!D.nextLevel()){z=B=t.included=!0;break}}else{D.incrementValue(m);
-break}}if(z){if(B){R=v.zeroBitPlanesTree;for(R.reset(L,A);;)if(h(1)){if(J=!R.nextLevel())break}else R.incrementValue();t.zeroBitPlanes=R.value}for(v=g();h(1);)t.Lblock++;L=a(v);L=h((v<1<<L?L-1:L)+t.Lblock);w.push({codeblock:t,codingpasses:v,dataLength:L})}}l=0;n&&(e++,n=!1);for(p&&k(146);0<w.length;)q=w.shift(),t=q.codeblock,void 0===t.data&&(t.data=[]),t.data.push({data:c,start:d+e,end:d+e+q.dataLength,codingpasses:q.codingpasses}),e+=q.dataLength}}return e}var G={LL:0,LH:1,HL:1,HH:2};c.prototype=
-{parse:function(a){if(65359===b(a,0))this.parseCodestream(a,0,a.length);else for(var c=0,f=a.length;c<f;){var h=8,k=d(a,c),g=d(a,c+4);c+=h;1===k&&(k=4294967296*d(a,c)+d(a,c+4),c+=8,h+=8);0===k&&(k=f-c+h);if(k<h)throw Error("JPX Error: Invalid box field size");h=k-h;k=!0;switch(g){case 1785737832:k=!1;break;case 1668246642:g=a[c];if(1===g)switch(g=d(a,c+3),g){case 16:case 17:case 18:break;default:n("Unknown colorspace "+g)}else 2===g&&m("ICC profile not supported");break;case 1785737827:this.parseCodestream(a,
-c,c+h);break;case 1783636E3:218793738!==d(a,c)&&n("Invalid JP2 signature");break;case 1783634458:case 1718909296:case 1920099697:case 1919251232:case 1768449138:break;default:var e=String.fromCharCode(g>>24&255,g>>16&255,g>>8&255,g&255);n("Unsupported header type "+g+" ("+e+")")}k&&(c+=h)}},parseImageProperties:function(a){for(var b=a.getByte();0<=b;){var c=b;b=a.getByte();if(65361===(c<<8|b)){a.skip(4);b=a.getInt32()>>>0;c=a.getInt32()>>>0;var d=a.getInt32()>>>0,f=a.getInt32()>>>0;a.skip(16);a=a.getUint16();
-this.width=b-d;this.height=c-f;this.componentsCount=a;this.bitsPerComponent=8;return}}throw Error("JPX Error: No size marker found in JPX stream");},parseCodestream:function(a,c,h){var r={};try{var y=!1;for(var m=c;m+1<h;){var w=b(a,m);m+=2;var t=0,u;switch(w){case 65359:r.mainHeader=!0;break;case 65497:break;case 65361:t=b(a,m);var L={};L.Xsiz=d(a,m+4);L.Ysiz=d(a,m+8);L.XOsiz=d(a,m+12);L.YOsiz=d(a,m+16);L.XTsiz=d(a,m+20);L.YTsiz=d(a,m+24);L.XTOsiz=d(a,m+28);L.YTOsiz=d(a,m+32);var x=b(a,m+36);L.Csiz=
-x;var A=[];var z=m+38;for(var B=0;B<x;B++){var C={precision:(a[z]&127)+1,isSigned:!!(a[z]&128),XRsiz:a[z+1],YRsiz:a[z+1]},D=C,I=L;D.x0=Math.ceil(I.XOsiz/D.XRsiz);D.x1=Math.ceil(I.Xsiz/D.XRsiz);D.y0=Math.ceil(I.YOsiz/D.YRsiz);D.y1=Math.ceil(I.Ysiz/D.YRsiz);D.width=D.x1-D.x0;D.height=D.y1-D.y0;A.push(C)}r.SIZ=L;r.components=A;for(var H=void 0,F=r,K=A,J=F.SIZ,N=[],O=Math.ceil((J.Xsiz-J.XTOsiz)/J.XTsiz),lc=Math.ceil((J.Ysiz-J.YTOsiz)/J.YTsiz),Wa=0;Wa<lc;Wa++)for(var Xa=0;Xa<O;Xa++)H={},H.tx0=Math.max(J.XTOsiz+
-Xa*J.XTsiz,J.XOsiz),H.ty0=Math.max(J.YTOsiz+Wa*J.YTsiz,J.YOsiz),H.tx1=Math.min(J.XTOsiz+(Xa+1)*J.XTsiz,J.Xsiz),H.ty1=Math.min(J.YTOsiz+(Wa+1)*J.YTsiz,J.Ysiz),H.width=H.tx1-H.tx0,H.height=H.ty1-H.ty0,H.components=[],N.push(H);F.tiles=N;for(var Ya=0,mc=J.Csiz;Ya<mc;Ya++)for(var Za=K[Ya],gb=0,nc=N.length;gb<nc;gb++){var ha={};H=N[gb];ha.tcx0=Math.ceil(H.tx0/Za.XRsiz);ha.tcy0=Math.ceil(H.ty0/Za.YRsiz);ha.tcx1=Math.ceil(H.tx1/Za.XRsiz);ha.tcy1=Math.ceil(H.ty1/Za.YRsiz);ha.width=ha.tcx1-ha.tcx0;ha.height=
-ha.tcy1-ha.tcy0;H.components[Ya]=ha}r.QCC=[];r.COC=[];break;case 65372:t=b(a,m);var Ia={};z=m+2;var ua=a[z++];switch(ua&31){case 0:var ma=8;var va=!0;break;case 1:ma=16;va=!1;break;case 2:ma=16;va=!0;break;default:throw Error("JPX Error: Invalid SQcd value "+ua);}Ia.noQuantization=8===ma;Ia.scalarExpounded=va;Ia.guardBits=ua>>5;for(u=[];z<t+m;){var ia={};8===ma?(ia.epsilon=a[z++]>>3,ia.mu=0):(ia.epsilon=a[z]>>3,ia.mu=(a[z]&7)<<8|a[z+1],z+=2);u.push(ia)}Ia.SPqcds=u;r.mainHeader?r.QCD=Ia:(r.currentTile.QCD=
-Ia,r.currentTile.QCC=[]);break;case 65373:t=b(a,m);var Ja={};z=m+2;if(257>r.SIZ.Csiz)var hb=a[z++];else hb=b(a,z),z+=2;ua=a[z++];switch(ua&31){case 0:ma=8;va=!0;break;case 1:ma=16;va=!1;break;case 2:ma=16;va=!0;break;default:throw Error("JPX Error: Invalid SQcd value "+ua);}Ja.noQuantization=8===ma;Ja.scalarExpounded=va;Ja.guardBits=ua>>5;for(u=[];z<t+m;)ia={},8===ma?(ia.epsilon=a[z++]>>3,ia.mu=0):(ia.epsilon=a[z]>>3,ia.mu=(a[z]&7)<<8|a[z+1],z+=2),u.push(ia);Ja.SPqcds=u;r.mainHeader?r.QCC[hb]=Ja:
-r.currentTile.QCC[hb]=Ja;break;case 65362:t=b(a,m);var T={};z=m+2;var ib=a[z++];T.entropyCoderWithCustomPrecincts=!!(ib&1);T.sopMarkerUsed=!!(ib&2);T.ephMarkerUsed=!!(ib&4);T.progressionOrder=a[z++];T.layersCount=b(a,z);z+=2;T.multipleComponentTransform=a[z++];T.decompositionLevelsCount=a[z++];T.xcb=(a[z++]&15)+2;T.ycb=(a[z++]&15)+2;var Ka=a[z++];T.selectiveArithmeticCodingBypass=!!(Ka&1);T.resetContextProbabilities=!!(Ka&2);T.terminationOnEachCodingPass=!!(Ka&4);T.verticalyStripe=!!(Ka&8);T.predictableTermination=
-!!(Ka&16);T.segmentationSymbolUsed=!!(Ka&32);T.reversibleTransformation=a[z++];if(T.entropyCoderWithCustomPrecincts){for(var Ib=[];z<t+m;){var Jb=a[z++];Ib.push({PPx:Jb&15,PPy:Jb>>4})}T.precinctsSizes=Ib}var wa=[];T.selectiveArithmeticCodingBypass&&wa.push("selectiveArithmeticCodingBypass");T.resetContextProbabilities&&wa.push("resetContextProbabilities");T.terminationOnEachCodingPass&&wa.push("terminationOnEachCodingPass");T.verticalyStripe&&wa.push("verticalyStripe");T.predictableTermination&&wa.push("predictableTermination");
-if(0<wa.length)throw y=!0,Error("JPX Error: Unsupported COD options ("+wa.join(", ")+")");r.mainHeader?r.COD=T:(r.currentTile.COD=T,r.currentTile.COC=[]);break;case 65424:t=b(a,m);var Y={};Y.index=b(a,m+2);Y.length=d(a,m+4);Y.dataEnd=Y.length+m-2;Y.partIndex=a[m+8];Y.partsCount=a[m+9];r.mainHeader=!1;0===Y.partIndex&&(Y.COD=r.COD,Y.COC=r.COC.slice(0),Y.QCD=r.QCD,Y.QCC=r.QCC.slice(0));r.currentTile=Y;break;case 65427:Y=r.currentTile;if(0===Y.partIndex){for(var na=r,oc=na.SIZ.Csiz,Kb=na.tiles[Y.index],
-xa=0;xa<oc;xa++){var Lb=Kb.components[xa];Lb.quantizationParameters=void 0!==na.currentTile.QCC[xa]?na.currentTile.QCC[xa]:na.currentTile.QCD;Lb.codingStyleParameters=void 0!==na.currentTile.COC[xa]?na.currentTile.COC[xa]:na.currentTile.COD}Kb.codingStyleDefaultParameters=na.currentTile.COD;for(var da=r,ya=da.tiles[da.currentTile.index],pc=da.SIZ.Csiz,jb=0;jb<pc;jb++){for(var U=ya.components[jb],kb=U.codingStyleParameters.decompositionLevelsCount,Mb=[],Na=[],za=0;za<=kb;za++){var $a=za,Aa=U.codingStyleParameters,
-ja={};Aa.entropyCoderWithCustomPrecincts?(ja.PPx=Aa.precinctsSizes[$a].PPx,ja.PPy=Aa.precinctsSizes[$a].PPy):(ja.PPx=15,ja.PPy=15);ja.xcb_=0<$a?Math.min(Aa.xcb,ja.PPx-1):Math.min(Aa.xcb,ja.PPx);ja.ycb_=0<$a?Math.min(Aa.ycb,ja.PPy-1):Math.min(Aa.ycb,ja.PPy);var qa=ja;var V={},ra=1<<kb-za;V.trx0=Math.ceil(U.tcx0/ra);V.try0=Math.ceil(U.tcy0/ra);V.trx1=Math.ceil(U.tcx1/ra);V.try1=Math.ceil(U.tcy1/ra);V.resLevel=za;var lb=1<<qa.PPx,mb=1<<qa.PPy,Nb=0===V.resLevel,Ob=V.trx1>V.trx0?Math.ceil(V.trx1/lb)-Math.floor(V.trx0/
-lb):0,Pb=V.try1>V.try0?Math.ceil(V.try1/mb)-Math.floor(V.try0/mb):0;V.precinctParameters={precinctWidth:lb,precinctHeight:mb,numprecinctswide:Ob,numprecinctshigh:Pb,numprecincts:Ob*Pb,precinctWidthInSubband:1<<qa.PPx+(Nb?0:-1),precinctHeightInSubband:1<<qa.PPy+(Nb?0:-1)};Mb.push(V);if(0===za){var P={type:"LL"};P.tbx0=Math.ceil(U.tcx0/ra);P.tby0=Math.ceil(U.tcy0/ra);P.tbx1=Math.ceil(U.tcx1/ra);P.tby1=Math.ceil(U.tcy1/ra);P.resolution=V;f(da,P,qa);Na.push(P);V.subbands=[P]}else{var ea=1<<kb-za+1,ab=
-[];P={type:"HL"};P.tbx0=Math.ceil(U.tcx0/ea-.5);P.tby0=Math.ceil(U.tcy0/ea);P.tbx1=Math.ceil(U.tcx1/ea-.5);P.tby1=Math.ceil(U.tcy1/ea);P.resolution=V;f(da,P,qa);Na.push(P);ab.push(P);P={type:"LH"};P.tbx0=Math.ceil(U.tcx0/ea);P.tby0=Math.ceil(U.tcy0/ea-.5);P.tbx1=Math.ceil(U.tcx1/ea);P.tby1=Math.ceil(U.tcy1/ea-.5);P.resolution=V;f(da,P,qa);Na.push(P);ab.push(P);P={type:"HH"};P.tbx0=Math.ceil(U.tcx0/ea-.5);P.tby0=Math.ceil(U.tcy0/ea-.5);P.tbx1=Math.ceil(U.tcx1/ea-.5);P.tby1=Math.ceil(U.tcy1/ea-.5);
-P.resolution=V;f(da,P,qa);Na.push(P);ab.push(P);V.subbands=ab}}U.resolutions=Mb;U.subbands=Na}var Qb=ya.codingStyleDefaultParameters.progressionOrder;switch(Qb){case 0:ya.packetsIterator=new g(da);break;case 1:ya.packetsIterator=new e(da);break;case 2:ya.packetsIterator=new l(da);break;case 3:ya.packetsIterator=new p(da);break;case 4:ya.packetsIterator=new q(da);break;default:throw Error("JPX Error: Unsupported progression order "+Qb);}}t=Y.dataEnd-m;v(r,a,m,t);break;case 65365:case 65367:case 65368:case 65380:t=
-b(a,m);break;case 65363:throw Error("JPX Error: Codestream code 0xFF53 (COC) is not implemented");default:throw Error("JPX Error: Unknown codestream code: "+w.toString(16));}m+=t}}catch(Rb){if(y||this.failOnCorruptedImage)throw Rb;n("Trying to recover from "+Rb.message)}for(var Sb=r.components,La=r.SIZ.Csiz,Tb=[],nb=0,qc=r.tiles.length;nb<qc;nb++){var ob=r.tiles[nb],Ba=[],fa;for(fa=0;fa<La;fa++){for(var rc=Ba,sc=fa,Ca=ob.components[fa],pb=Ca.codingStyleParameters,qb=Ca.quantizationParameters,tc=pb.decompositionLevelsCount,
-bb=qb.SPqcds,uc=qb.scalarExpounded,vc=qb.guardBits,wc=pb.segmentationSymbolUsed,xc=r.components[fa].precision,rb=pb.reversibleTransformation,yc=rb?new Q:new M,Ub=[],sb=0,Oa=0;Oa<=tc;Oa++){for(var Ma=Ca.resolutions[Oa],tb=Ma.trx1-Ma.trx0,Vb=Ma.try1-Ma.try0,Wb=new Float32Array(tb*Vb),ub=0,zc=Ma.subbands.length;ub<zc;ub++){if(uc){var Xb=bb[sb].mu;var vb=bb[sb].epsilon;sb++}else Xb=bb[0].mu,vb=bb[0].epsilon+(0<Oa?1-Oa:0);for(var Yb=Ma.subbands[ub],Ac=G[Yb.type],Bc=Wb,Zb=tb,sa=Yb,Cc=rb?1:Math.pow(2,xc+
-Ac-vb)*(1+Xb/2048),wb=vc+vb-1,$b=rb,Dc=wc,Ec=sa.tbx0,Fc=sa.tby0,cb=sa.tbx1-sa.tbx0,ac=sa.codeblocks,Gc="H"===sa.type.charAt(0)?1:0,Hc="H"===sa.type.charAt(1)?Zb:0,xb=0,Ic=ac.length;xb<Ic;++xb){var ka=ac[xb],db=ka.tbx1_-ka.tbx0_,yb=ka.tby1_-ka.tby0_;if(0!==db&&0!==yb&&void 0!==ka.data){var ta=new E(db,yb,ka.subbandType,ka.zeroBitPlanes,wb);var zb=2;var eb=ka.data,Ab=0,bc=0,fb;var ba=0;for(fb=eb.length;ba<fb;ba++){var Da=eb[ba];Ab+=Da.end-Da.start;bc+=Da.codingpasses}var cc=new Uint8Array(Ab),Ea=0;
-ba=0;for(fb=eb.length;ba<fb;ba++){Da=eb[ba];var dc=Da.data.subarray(Da.start,Da.end);cc.set(dc,Ea);Ea+=dc.length}var Jc=new k(cc,0,Ab);ta.setDecoder(Jc);for(ba=0;ba<bc;ba++){switch(zb){case 0:ta.runSignificancePropogationPass();break;case 1:ta.runMagnitudeRefinementPass();break;case 2:ta.runCleanupPass(),Dc&&ta.checkSegmentationSymbol()}zb=(zb+1)%3}var Pa=ka.tbx0_-Ec+(ka.tby0_-Fc)*cb,Kc=ta.coefficentsSign,Lc=ta.coefficentsMagnitude,Mc=ta.bitsDecoded,Nc=$b?0:.5,Bb;Ea=0;var Oc="LL"!==sa.type;for(ba=
-0;ba<yb;ba++){var Pc=2*(Pa/cb|0)*(Zb-cb)+Gc+Hc;for(Bb=0;Bb<db;Bb++){var Fa=Lc[Ea];if(0!==Fa){Fa=(Fa+Nc)*Cc;0!==Kc[Ea]&&(Fa=-Fa);var ec=Mc[Ea];Bc[Oc?Pc+(Pa<<1):Pa]=$b&&ec>=wb?Fa:Fa*(1<<wb-ec)}Pa++;Ea++}Pa+=cb-db}}}}Ub.push({width:tb,height:Vb,items:Wb})}var Cb=yc.calculate(Ub,Ca.tcx0,Ca.tcy0);rc[sc]={left:Ca.tcx0,top:Ca.tcy0,width:Cb.width,height:Cb.height,items:Cb.items}}var Qa=Ba[0],oa=new Uint8Array(Qa.items.length*La),Qc={left:Qa.left,top:Qa.top,width:Qa.width,height:Qa.height,items:oa},aa=0,X;
-if(ob.codingStyleDefaultParameters.multipleComponentTransform){var fc=4===La,Db=Ba[0].items,gc=Ba[1].items,hc=Ba[2].items,Rc=fc?Ba[3].items:null;var ca=Sb[0].precision-8;var Ra=(128<<ca)+.5;var la=255*(1<<ca);var ic=.5*la;var Eb=-ic;var Sc=ob.components[0],jc=La-3;var Sa=Db.length;if(Sc.codingStyleParameters.reversibleTransformation)for(X=0;X<Sa;X++,aa+=jc){var Ta=Db[X]+Ra;var Ua=gc[X];var Va=hc[X];var pa=Ta-(Va+Ua>>2);var Ga=pa+Va;var Ha=pa+Ua;oa[aa++]=0>=Ga?0:Ga>=la?255:Ga>>ca;oa[aa++]=0>=pa?0:
-pa>=la?255:pa>>ca;oa[aa++]=0>=Ha?0:Ha>=la?255:Ha>>ca}else for(X=0;X<Sa;X++,aa+=jc)Ta=Db[X]+Ra,Ua=gc[X],Va=hc[X],Ga=Ta+1.402*Va,pa=Ta-.34413*Ua-.71414*Va,Ha=Ta+1.772*Ua,oa[aa++]=0>=Ga?0:Ga>=la?255:Ga>>ca,oa[aa++]=0>=pa?0:pa>=la?255:pa>>ca,oa[aa++]=0>=Ha?0:Ha>=la?255:Ha>>ca;if(fc)for(X=0,aa=3;X<Sa;X++,aa+=4){var Fb=Rc[X];oa[aa]=Fb<=Eb?0:Fb>=ic?255:Fb+Ra>>ca}}else for(fa=0;fa<La;fa++){var kc=Ba[fa].items;ca=Sb[fa].precision-8;Ra=(128<<ca)+.5;la=127.5*(1<<ca);Eb=-la;aa=fa;X=0;for(Sa=kc.length;X<Sa;X++){var Gb=
-kc[X];oa[aa]=Gb<=Eb?0:Gb>=la?255:Gb+Ra>>ca;aa+=La}}Tb.push(Qc)}this.tiles=Tb;this.width=r.SIZ.Xsiz-r.SIZ.XOsiz;this.height=r.SIZ.Ysiz-r.SIZ.YOsiz;this.componentsCount=r.SIZ.Csiz}};var x=function(){function b(b,c){var d=a(Math.max(b,c))+1;this.levels=[];for(var f=0;f<d;f++)this.levels.push({width:b,height:c,items:[]}),b=Math.ceil(b/2),c=Math.ceil(c/2)}b.prototype={reset:function(a,b){for(var c=0,d=0,f;c<this.levels.length;){f=this.levels[c];var h=a+b*f.width;if(void 0!==f.items[h]){d=f.items[h];break}f.index=
-h;a>>=1;b>>=1;c++}c--;f=this.levels[c];f.items[f.index]=d;this.currentLevel=c;delete this.value},incrementValue:function(){var a=this.levels[this.currentLevel];a.items[a.index]++},nextLevel:function(){var a=this.currentLevel,b=this.levels[a],c=b.items[b.index];a--;if(0>a)return this.value=c,!1;this.currentLevel=a;b=this.levels[a];b.items[b.index]=c;return!0}};return b}(),C=function(){function b(b,c,d){var f=a(Math.max(b,c))+1;this.levels=[];for(var h=0;h<f;h++){for(var k=new Uint8Array(b*c),g=0,e=
-k.length;g<e;g++)k[g]=d;this.levels.push({width:b,height:c,items:k});b=Math.ceil(b/2);c=Math.ceil(c/2)}}b.prototype={reset:function(a,b,c){for(var d=0;d<this.levels.length;){var f=this.levels[d],h=a+b*f.width;f.index=h;f=f.items[h];if(255===f)break;if(f>c)return this.currentLevel=d,this.propagateValues(),!1;a>>=1;b>>=1;d++}this.currentLevel=d-1;return!0},incrementValue:function(a){var b=this.levels[this.currentLevel];b.items[b.index]=a+1;this.propagateValues()},propagateValues:function(){for(var a=
-this.currentLevel,b=this.levels[a],c=b.items[b.index];0<=--a;)b=this.levels[a],b.items[b.index]=c},nextLevel:function(){var a=this.currentLevel,b=this.levels[a],c=b.items[b.index];b.items[b.index]=255;a--;if(0>a)return!1;this.currentLevel=a;b=this.levels[a];b.items[b.index]=c;return!0}};return b}(),E=function(){function a(a,f,h,k,g){this.width=a;this.height=f;this.contextLabelTable="HH"===h?d:"HL"===h?c:b;a*=f;this.neighborsSignificance=new Uint8Array(a);this.coefficentsSign=new Uint8Array(a);this.coefficentsMagnitude=
-14<g?new Uint32Array(a):6<g?new Uint16Array(a):new Uint8Array(a);this.processingFlags=new Uint8Array(a);g=new Uint8Array(a);if(0!==k)for(f=0;f<a;f++)g[f]=k;this.bitsDecoded=g;this.reset()}var b=new Uint8Array([0,5,8,0,3,7,8,0,4,7,8,0,0,0,0,0,1,6,8,0,3,7,8,0,4,7,8,0,0,0,0,0,2,6,8,0,3,7,8,0,4,7,8,0,0,0,0,0,2,6,8,0,3,7,8,0,4,7,8,0,0,0,0,0,2,6,8,0,3,7,8,0,4,7,8]),c=new Uint8Array([0,3,4,0,5,7,7,0,8,8,8,0,0,0,0,0,1,3,4,0,6,7,7,0,8,8,8,0,0,0,0,0,2,3,4,0,6,7,7,0,8,8,8,0,0,0,0,0,2,3,4,0,6,7,7,0,8,8,8,0,0,
-0,0,0,2,3,4,0,6,7,7,0,8,8,8]),d=new Uint8Array([0,1,2,0,1,2,2,0,2,2,2,0,0,0,0,0,3,4,5,0,4,5,5,0,5,5,5,0,0,0,0,0,6,7,7,0,7,7,7,0,7,7,7,0,0,0,0,0,8,8,8,0,8,8,8,0,8,8,8,0,0,0,0,0,8,8,8,0,8,8,8,0,8,8,8]);a.prototype={setDecoder:function(a){this.decoder=a},reset:function(){this.contexts=new Int8Array(19);this.contexts[0]=8;this.contexts[17]=92;this.contexts[18]=6},setNeighborsSignificance:function(a,b,c){var d=this.neighborsSignificance,f=this.width,h=this.height,k=0<b;b=b+1<f;if(0<a){var g=c-f;k&&(d[g-
-1]+=16);b&&(d[g+1]+=16);d[g]+=4}a+1<h&&(g=c+f,k&&(d[g-1]+=16),b&&(d[g+1]+=16),d[g]+=4);k&&(d[c-1]+=1);b&&(d[c+1]+=1);d[c]|=128},runSignificancePropogationPass:function(){for(var a=this.decoder,b=this.width,c=this.height,d=this.coefficentsMagnitude,f=this.coefficentsSign,h=this.neighborsSignificance,k=this.processingFlags,g=this.contexts,e=this.contextLabelTable,r=this.bitsDecoded,l=0;l<c;l+=4)for(var n=0;n<b;n++)for(var p=l*b+n,q=0;4>q;q++,p+=b){var m=l+q;if(m>=c)break;k[p]&=-2;if(!d[p]&&h[p]){if(a.readBit(g,
-e[h[p]])){var y=this.decodeSignBit(m,n,p);f[p]=y;d[p]=1;this.setNeighborsSignificance(m,n,p);k[p]|=2}r[p]++;k[p]|=1}}},decodeSignBit:function(a,b,c){var d=this.width,f=this.height,h=this.coefficentsMagnitude,k=this.coefficentsSign;var g=0<b&&0!==h[c-1];b+1<d&&0!==h[c+1]?(b=k[c+1],g?(g=k[c-1],b=1-b-g):b=1-b-b):g?(g=k[c-1],b=1-g-g):b=0;var e=3*b;g=0<a&&0!==h[c-d];a+1<f&&0!==h[c+d]?(b=k[c+d],g?(g=k[c-d],b=1-b-g+e):b=1-b-b+e):g?(g=k[c-d],b=1-g-g+e):b=e;return 0<=b?this.decoder.readBit(this.contexts,9+
-b):this.decoder.readBit(this.contexts,9-b)^1},runMagnitudeRefinementPass:function(){for(var a=this.decoder,b=this.width,c=this.coefficentsMagnitude,d=this.neighborsSignificance,f=this.contexts,h=this.bitsDecoded,k=this.processingFlags,g=b*this.height,e=4*b,r=0,l;r<g;r=l){l=Math.min(g,r+e);for(var n=0;n<b;n++)for(var p=r+n;p<l;p+=b)if(c[p]&&0===(k[p]&1)){var q=16;0!==(k[p]&2)&&(k[p]^=2,q=0===(d[p]&127)?15:14);q=a.readBit(f,q);c[p]=c[p]<<1|q;h[p]++;k[p]|=1}}},runCleanupPass:function(){for(var a=this.decoder,
-b=this.width,c=this.height,d=this.neighborsSignificance,f=this.coefficentsMagnitude,h=this.coefficentsSign,k=this.contexts,g=this.contextLabelTable,e=this.bitsDecoded,r=this.processingFlags,l=2*b,n=3*b,p,q=0;q<c;q=p){p=Math.min(q+4,c);for(var m=q*b,y=q+3<c,w=0;w<b;w++){var t=m+w,u=0,G=t,v=q;if(y&&0===r[t]&&0===r[t+b]&&0===r[t+l]&&0===r[t+n]&&0===d[t]&&0===d[t+b]&&0===d[t+l]&&0===d[t+n]){if(!a.readBit(k,18)){e[t]++;e[t+b]++;e[t+l]++;e[t+n]++;continue}u=a.readBit(k,17)<<1|a.readBit(k,17);0!==u&&(v=
-q+u,G+=u*b);var z=this.decodeSignBit(v,w,G);h[G]=z;f[G]=1;this.setNeighborsSignificance(v,w,G);r[G]|=2;G=t;for(t=q;t<=v;t++,G+=b)e[G]++;u++}for(v=q+u;v<p;v++,G+=b)f[G]||0!==(r[G]&1)||(1===a.readBit(k,g[d[G]])&&(z=this.decodeSignBit(v,w,G),h[G]=z,f[G]=1,this.setNeighborsSignificance(v,w,G),r[G]|=2),e[G]++)}}},checkSegmentationSymbol:function(){var a=this.decoder,b=this.contexts;if(10!==(a.readBit(b,17)<<3|a.readBit(b,17)<<2|a.readBit(b,17)<<1|a.readBit(b,17)))throw Error("JPX Error: Invalid segmentation symbol");
-}};return a}(),O=function(){function a(){}a.prototype.calculate=function(a,b,c){for(var d=a[0],f=1,h=a.length;f<h;f++)d=this.iterate(d,a[f],b,c);return d};a.prototype.extend=function(a,b,c){var d=b-1,f=b+1,h=b+c-2;b+=c;a[d--]=a[f++];a[b++]=a[h--];a[d--]=a[f++];a[b++]=a[h--];a[d--]=a[f++];a[b++]=a[h--];a[d]=a[f];a[b]=a[h]};a.prototype.iterate=function(a,b,c,d){var f=a.width,h=a.height,k=a.items,g=b.width,e=b.height;b=b.items;var r,l,n;for(r=n=0;r<h;r++){var p=2*r*g;for(l=0;l<f;l++,n++,p+=2)b[p]=k[n]}a.items=
-null;a=new Float32Array(g+8);if(1===g){if(0!==(c&1))for(n=p=0;p<e;p++,n+=g)b[n]*=.5}else for(n=p=0;p<e;p++,n+=g)a.set(b.subarray(n,n+g),4),this.extend(a,4,g),this.filter(a,4,g),b.set(a.subarray(4,4+g),n);c=16;f=[];for(r=0;r<c;r++)f.push(new Float32Array(e+8));r=0;a=4+e;if(1===e){if(0!==(d&1))for(d=0;d<g;d++)b[d]*=.5}else for(d=0;d<g;d++){if(0===r){c=Math.min(g-d,c);n=d;for(p=4;p<a;n+=g,p++)for(h=0;h<c;h++)f[h][p]=b[n+h];r=c}r--;n=f[r];this.extend(n,4,e);this.filter(n,4,e);if(0===r)for(n=d-c+1,p=4;p<
-a;n+=g,p++)for(h=0;h<c;h++)b[n+h]=f[h][p]}return{width:g,height:e,items:b}};return a}(),M=function(){function a(){O.call(this)}a.prototype=Object.create(O.prototype);a.prototype.filter=function(a,b,c){c>>=1;b|=0;var d;var f=b-3;for(d=c+4;d--;f+=2)a[f]*=.8128930661159609;f=b-2;var h=.443506852043971*a[f-1];for(d=c+3;d--;f+=2){var g=.443506852043971*a[f+1];a[f]=1.230174104914001*a[f]-h-g;if(d--)f+=2,h=.443506852043971*a[f+1],a[f]=1.230174104914001*a[f]-h-g;else break}f=b-1;h=.882911075530934*a[f-1];
-for(d=c+2;d--;f+=2)if(g=.882911075530934*a[f+1],a[f]-=h+g,d--)f+=2,h=.882911075530934*a[f+1],a[f]-=h+g;else break;f=b;h=-.052980118572961*a[f-1];for(d=c+1;d--;f+=2)if(g=-.052980118572961*a[f+1],a[f]-=h+g,d--)f+=2,h=-.052980118572961*a[f+1],a[f]-=h+g;else break;if(0!==c)for(f=b+1,h=-1.586134342059924*a[f-1],d=c;d--;f+=2)if(g=-1.586134342059924*a[f+1],a[f]-=h+g,d--)f+=2,h=-1.586134342059924*a[f+1],a[f]-=h+g;else break};return a}(),Q=function(){function a(){O.call(this)}a.prototype=Object.create(O.prototype);
-a.prototype.filter=function(a,b,c){c>>=1;b|=0;var d;var f=b;for(d=c+1;d--;f+=2)a[f]-=a[f-1]+a[f+1]+2>>2;f=b+1;for(d=c;d--;f+=2)a[f]+=a[f-1]+a[f+1]>>1};return a}();return c}();"use strict";var e=function(){function c(){}function h(a,b,c){this.data=a;this.start=b;this.end=c}function g(a,b,c){function d(a){for(var b=0,d=0;d<a;d++){var g=c.readBit(f,h);h=256>h?h<<1|g:(h<<1|g)&511|256;b=b<<1|g}return b>>>0}var f=a.getContexts(b),h=1;a=d(1);b=d(1)?d(1)?d(1)?d(1)?d(1)?d(32)+4436:d(12)+340:d(8)+84:d(6)+20:
-d(4)+4:d(2);return 0===a?b:0<b?-b:null}function e(a,b,c){a=a.getContexts("IAID");for(var d=1,f=0;f<c;f++){var h=b.readBit(a,d);d=d<<1|h}return 31>c?d&(1<<c)-1:d&2147483647}function n(a,b,c){var d=c.decoder;c=c.contextCache.getContexts("GB");var f,h,g,k=[];for(f=0;f<b;f++){var e=k[f]=new Uint8Array(a);var r=1>f?e:k[f-1];var l=2>f?e:k[f-2];var n=l[0]<<13|l[1]<<12|l[2]<<11|r[0]<<7|r[1]<<6|r[2]<<5|r[3]<<4;for(h=0;h<a;h++)e[h]=g=d.readBit(c,n),n=(n&31735)<<1|(h+3<a?l[h+3]<<11:0)|(h+4<a?r[h+4]<<4:0)|g}return k}
-function p(a,b,c,d,f,h,g,k){a&&l("JBIG2 error: MMR encoding is not supported");if(0===d&&!h&&!f&&4===g.length&&3===g[0].x&&-1===g[0].y&&-3===g[1].x&&-1===g[1].y&&2===g[2].x&&-2===g[2].y&&-2===g[3].x&&-2===g[3].y)return n(b,c,k);a=!!h;var e=x[d].concat(g);e.sort(function(a,b){return a.y-b.y||a.x-b.x});g=e.length;var r=new Int8Array(g),p=new Int8Array(g),q=[],m=0,w=0,y=0,t=0,G,u;for(u=0;u<g;u++)r[u]=e[u].x,p[u]=e[u].y,w=Math.min(w,e[u].x),y=Math.max(y,e[u].x),t=Math.min(t,e[u].y),u<g-1&&e[u].y===e[u+
-1].y&&e[u].x===e[u+1].x-1?m|=1<<g-1-u:q.push(u);var v=q.length,z=new Int8Array(v),A=new Int8Array(v),B=new Uint16Array(v);for(G=0;G<v;G++)u=q[G],z[G]=e[u].x,A[G]=e[u].y,B[G]=1<<g-1-u;e=-w;t=-t;y=b-y;d=E[d];q=new Uint8Array(b);w=[];G=k.decoder;k=k.contextCache.getContexts("GB");for(var D=0,C,L,I,H=0,M,F=0;F<c;F++){if(f&&(u=G.readBit(k,d),D^=u)){w.push(q);continue}q=new Uint8Array(q);w.push(q);for(C=0;C<b;C++)if(a&&h[F][C])q[C]=0;else{if(C>=e&&C<y&&F>=t)for(H=H<<1&m,u=0;u<v;u++){if(L=F+A[u],I=C+z[u],
-L=w[L][I])L=B[u],H|=L}else for(H=0,M=g-1,u=0;u<g;u++,M--)I=C+r[u],0<=I&&I<b&&(L=F+p[u],0<=L&&(L=w[L][I])&&(H|=L<<M));u=G.readBit(k,H);q[C]=u}}return w}function q(a,b,c,d,f,h,g,k,e){var r=C[c].coding;0===c&&(r=r.concat([k[0]]));var n=r.length,p=new Int32Array(n),q=new Int32Array(n),m;for(m=0;m<n;m++)p[m]=r[m].x,q[m]=r[m].y;var w=C[c].reference;0===c&&(w=w.concat([k[1]]));k=w.length;r=new Int32Array(k);var y=new Int32Array(k);for(m=0;m<k;m++)r[m]=w[m].x,y[m]=w[m].y;w=d[0].length;var t=d.length;c=O[c];
-var u=[],G=e.decoder;e=e.contextCache.getContexts("GR");for(var v=0,z=0;z<b;z++){g&&(m=G.readBit(e,c),(v^=m)&&l("JBIG2 error: prediction is not supported"));var x=new Uint8Array(a);u.push(x);for(var A=0;A<a;A++){var B=0;for(m=0;m<n;m++){var D=z+q[m];var L=A+p[m];B=0>D||0>L||L>=a?B<<1:B<<1|u[D][L]}for(m=0;m<k;m++)D=z+y[m]+h,L=A+r[m]+f,B=0>D||D>=t||0>L||L>=w?B<<1:B<<1|d[D][L];m=G.readBit(e,B);x[A]=m}}return u}function m(a,b,c,d,f,h,k,r,n,p,m,w,t,u,G,v,z){a&&l("JBIG2 error: huffman is not supported");
-a=[];for(u=0;u<d;u++){var y=new Uint8Array(c);if(f)for(var x=0;x<c;x++)y[x]=f;a.push(y)}d=z.decoder;f=z.contextCache;x=-g(f,"IADT",d);var A=0;for(u=0;u<h;){var B=g(f,"IADT",d);x+=B;B=g(f,"IAFS",d);B=A+=B;do{var D=1===k?0:g(f,"IAIT",d);y=k*x+D;D=e(f,d,n);var C=b&&g(f,"IARI",d);D=r[D];var L=D[0].length,I=D.length;if(C){C=g(f,"IARDW",d);var H=g(f,"IARDH",d),M=g(f,"IARDX",d),F=g(f,"IARDY",d);L+=C;I+=H;D=q(L,I,G,D,(C>>1)+M,(H>>1)+F,!1,v,z)}C=y-(w&1?0:I);H=B-(w&2?L:0);if(p){for(M=0;M<I;M++)if(y=a[H+M]){var E=
-D[M];var K=Math.min(c-C,L);switch(t){case 0:for(F=0;F<K;F++)y[C+F]|=E[F];break;case 2:for(F=0;F<K;F++)y[C+F]^=E[F];break;default:l("JBIG2 error: operator "+t+" is not supported")}}B+=I-1}else{for(F=0;F<I;F++)if(y=a[C+F])switch(E=D[F],t){case 0:for(M=0;M<L;M++)y[H+M]|=E[M];break;case 2:for(M=0;M<L;M++)y[H+M]^=E[M];break;default:l("JBIG2 error: operator "+t+" is not supported")}B+=L-1}u++;D=g(f,"IADS",d);if(null===D)break;B+=D+m}while(1)}return a}function u(a,b){return{width:d(a,b),height:d(a,b+4),
-x:d(a,b+8),y:d(a,b+12),combinationOperator:a[b+16]&7}}function r(){}function v(){}c.prototype={getContexts:function(a){return a in this?this[a]:this[a]=new Int8Array(65536)}};h.prototype={get decoder(){var a=new k(this.data,this.start,this.end);return f(this,"decoder",a)},get contextCache(){var a=new c;return f(this,"contextCache",a)}};var G=["SymbolDictionary",null,null,null,"IntermediateTextRegion",null,"ImmediateTextRegion","ImmediateLosslessTextRegion",null,null,null,null,null,null,null,null,
-"patternDictionary",null,null,null,"IntermediateHalftoneRegion",null,"ImmediateHalftoneRegion","ImmediateLosslessHalftoneRegion",null,null,null,null,null,null,null,null,null,null,null,null,"IntermediateGenericRegion",null,"ImmediateGenericRegion","ImmediateLosslessGenericRegion","IntermediateGenericRefinementRegion",null,"ImmediateGenericRefinementRegion","ImmediateLosslessGenericRefinementRegion",null,null,null,null,"PageInformation","EndOfPage","EndOfStripe","EndOfFile","Profiles","Tables",null,
-null,null,null,null,null,null,null,"Extension"],x=[[{x:-1,y:-2},{x:0,y:-2},{x:1,y:-2},{x:-2,y:-1},{x:-1,y:-1},{x:0,y:-1},{x:1,y:-1},{x:2,y:-1},{x:-4,y:0},{x:-3,y:0},{x:-2,y:0},{x:-1,y:0}],[{x:-1,y:-2},{x:0,y:-2},{x:1,y:-2},{x:2,y:-2},{x:-2,y:-1},{x:-1,y:-1},{x:0,y:-1},{x:1,y:-1},{x:2,y:-1},{x:-3,y:0},{x:-2,y:0},{x:-1,y:0}],[{x:-1,y:-2},{x:0,y:-2},{x:1,y:-2},{x:-2,y:-1},{x:-1,y:-1},{x:0,y:-1},{x:1,y:-1},{x:-2,y:0},{x:-1,y:0}],[{x:-3,y:-1},{x:-2,y:-1},{x:-1,y:-1},{x:0,y:-1},{x:1,y:-1},{x:-4,y:0},{x:-3,
-y:0},{x:-2,y:0},{x:-1,y:0}]],C=[{coding:[{x:0,y:-1},{x:1,y:-1},{x:-1,y:0}],reference:[{x:0,y:-1},{x:1,y:-1},{x:-1,y:0},{x:0,y:0},{x:1,y:0},{x:-1,y:1},{x:0,y:1},{x:1,y:1}]},{coding:[{x:-1,y:-1},{x:0,y:-1},{x:1,y:-1},{x:-1,y:0}],reference:[{x:0,y:-1},{x:-1,y:0},{x:0,y:0},{x:1,y:0},{x:0,y:1},{x:1,y:1}]}],E=[39717,1941,229,405],O=[32,8];r.prototype={onPageInformation:function(a){this.currentPageInfo=a;var b=new Uint8Array((a.width+7>>3)*a.height);if(a.defaultPixelValue){a=0;for(var c=b.length;a<c;a++)b[a]=
-255}this.buffer=b},drawBitmap:function(a,b){var c=this.currentPageInfo,d=a.width,f=a.height,h=c.width+7>>3,g=c.combinationOperatorOverride?a.combinationOperator:c.combinationOperator;c=this.buffer;var k=128>>(a.x&7);a=a.y*h+(a.x>>3);var e;switch(g){case 0:for(g=0;g<f;g++){var r=k;var n=a;for(e=0;e<d;e++)b[g][e]&&(c[n]|=r),r>>=1,r||(r=128,n++);a+=h}break;case 2:for(g=0;g<f;g++){r=k;n=a;for(e=0;e<d;e++)b[g][e]&&(c[n]^=r),r>>=1,r||(r=128,n++);a+=h}break;default:l("JBIG2 error: operator "+g+" is not supported")}},
-onImmediateGenericRegion:function(a,b,c,d){var f=a.info;b=new h(b,c,d);a=p(a.mmr,f.width,f.height,a.template,a.prediction,null,a.at,b);this.drawBitmap(f,a)},onImmediateLosslessGenericRegion:function(){this.onImmediateGenericRegion.apply(this,arguments)},onSymbolDictionary:function(b,c,d,f,k,r){b.huffman&&l("JBIG2 error: huffman is not supported");var n=this.symbols;n||(this.symbols=n={});for(var w=[],t=0,y=d.length;t<y;t++)w=w.concat(n[d[t]]);r=new h(f,k,r);t=b.huffman;y=b.refinement;d=w;w=b.numberOfNewSymbols;
-var u=b.template,G=b.at,v=b.refinementTemplate,z=b.refinementAt;t&&l("JBIG2 error: huffman is not supported");b=[];var x=0,A=a(d.length+w);f=r.decoder;for(k=r.contextCache;b.length<w;){var B=g(k,"IADH",f);x+=B;for(B=0;;){var D=g(k,"IADW",f);if(null===D)break;B+=D;if(y)if(D=g(k,"IAAI",f),1<D)D=m(t,y,B,x,0,D,1,d.concat(b),A,0,0,1,0,void 0,v,z,r);else{D=e(k,f,A);var C=g(k,"IARDX",f),I=g(k,"IARDY",f);D=q(B,x,v,D<d.length?d[D]:b[D-d.length],C,I,!1,z,r)}else D=p(!1,B,x,u,!1,null,G,r);b.push(D)}}r=[];t=
-[];y=!1;for(u=d.length+w;t.length<u;){for(G=g(k,"IAEX",f);G--;)t.push(y);y=!y}f=0;for(k=d.length;f<k;f++)t[f]&&r.push(d[f]);for(d=0;d<w;f++,d++)t[f]&&r.push(b[d]);n[c]=r},onImmediateTextRegion:function(b,c,d,f,g){for(var k=b.info,e=this.symbols,r=[],l=0,n=c.length;l<n;l++)r=r.concat(e[c[l]]);c=a(r.length);d=new h(d,f,g);b=m(b.huffman,b.refinement,k.width,k.height,b.defaultPixelValue,b.numberOfSymbolInstances,b.stripSize,r,c,b.transposed,b.dsOffset,b.referenceCorner,b.combinationOperator,void 0,b.refinementTemplate,
-b.refinementAt,d);this.drawBitmap(k,b)},onImmediateLosslessTextRegion:function(){this.onImmediateTextRegion.apply(this,arguments)}};v.prototype={parseChunks:function(a){for(var c=new r,f=0,h=a.length;f<h;f++){for(var g=a[f],k={},e=g.data,n=g.end,p=[],q=g.start;q<n;){g=e;var m=q;q={};q.number=d(g,m);var w=g[m+4];var t=w&63;G[t]||l("JBIG2 error: invalid segment type: "+t);q.type=t;q.typeName=G[t];q.deferredNonRetain=!!(w&128);w=!!(w&64);var v=g[m+5],z=v>>5&7;var x=[v&31];m+=6;if(7===v)for(z=d(g,m-1)&
-536870911,m+=3,v=z+7>>3,x[0]=g[m++];0<--v;)x.push(g[m++]);else 5!==v&&6!==v||l("JBIG2 error: invalid referred-to flags");q.retainBits=x;v=256>=q.number?1:65536>=q.number?2:4;var A=[];for(x=0;x<z;x++){var D=1===v?g[m]:2===v?b(g,m):d(g,m);A.push(D);m+=v}q.referredTo=A;w?(q.pageAssociation=d(g,m),m+=4):q.pageAssociation=g[m++];q.length=d(g,m);m+=4;if(4294967295===q.length)if(38===t){w=u(g,m);z=!!(g[m+17]&1);t=new Uint8Array(6);z||(t[0]=255,t[1]=172);t[2]=w.height>>>24&255;t[3]=w.height>>16&255;t[4]=
-w.height>>8&255;t[5]=w.height&255;x=m;for(w=g.length;x<w;x++){for(z=0;6>z&&t[z]===g[x+z];)z++;if(6===z){q.length=x+6;break}}4294967295===q.length&&l("JBIG2 error: segment end was not found")}else l("JBIG2 error: invalid unknown segment length");q.headerEnd=m;g=q;q=g.headerEnd;m={header:g,data:e};k.randomAccess||(m.start=q,q+=g.length,m.end=q);p.push(m);if(51===g.type)break}if(k.randomAccess)for(k=0,e=p.length;k<e;k++)p[k].start=q,q+=p[k].header.length,p[k].end=q;k=c;e=0;for(n=p.length;e<n;e++){z=
-void 0;w=p[e];g=k;q=w.header;m=w.data;t=w.start;w=w.end;switch(q.type){case 0:A={};z=b(m,t);A.huffman=!!(z&1);A.refinement=!!(z&2);A.huffmanDHSelector=z>>2&3;A.huffmanDWSelector=z>>4&3;A.bitmapSizeSelector=z>>6&1;A.aggregationInstancesSelector=z>>7&1;A.bitmapCodingContextUsed=!!(z&256);A.bitmapCodingContextRetained=!!(z&512);A.template=z>>10&3;A.refinementTemplate=z>>12&1;t+=2;if(!A.huffman){v=0===A.template?4:1;x=[];for(z=0;z<v;z++)x.push({x:m[t]<<24>>24,y:m[t+1]<<24>>24}),t+=2;A.at=x}if(A.refinement&&
-!A.refinementTemplate){x=[];for(z=0;2>z;z++)x.push({x:m[t]<<24>>24,y:m[t+1]<<24>>24}),t+=2;A.refinementAt=x}A.numberOfExportedSymbols=d(m,t);t+=4;A.numberOfNewSymbols=d(m,t);z=[A,q.number,q.referredTo,m,t+4,w];break;case 6:case 7:v={};v.info=u(m,t);t+=17;z=b(m,t);t+=2;v.huffman=!!(z&1);v.refinement=!!(z&2);v.stripSize=1<<(z>>2&3);v.referenceCorner=z>>4&3;v.transposed=!!(z&64);v.combinationOperator=z>>7&3;v.defaultPixelValue=z>>9&1;v.dsOffset=z<<17>>27;v.refinementTemplate=z>>15&1;v.huffman&&(z=b(m,
-t),t+=2,v.huffmanFS=z&3,v.huffmanDS=z>>2&3,v.huffmanDT=z>>4&3,v.huffmanRefinementDW=z>>6&3,v.huffmanRefinementDH=z>>8&3,v.huffmanRefinementDX=z>>10&3,v.huffmanRefinementDY=z>>12&3,v.huffmanRefinementSizeSelector=!!(z&14));if(v.refinement&&!v.refinementTemplate){x=[];for(z=0;2>z;z++)x.push({x:m[t]<<24>>24,y:m[t+1]<<24>>24}),t+=2;v.refinementAt=x}v.numberOfSymbolInstances=d(m,t);t+=4;v.huffman&&l("JBIG2 error: huffman is not supported");z=[v,q.referredTo,m,t,w];break;case 38:case 39:A={};A.info=u(m,
-t);t+=17;z=m[t++];A.mmr=!!(z&1);A.template=z>>1&3;A.prediction=!!(z&8);if(!A.mmr){v=0===A.template?4:1;x=[];for(z=0;z<v;z++)x.push({x:m[t]<<24>>24,y:m[t+1]<<24>>24}),t+=2;A.at=x}z=[A,m,t,w];break;case 48:w={width:d(m,t),height:d(m,t+4),resolutionX:d(m,t+8),resolutionY:d(m,t+12)};4294967295===w.height&&delete w.height;z=m[t+16];b(m,t+17);w.lossless=!!(z&1);w.refinement=!!(z&2);w.defaultPixelValue=z>>2&1;w.combinationOperator=z>>3&3;w.requiresBuffer=!!(z&32);w.combinationOperatorOverride=!!(z&64);z=
-[w];break;case 49:break;case 50:break;case 51:break;case 62:break;default:l("JBIG2 error: segment type "+q.typeName+"("+q.type+") is not implemented")}q="on"+q.typeName;q in g&&g[q].apply(g,z)}}return c}};return v}(),l=function(){console.error.apply(console,arguments);throw Error("PDFJS error: "+arguments[0]);},n=function(){console.warn.apply(console,arguments)},m=function(){console.info.apply(console,arguments)};e.prototype.parse=function(a){var b=0,c=a.length;151===a[b]&&74===a[b+1]&&66===a[b+2]&&
-50===a[b+3]&&13===a[b+4]&&10===a[b+5]&&26===a[b+6]&&10===a[b+7]||l("JBIG2 error: invalid header");b+=8;a[b++]&2||(d(a,b),b+=4);a=this.parseChunks([{data:a,start:b,end:c}]);b=a.currentPageInfo.width;c=a.currentPageInfo.height;var f=a.buffer;a=new Uint8Array(b*c);for(var h=0,g=0,k=0;k<c;k++)for(var e=0,n,r=0;r<b;r++)e||(e=128,n=f[g++]),a[h++]=n&e?0:255,e>>=1;this.width=b;this.height=c;this.data=a};c.JpegImage=h;c.JpxImage=g;c.Jbig2Image=e})(f||(f={}));m.exports={JpegImage:e,JpegDecoder:f.JpegImage,
-JpxDecoder:f.JpxImage,Jbig2Decoder:f.Jbig2Image}},function(m,e,l){l.d(e,"a",function(){return g});var g=function c(){if(!(this instanceof c))throw new TypeError("Cannot call a class as a function");};g.RPC_ID="ndstore/VolumeChunkSource"},function(m,e,l){e.a=function(d,e){e=Object(a.a)(Object(b.inflate)(new Uint8Array(e)));var h=d.chunkDataSize,k=d.source,l=k.spec.numChannels,p=e.shape;if(4!==p.length||p[0]!==l||p[1]!==h[2]||p[2]!==h[1]||p[3]!==h[0])throw Error("Shape "+JSON.stringify(p)+" does not match chunkDataSize "+
-Object(c.m)(h));h=e.dataType.dataType;k=k.spec;if(h!==k.dataType)throw Error("Data type "+f.a[h]+" does not match "+("expected data type "+f.a[k.dataType]));Object(g.a)(d,e.data)};var g=l(25),f=l(9),c=l(1),a=l(83),b=l(26);l.n(b)},function(m,e,l){e.a=function(a){if(147!==a[0]||78!==a[1]||85!==a[2]||77!==a[3]||80!==a[4]||89!==a[5])throw Error("Data does not match npy format.");var b=a[6],d=a[7];if(1!==b||0!==d)throw Error("Unsupported npy version "+b+"."+d);b=(new DataView(a.buffer,a.byteOffset,a.byteLength)).getUint16(8,
-!0);d=(new TextDecoder("utf-8")).decode(a.subarray(10,b+10));b+=10;try{var h=Object(f.b)(d)}catch(t){throw Error("Failed to parse npy header: "+t);}var g=h.descr;d=h.shape;var e=1;if(!Array.isArray(d))throw Error("Invalid shape ${JSON.stringify(shape)}");for(var l=$jscomp.makeIterator(d),m=l.next();!m.done;m=l.next()){m=m.value;if("number"!==typeof m)throw Error("Invalid shape ${JSON.stringify(shape)}");e*=m}l=c.get(g);if(void 0===l)throw Error("Unsupported numpy data type "+JSON.stringify(g));g=
-l.arrayConstructor;e*=l.javascriptElementsPerArrayElement;if(g.BYTES_PER_ELEMENT*e+b!==a.byteLength)throw Error("Expected length does not match length of data");a=new g(a.buffer,a.byteOffset+b,e);l.fixEndianness(a);return new q(a,d,l,!0===h.fortran_order)};m=l(10);var g=l(12),f=l(5),c=new Map;c.set("|u1",{arrayConstructor:Uint8Array,fixEndianness:function(){},javascriptElementsPerArrayElement:1,elementBytes:1,dataType:m.b.UINT8});c.set("|i1",{arrayConstructor:Uint8Array,fixEndianness:function(){},
-javascriptElementsPerArrayElement:1,elementBytes:1,dataType:m.b.UINT8});l={};e=$jscomp.makeIterator([["<",g.b.LITTLE],[">",g.b.BIG]]);for(var a=e.next();!a.done;l={endianness:l.endianness},a=e.next()){var b=$jscomp.makeIterator(a.value);a=b.next().value;l.endianness=b.next().value;b=$jscomp.makeIterator(["u","i"]);for(var d=b.next();!d.done;d=b.next())d=d.value,c.set(""+a+d+"2",{arrayConstructor:Uint16Array,elementBytes:2,fixEndianness:function(a){return function(b){Object(g.c)(b,a.endianness)}}(l),
-javascriptElementsPerArrayElement:1,dataType:m.b.UINT16}),c.set(""+a+d+"4",{arrayConstructor:Uint32Array,elementBytes:4,fixEndianness:function(a){return function(b){Object(g.d)(b,a.endianness)}}(l),javascriptElementsPerArrayElement:1,dataType:m.b.UINT32}),c.set(""+a+d+"8",{arrayConstructor:Uint32Array,elementBytes:8,fixEndianness:function(a){return function(b){Object(g.d)(b,a.endianness)}}(l),javascriptElementsPerArrayElement:2,dataType:m.b.UINT64});c.set(a+"f4",{arrayConstructor:Float32Array,elementBytes:4,
-fixEndianness:function(a){return function(b){Object(g.d)(b,a.endianness)}}(l),javascriptElementsPerArrayElement:1,dataType:m.b.FLOAT32})}var q=function k(a,b,c,d){if(!(this instanceof k))throw new TypeError("Cannot call a class as a function");this.data=a;this.shape=b;this.dataType=c;this.fortranOrder=d}},function(m,e,l){function g(f){if(!(this instanceof g))return new g(f);f=this.options=a.assign({level:-1,method:8,chunkSize:16384,windowBits:15,memLevel:8,strategy:0,to:""},f||{});f.raw&&0<f.windowBits?
-f.windowBits=-f.windowBits:f.gzip&&0<f.windowBits&&16>f.windowBits&&(f.windowBits+=16);this.err=0;this.msg="";this.ended=!1;this.chunks=[];this.strm=new q;this.strm.avail_out=0;var k=c.deflateInit2(this.strm,f.level,f.method,f.windowBits,f.memLevel,f.strategy);if(0!==k)throw Error(d[k]);f.header&&c.deflateSetHeader(this.strm,f.header);if(f.dictionary){f="string"===typeof f.dictionary?b.string2buf(f.dictionary):"[object ArrayBuffer]"===h.call(f.dictionary)?new Uint8Array(f.dictionary):f.dictionary;
-k=c.deflateSetDictionary(this.strm,f);if(0!==k)throw Error(d[k]);this._dict_set=!0}}function f(a,b){b=new g(b);b.push(a,!0);if(b.err)throw b.msg||d[b.err];return b.result}var c=l(85),a=l(4),b=l(40),d=l(27),q=l(41),h=Object.prototype.toString;g.prototype.push=function(d,f){var g=this.strm,k=this.options.chunkSize;if(this.ended)return!1;f=f===~~f?f:!0===f?4:0;"string"===typeof d?g.input=b.string2buf(d):"[object ArrayBuffer]"===h.call(d)?g.input=new Uint8Array(d):g.input=d;g.next_in=0;g.avail_in=g.input.length;
-do{0===g.avail_out&&(g.output=new a.Buf8(k),g.next_out=0,g.avail_out=k);d=c.deflate(g,f);if(1!==d&&0!==d)return this.onEnd(d),this.ended=!0,!1;if(0===g.avail_out||0===g.avail_in&&(4===f||2===f))if("string"===this.options.to)this.onData(b.buf2binstring(a.shrinkBuf(g.output,g.next_out)));else this.onData(a.shrinkBuf(g.output,g.next_out))}while((0<g.avail_in||0===g.avail_out)&&1!==d);if(4===f)return d=c.deflateEnd(this.strm),this.onEnd(d),this.ended=!0,0===d;2===f&&(this.onEnd(0),g.avail_out=0);return!0};
-g.prototype.onData=function(a){this.chunks.push(a)};g.prototype.onEnd=function(b){0===b&&(this.result="string"===this.options.to?this.chunks.join(""):a.flattenChunks(this.chunks));this.chunks=[];this.err=b;this.msg=this.strm.msg};e.Deflate=g;e.deflate=f;e.deflateRaw=function(a,b){b=b||{};b.raw=!0;return f(a,b)};e.gzip=function(a,b){b=b||{};b.gzip=!0;return f(a,b)}},function(m,e,l){function g(a,b){a.msg=A[b];return b}function f(a){for(var b=a.length;0<=--b;)a[b]=0}function c(a){var b=a.state,c=b.pending;
-c>a.avail_out&&(c=a.avail_out);0!==c&&(F.arraySet(a.output,b.pending_buf,b.pending_out,c,a.next_out),a.next_out+=c,b.pending_out+=c,a.total_out+=c,a.avail_out-=c,b.pending-=c,0===b.pending&&(b.pending_out=0))}function a(a,b){B._tr_flush_block(a,0<=a.block_start?a.block_start:-1,a.strstart-a.block_start,b);a.block_start=a.strstart;c(a.strm)}function b(a,b){a.pending_buf[a.pending++]=b}function d(a,b){a.pending_buf[a.pending++]=b>>>8&255;a.pending_buf[a.pending++]=b&255}function q(a,b){var c=a.max_chain_length,
-d=a.strstart,f=a.prev_length,h=a.nice_match,g=a.strstart>a.w_size-262?a.strstart-(a.w_size-262):0,e=a.window,k=a.w_mask,r=a.prev,l=a.strstart+258,n=e[d+f-1],m=e[d+f];a.prev_length>=a.good_match&&(c>>=2);h>a.lookahead&&(h=a.lookahead);do{var p=b;if(e[p+f]===m&&e[p+f-1]===n&&e[p]===e[d]&&e[++p]===e[d+1]){d+=2;for(p++;e[++d]===e[++p]&&e[++d]===e[++p]&&e[++d]===e[++p]&&e[++d]===e[++p]&&e[++d]===e[++p]&&e[++d]===e[++p]&&e[++d]===e[++p]&&e[++d]===e[++p]&&d<l;);p=258-(l-d);d=l-258;if(p>f){a.match_start=
-b;f=p;if(p>=h)break;n=e[d+f-1];m=e[d+f]}}}while((b=r[b&k])>g&&0!==--c);return f<=a.lookahead?f:a.lookahead}function h(a){var b=a.w_size,c;do{var d=a.window_size-a.lookahead-a.strstart;if(a.strstart>=b+(b-262)){F.arraySet(a.window,a.window,b,b,0);a.match_start-=b;a.strstart-=b;a.block_start-=b;var f=c=a.hash_size;do{var h=a.head[--f];a.head[f]=h>=b?h-b:0}while(--c);f=c=b;do h=a.prev[--f],a.prev[f]=h>=b?h-b:0;while(--c);d+=b}if(0===a.strm.avail_in)break;f=a.strm;c=a.window;h=a.strstart+a.lookahead;
-var g=f.avail_in;g>d&&(g=d);0===g?c=0:(f.avail_in-=g,F.arraySet(c,f.input,f.next_in,g,h),1===f.state.wrap?f.adler=H(f.adler,c,g,h):2===f.state.wrap&&(f.adler=w(f.adler,c,g,h)),f.next_in+=g,f.total_in+=g,c=g);a.lookahead+=c;if(3<=a.lookahead+a.insert)for(d=a.strstart-a.insert,a.ins_h=a.window[d],a.ins_h=(a.ins_h<<a.hash_shift^a.window[d+1])&a.hash_mask;a.insert&&!(a.ins_h=(a.ins_h<<a.hash_shift^a.window[d+3-1])&a.hash_mask,a.prev[d&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=d,d++,a.insert--,3>a.lookahead+
-a.insert););}while(262>a.lookahead&&0!==a.strm.avail_in)}function k(b,c){for(var d;;){if(262>b.lookahead){h(b);if(262>b.lookahead&&0===c)return 1;if(0===b.lookahead)break}d=0;3<=b.lookahead&&(b.ins_h=(b.ins_h<<b.hash_shift^b.window[b.strstart+3-1])&b.hash_mask,d=b.prev[b.strstart&b.w_mask]=b.head[b.ins_h],b.head[b.ins_h]=b.strstart);0!==d&&b.strstart-d<=b.w_size-262&&(b.match_length=q(b,d));if(3<=b.match_length)if(d=B._tr_tally(b,b.strstart-b.match_start,b.match_length-3),b.lookahead-=b.match_length,
-b.match_length<=b.max_lazy_match&&3<=b.lookahead){b.match_length--;do b.strstart++,b.ins_h=(b.ins_h<<b.hash_shift^b.window[b.strstart+3-1])&b.hash_mask,b.prev[b.strstart&b.w_mask]=b.head[b.ins_h],b.head[b.ins_h]=b.strstart;while(0!==--b.match_length);b.strstart++}else b.strstart+=b.match_length,b.match_length=0,b.ins_h=b.window[b.strstart],b.ins_h=(b.ins_h<<b.hash_shift^b.window[b.strstart+1])&b.hash_mask;else d=B._tr_tally(b,0,b.window[b.strstart]),b.lookahead--,b.strstart++;if(d&&(a(b,!1),0===b.strm.avail_out))return 1}b.insert=
-2>b.strstart?b.strstart:2;return 4===c?(a(b,!0),0===b.strm.avail_out?3:4):b.last_lit&&(a(b,!1),0===b.strm.avail_out)?1:2}function u(b,c){for(var d,f;;){if(262>b.lookahead){h(b);if(262>b.lookahead&&0===c)return 1;if(0===b.lookahead)break}d=0;3<=b.lookahead&&(b.ins_h=(b.ins_h<<b.hash_shift^b.window[b.strstart+3-1])&b.hash_mask,d=b.prev[b.strstart&b.w_mask]=b.head[b.ins_h],b.head[b.ins_h]=b.strstart);b.prev_length=b.match_length;b.prev_match=b.match_start;b.match_length=2;0!==d&&b.prev_length<b.max_lazy_match&&
-b.strstart-d<=b.w_size-262&&(b.match_length=q(b,d),5>=b.match_length&&(1===b.strategy||3===b.match_length&&4096<b.strstart-b.match_start)&&(b.match_length=2));if(3<=b.prev_length&&b.match_length<=b.prev_length){f=b.strstart+b.lookahead-3;d=B._tr_tally(b,b.strstart-1-b.prev_match,b.prev_length-3);b.lookahead-=b.prev_length-1;b.prev_length-=2;do++b.strstart<=f&&(b.ins_h=(b.ins_h<<b.hash_shift^b.window[b.strstart+3-1])&b.hash_mask,b.prev[b.strstart&b.w_mask]=b.head[b.ins_h],b.head[b.ins_h]=b.strstart);
-while(0!==--b.prev_length);b.match_available=0;b.match_length=2;b.strstart++;if(d&&(a(b,!1),0===b.strm.avail_out))return 1}else if(b.match_available){if((d=B._tr_tally(b,0,b.window[b.strstart-1]))&&a(b,!1),b.strstart++,b.lookahead--,0===b.strm.avail_out)return 1}else b.match_available=1,b.strstart++,b.lookahead--}b.match_available&&(B._tr_tally(b,0,b.window[b.strstart-1]),b.match_available=0);b.insert=2>b.strstart?b.strstart:2;return 4===c?(a(b,!0),0===b.strm.avail_out?3:4):b.last_lit&&(a(b,!1),0===
-b.strm.avail_out)?1:2}function p(b,c){for(var d,f,g,e=b.window;;){if(258>=b.lookahead){h(b);if(258>=b.lookahead&&0===c)return 1;if(0===b.lookahead)break}b.match_length=0;if(3<=b.lookahead&&0<b.strstart&&(f=b.strstart-1,d=e[f],d===e[++f]&&d===e[++f]&&d===e[++f])){for(g=b.strstart+258;d===e[++f]&&d===e[++f]&&d===e[++f]&&d===e[++f]&&d===e[++f]&&d===e[++f]&&d===e[++f]&&d===e[++f]&&f<g;);b.match_length=258-(g-f);b.match_length>b.lookahead&&(b.match_length=b.lookahead)}3<=b.match_length?(d=B._tr_tally(b,
-1,b.match_length-3),b.lookahead-=b.match_length,b.strstart+=b.match_length,b.match_length=0):(d=B._tr_tally(b,0,b.window[b.strstart]),b.lookahead--,b.strstart++);if(d&&(a(b,!1),0===b.strm.avail_out))return 1}b.insert=0;return 4===c?(a(b,!0),0===b.strm.avail_out?3:4):b.last_lit&&(a(b,!1),0===b.strm.avail_out)?1:2}function x(b,c){for(var d;;){if(0===b.lookahead&&(h(b),0===b.lookahead)){if(0===c)return 1;break}b.match_length=0;d=B._tr_tally(b,0,b.window[b.strstart]);b.lookahead--;b.strstart++;if(d&&
-(a(b,!1),0===b.strm.avail_out))return 1}b.insert=0;return 4===c?(a(b,!0),0===b.strm.avail_out?3:4):b.last_lit&&(a(b,!1),0===b.strm.avail_out)?1:2}function n(a,b,c,d,f){this.good_length=a;this.max_lazy=b;this.nice_length=c;this.max_chain=d;this.func=f}function v(){this.strm=null;this.status=0;this.pending_buf=null;this.wrap=this.pending=this.pending_out=this.pending_buf_size=0;this.gzhead=null;this.gzindex=0;this.method=8;this.last_flush=-1;this.w_mask=this.w_bits=this.w_size=0;this.window=null;this.window_size=
-0;this.head=this.prev=null;this.nice_match=this.good_match=this.strategy=this.level=this.max_lazy_match=this.max_chain_length=this.prev_length=this.lookahead=this.match_start=this.strstart=this.match_available=this.prev_match=this.match_length=this.block_start=this.hash_shift=this.hash_mask=this.hash_bits=this.hash_size=this.ins_h=0;this.dyn_ltree=new F.Buf16(1146);this.dyn_dtree=new F.Buf16(122);this.bl_tree=new F.Buf16(78);f(this.dyn_ltree);f(this.dyn_dtree);f(this.bl_tree);this.bl_desc=this.d_desc=
-this.l_desc=null;this.bl_count=new F.Buf16(16);this.heap=new F.Buf16(573);f(this.heap);this.heap_max=this.heap_len=0;this.depth=new F.Buf16(573);f(this.depth);this.bi_valid=this.bi_buf=this.insert=this.matches=this.static_len=this.opt_len=this.d_buf=this.last_lit=this.lit_bufsize=this.l_buf=0}function I(a){if(!a||!a.state)return g(a,-2);a.total_in=a.total_out=0;a.data_type=2;var b=a.state;b.pending=0;b.pending_out=0;0>b.wrap&&(b.wrap=-b.wrap);b.status=b.wrap?42:113;a.adler=2===b.wrap?0:1;b.last_flush=
-0;B._tr_init(b);return 0}function t(a){var b=I(a);0===b&&(a=a.state,a.window_size=2*a.w_size,f(a.head),a.max_lazy_match=K[a.level].max_lazy,a.good_match=K[a.level].good_length,a.nice_match=K[a.level].nice_length,a.max_chain_length=K[a.level].max_chain,a.strstart=0,a.block_start=0,a.lookahead=0,a.insert=0,a.match_length=a.prev_length=2,a.match_available=0,a.ins_h=0);return b}function N(a,b,c,d,f,h){if(!a)return-2;var e=1;-1===b&&(b=6);0>d?(e=0,d=-d):15<d&&(e=2,d-=16);if(1>f||9<f||8!==c||8>d||15<d||
-0>b||9<b||0>h||4<h)return g(a,-2);8===d&&(d=9);var k=new v;a.state=k;k.strm=a;k.wrap=e;k.gzhead=null;k.w_bits=d;k.w_size=1<<k.w_bits;k.w_mask=k.w_size-1;k.hash_bits=f+7;k.hash_size=1<<k.hash_bits;k.hash_mask=k.hash_size-1;k.hash_shift=~~((k.hash_bits+3-1)/3);k.window=new F.Buf8(2*k.w_size);k.head=new F.Buf16(k.hash_size);k.prev=new F.Buf16(k.w_size);k.lit_bufsize=1<<f+6;k.pending_buf_size=4*k.lit_bufsize;k.pending_buf=new F.Buf8(k.pending_buf_size);k.d_buf=1*k.lit_bufsize;k.l_buf=3*k.lit_bufsize;
-k.level=b;k.strategy=h;k.method=c;return t(a)}var F=l(4),B=l(86),H=l(38),w=l(39),A=l(27);var K=[new n(0,0,0,0,function(b,c){var d=65535;for(d>b.pending_buf_size-5&&(d=b.pending_buf_size-5);;){if(1>=b.lookahead){h(b);if(0===b.lookahead&&0===c)return 1;if(0===b.lookahead)break}b.strstart+=b.lookahead;b.lookahead=0;var f=b.block_start+d;if(0===b.strstart||b.strstart>=f)if(b.lookahead=b.strstart-f,b.strstart=f,a(b,!1),0===b.strm.avail_out)return 1;if(b.strstart-b.block_start>=b.w_size-262&&(a(b,!1),0===
-b.strm.avail_out))return 1}b.insert=0;if(4===c)return a(b,!0),0===b.strm.avail_out?3:4;b.strstart>b.block_start&&a(b,!1);return 1}),new n(4,4,8,4,k),new n(4,5,16,8,k),new n(4,6,32,32,k),new n(4,4,16,16,u),new n(8,16,32,32,u),new n(8,16,128,128,u),new n(8,32,128,256,u),new n(32,128,258,1024,u),new n(32,258,258,4096,u)];e.deflateInit=function(a,b){return N(a,b,8,15,8,0)};e.deflateInit2=N;e.deflateReset=t;e.deflateResetKeep=I;e.deflateSetHeader=function(a,b){if(!a||!a.state||2!==a.state.wrap)return-2;
-a.state.gzhead=b;return 0};e.deflate=function(a,h){if(!a||!a.state||5<h||0>h)return a?g(a,-2):-2;var e=a.state;if(!a.output||!a.input&&0!==a.avail_in||666===e.status&&4!==h)return g(a,0===a.avail_out?-5:-2);e.strm=a;var k=e.last_flush;e.last_flush=h;if(42===e.status)if(2===e.wrap)a.adler=0,b(e,31),b(e,139),b(e,8),e.gzhead?(b(e,(e.gzhead.text?1:0)+(e.gzhead.hcrc?2:0)+(e.gzhead.extra?4:0)+(e.gzhead.name?8:0)+(e.gzhead.comment?16:0)),b(e,e.gzhead.time&255),b(e,e.gzhead.time>>8&255),b(e,e.gzhead.time>>
-16&255),b(e,e.gzhead.time>>24&255),b(e,9===e.level?2:2<=e.strategy||2>e.level?4:0),b(e,e.gzhead.os&255),e.gzhead.extra&&e.gzhead.extra.length&&(b(e,e.gzhead.extra.length&255),b(e,e.gzhead.extra.length>>8&255)),e.gzhead.hcrc&&(a.adler=w(a.adler,e.pending_buf,e.pending,0)),e.gzindex=0,e.status=69):(b(e,0),b(e,0),b(e,0),b(e,0),b(e,0),b(e,9===e.level?2:2<=e.strategy||2>e.level?4:0),b(e,3),e.status=113);else{var l=8+(e.w_bits-8<<4)<<8;l|=(2<=e.strategy||2>e.level?0:6>e.level?1:6===e.level?2:3)<<6;0!==
-e.strstart&&(l|=32);e.status=113;d(e,l+(31-l%31));0!==e.strstart&&(d(e,a.adler>>>16),d(e,a.adler&65535));a.adler=1}if(69===e.status)if(e.gzhead.extra){for(l=e.pending;e.gzindex<(e.gzhead.extra.length&65535)&&(e.pending!==e.pending_buf_size||(e.gzhead.hcrc&&e.pending>l&&(a.adler=w(a.adler,e.pending_buf,e.pending-l,l)),c(a),l=e.pending,e.pending!==e.pending_buf_size));)b(e,e.gzhead.extra[e.gzindex]&255),e.gzindex++;e.gzhead.hcrc&&e.pending>l&&(a.adler=w(a.adler,e.pending_buf,e.pending-l,l));e.gzindex===
-e.gzhead.extra.length&&(e.gzindex=0,e.status=73)}else e.status=73;if(73===e.status)if(e.gzhead.name){l=e.pending;do{if(e.pending===e.pending_buf_size&&(e.gzhead.hcrc&&e.pending>l&&(a.adler=w(a.adler,e.pending_buf,e.pending-l,l)),c(a),l=e.pending,e.pending===e.pending_buf_size)){var n=1;break}n=e.gzindex<e.gzhead.name.length?e.gzhead.name.charCodeAt(e.gzindex++)&255:0;b(e,n)}while(0!==n);e.gzhead.hcrc&&e.pending>l&&(a.adler=w(a.adler,e.pending_buf,e.pending-l,l));0===n&&(e.gzindex=0,e.status=91)}else e.status=
-91;if(91===e.status)if(e.gzhead.comment){l=e.pending;do{if(e.pending===e.pending_buf_size&&(e.gzhead.hcrc&&e.pending>l&&(a.adler=w(a.adler,e.pending_buf,e.pending-l,l)),c(a),l=e.pending,e.pending===e.pending_buf_size)){n=1;break}n=e.gzindex<e.gzhead.comment.length?e.gzhead.comment.charCodeAt(e.gzindex++)&255:0;b(e,n)}while(0!==n);e.gzhead.hcrc&&e.pending>l&&(a.adler=w(a.adler,e.pending_buf,e.pending-l,l));0===n&&(e.status=103)}else e.status=103;103===e.status&&(e.gzhead.hcrc?(e.pending+2>e.pending_buf_size&&
-c(a),e.pending+2<=e.pending_buf_size&&(b(e,a.adler&255),b(e,a.adler>>8&255),a.adler=0,e.status=113)):e.status=113);if(0!==e.pending){if(c(a),0===a.avail_out)return e.last_flush=-1,0}else if(0===a.avail_in&&(h<<1)-(4<h?9:0)<=(k<<1)-(4<k?9:0)&&4!==h)return g(a,-5);if(666===e.status&&0!==a.avail_in)return g(a,-5);if(0!==a.avail_in||0!==e.lookahead||0!==h&&666!==e.status){k=2===e.strategy?x(e,h):3===e.strategy?p(e,h):K[e.level].func(e,h);if(3===k||4===k)e.status=666;if(1===k||3===k)return 0===a.avail_out&&
-(e.last_flush=-1),0;if(2===k&&(1===h?B._tr_align(e):5!==h&&(B._tr_stored_block(e,0,0,!1),3===h&&(f(e.head),0===e.lookahead&&(e.strstart=0,e.block_start=0,e.insert=0))),c(a),0===a.avail_out))return e.last_flush=-1,0}if(4!==h)return 0;if(0>=e.wrap)return 1;2===e.wrap?(b(e,a.adler&255),b(e,a.adler>>8&255),b(e,a.adler>>16&255),b(e,a.adler>>24&255),b(e,a.total_in&255),b(e,a.total_in>>8&255),b(e,a.total_in>>16&255),b(e,a.total_in>>24&255)):(d(e,a.adler>>>16),d(e,a.adler&65535));c(a);0<e.wrap&&(e.wrap=-e.wrap);
-return 0!==e.pending?0:1};e.deflateEnd=function(a){if(!a||!a.state)return-2;var b=a.state.status;if(42!==b&&69!==b&&73!==b&&91!==b&&103!==b&&113!==b&&666!==b)return g(a,-2);a.state=null;return 113===b?g(a,-3):0};e.deflateSetDictionary=function(a,b){var c=b.length;if(!a||!a.state)return-2;var d=a.state;var e=d.wrap;if(2===e||1===e&&42!==d.status||d.lookahead)return-2;1===e&&(a.adler=H(a.adler,b,c,0));d.wrap=0;if(c>=d.w_size){0===e&&(f(d.head),d.strstart=0,d.block_start=0,d.insert=0);var g=new F.Buf8(d.w_size);
-F.arraySet(g,b,c-d.w_size,d.w_size,0);b=g;c=d.w_size}g=a.avail_in;var k=a.next_in;var l=a.input;a.avail_in=c;a.next_in=0;a.input=b;for(h(d);3<=d.lookahead;){b=d.strstart;c=d.lookahead-2;do d.ins_h=(d.ins_h<<d.hash_shift^d.window[b+3-1])&d.hash_mask,d.prev[b&d.w_mask]=d.head[d.ins_h],d.head[d.ins_h]=b,b++;while(--c);d.strstart=b;d.lookahead=2;h(d)}d.strstart+=d.lookahead;d.block_start=d.strstart;d.insert=d.lookahead;d.lookahead=0;d.match_length=d.prev_length=2;d.match_available=0;a.next_in=k;a.input=
-l;a.avail_in=g;d.wrap=e;return 0};e.deflateInfo="pako deflate (from Nodeca project)"},function(m,e,l){function g(a){for(var b=a.length;0<=--b;)a[b]=0}function f(a,b,c,d,f){this.static_tree=a;this.extra_bits=b;this.extra_base=c;this.elems=d;this.max_length=f;this.has_stree=a&&a.length}function c(a,b){this.dyn_tree=a;this.max_code=0;this.stat_desc=b}function a(a,b){a.pending_buf[a.pending++]=b&255;a.pending_buf[a.pending++]=b>>>8&255}function b(b,c,d){b.bi_valid>16-d?(b.bi_buf|=c<<b.bi_valid&65535,
-a(b,b.bi_buf),b.bi_buf=c>>16-b.bi_valid,b.bi_valid+=d-16):(b.bi_buf|=c<<b.bi_valid&65535,b.bi_valid+=d)}function d(a,c,d){b(a,d[2*c],d[2*c+1])}function q(a,b){var c=0;do c|=a&1,a>>>=1,c<<=1;while(0<--b);return c>>>1}function h(a,b,c){var d=Array(16),f=0,e;for(e=1;15>=e;e++)d[e]=f=f+c[e-1]<<1;for(c=0;c<=b;c++)f=a[2*c+1],0!==f&&(a[2*c]=q(d[f]++,f))}function k(a){var b;for(b=0;286>b;b++)a.dyn_ltree[2*b]=0;for(b=0;30>b;b++)a.dyn_dtree[2*b]=0;for(b=0;19>b;b++)a.bl_tree[2*b]=0;a.dyn_ltree[512]=1;a.opt_len=
-a.static_len=0;a.last_lit=a.matches=0}function u(b){8<b.bi_valid?a(b,b.bi_buf):0<b.bi_valid&&(b.pending_buf[b.pending++]=b.bi_buf);b.bi_buf=0;b.bi_valid=0}function p(a,b,c,d){var f=2*b,e=2*c;return a[f]<a[e]||a[f]===a[e]&&d[b]<=d[c]}function x(a,b,c){for(var d=a.heap[c],f=c<<1;f<=a.heap_len;){f<a.heap_len&&p(b,a.heap[f+1],a.heap[f],a.depth)&&f++;if(p(b,d,a.heap[f],a.depth))break;a.heap[c]=a.heap[f];c=f;f<<=1}a.heap[c]=d}function n(a,c,f){var e=0;if(0!==a.last_lit){do{var h=a.pending_buf[a.d_buf+2*
-e]<<8|a.pending_buf[a.d_buf+2*e+1];var g=a.pending_buf[a.l_buf+e];e++;if(0===h)d(a,g,c);else{var k=D[g];d(a,k+256+1,c);var l=H[k];0!==l&&(g-=C[k],b(a,g,l));h--;k=256>h?G[h]:G[256+(h>>>7)];d(a,k,f);l=w[k];0!==l&&(h-=E[k],b(a,h,l))}}while(e<a.last_lit)}d(a,256,c)}function v(a,b){var c=b.dyn_tree,d=b.stat_desc.static_tree,f=b.stat_desc.has_stree,e=b.stat_desc.elems,g,k=-1;a.heap_len=0;a.heap_max=573;for(g=0;g<e;g++)0!==c[2*g]?(a.heap[++a.heap_len]=k=g,a.depth[g]=0):c[2*g+1]=0;for(;2>a.heap_len;){var l=
-a.heap[++a.heap_len]=2>k?++k:0;c[2*l]=1;a.depth[l]=0;a.opt_len--;f&&(a.static_len-=d[2*l+1])}b.max_code=k;for(g=a.heap_len>>1;1<=g;g--)x(a,c,g);l=e;do g=a.heap[1],a.heap[1]=a.heap[a.heap_len--],x(a,c,1),d=a.heap[1],a.heap[--a.heap_max]=g,a.heap[--a.heap_max]=d,c[2*l]=c[2*g]+c[2*d],a.depth[l]=(a.depth[g]>=a.depth[d]?a.depth[g]:a.depth[d])+1,c[2*g+1]=c[2*d+1]=l,a.heap[1]=l++,x(a,c,1);while(2<=a.heap_len);a.heap[--a.heap_max]=a.heap[1];g=b.dyn_tree;l=b.max_code;d=b.stat_desc.static_tree;f=b.stat_desc.has_stree;
-e=b.stat_desc.extra_bits;var n=b.stat_desc.extra_base,m=b.stat_desc.max_length,p,q=0;for(p=0;15>=p;p++)a.bl_count[p]=0;g[2*a.heap[a.heap_max]+1]=0;for(b=a.heap_max+1;573>b;b++){var w=a.heap[b];p=g[2*g[2*w+1]+1]+1;p>m&&(p=m,q++);g[2*w+1]=p;if(!(w>l)){a.bl_count[p]++;var t=0;w>=n&&(t=e[w-n]);var r=g[2*w];a.opt_len+=r*(p+t);f&&(a.static_len+=r*(d[2*w+1]+t))}}if(0!==q){do{for(p=m-1;0===a.bl_count[p];)p--;a.bl_count[p]--;a.bl_count[p+1]+=2;a.bl_count[m]--;q-=2}while(0<q);for(p=m;0!==p;p--)for(w=a.bl_count[p];0!==
-w;)d=a.heap[--b],d>l||(g[2*d+1]!==p&&(a.opt_len+=(p-g[2*d+1])*g[2*d],g[2*d+1]=p),w--)}h(c,k,a.bl_count)}function I(a,b,c){var d,f=-1,e=b[1],h=0,g=7,k=4;0===e&&(g=138,k=3);b[2*(c+1)+1]=65535;for(d=0;d<=c;d++){var l=e;e=b[2*(d+1)+1];++h<g&&l===e||(h<k?a.bl_tree[2*l]+=h:0!==l?(l!==f&&a.bl_tree[2*l]++,a.bl_tree[32]++):10>=h?a.bl_tree[34]++:a.bl_tree[36]++,h=0,f=l,0===e?(g=138,k=3):l===e?(g=6,k=3):(g=7,k=4))}}function t(a,c,f){var e,h=-1,g=c[1],k=0,l=7,n=4;0===g&&(l=138,n=3);for(e=0;e<=f;e++){var p=g;
-g=c[2*(e+1)+1];if(!(++k<l&&p===g)){if(k<n){do d(a,p,a.bl_tree);while(0!==--k)}else 0!==p?(p!==h&&(d(a,p,a.bl_tree),k--),d(a,16,a.bl_tree),b(a,k-3,2)):10>=k?(d(a,17,a.bl_tree),b(a,k-3,3)):(d(a,18,a.bl_tree),b(a,k-11,7));k=0;h=p;0===g?(l=138,n=3):p===g?(l=6,n=3):(l=7,n=4)}}}function N(a){var b=4093624447,c;for(c=0;31>=c;c++,b>>>=1)if(b&1&&0!==a.dyn_ltree[2*c])return 0;if(0!==a.dyn_ltree[18]||0!==a.dyn_ltree[20]||0!==a.dyn_ltree[26])return 1;for(c=32;256>c;c++)if(0!==a.dyn_ltree[2*c])return 1;return 0}
-function F(c,d,f,e){b(c,0+(e?1:0),3);u(c);a(c,f);a(c,~f);B.arraySet(c.pending_buf,c.window,d,f,c.pending);c.pending+=f}var B=l(4),H=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],w=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],A=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],K=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],r=Array(576);g(r);var z=Array(60);g(z);var G=Array(512);g(G);var D=Array(256);g(D);var C=Array(29);g(C);var E=Array(30);g(E);var O,M,Q,J=!1;e._tr_init=
-function(a){if(!J){var b,d,e,g=Array(16);for(e=d=0;28>e;e++)for(C[e]=d,b=0;b<1<<H[e];b++)D[d++]=e;D[d-1]=e;for(e=d=0;16>e;e++)for(E[e]=d,b=0;b<1<<w[e];b++)G[d++]=e;for(d>>=7;30>e;e++)for(E[e]=d<<7,b=0;b<1<<w[e]-7;b++)G[256+d++]=e;for(b=0;15>=b;b++)g[b]=0;for(b=0;143>=b;)r[2*b+1]=8,b++,g[8]++;for(;255>=b;)r[2*b+1]=9,b++,g[9]++;for(;279>=b;)r[2*b+1]=7,b++,g[7]++;for(;287>=b;)r[2*b+1]=8,b++,g[8]++;h(r,287,g);for(b=0;30>b;b++)z[2*b+1]=5,z[2*b]=q(b,5);O=new f(r,H,257,286,15);M=new f(z,w,0,30,15);Q=new f([],
-A,0,19,7);J=!0}a.l_desc=new c(a.dyn_ltree,O);a.d_desc=new c(a.dyn_dtree,M);a.bl_desc=new c(a.bl_tree,Q);a.bi_buf=0;a.bi_valid=0;k(a)};e._tr_stored_block=F;e._tr_flush_block=function(a,c,d,f){var e=0;if(0<a.level){2===a.strm.data_type&&(a.strm.data_type=N(a));v(a,a.l_desc);v(a,a.d_desc);I(a,a.dyn_ltree,a.l_desc.max_code);I(a,a.dyn_dtree,a.d_desc.max_code);v(a,a.bl_desc);for(e=18;3<=e&&0===a.bl_tree[2*K[e]+1];e--);a.opt_len+=3*(e+1)+14;var h=a.opt_len+3+7>>>3;var g=a.static_len+3+7>>>3;g<=h&&(h=g)}else h=
-g=d+5;if(d+4<=h&&-1!==c)F(a,c,d,f);else if(4===a.strategy||g===h)b(a,2+(f?1:0),3),n(a,r,z);else{b(a,4+(f?1:0),3);c=a.l_desc.max_code+1;d=a.d_desc.max_code+1;e+=1;b(a,c-257,5);b(a,d-1,5);b(a,e-4,4);for(h=0;h<e;h++)b(a,a.bl_tree[2*K[h]+1],3);t(a,a.dyn_ltree,c-1);t(a,a.dyn_dtree,d-1);n(a,a.dyn_ltree,a.dyn_dtree)}k(a);f&&u(a)};e._tr_tally=function(a,b,c){a.pending_buf[a.d_buf+2*a.last_lit]=b>>>8&255;a.pending_buf[a.d_buf+2*a.last_lit+1]=b&255;a.pending_buf[a.l_buf+a.last_lit]=c&255;a.last_lit++;0===b?
-a.dyn_ltree[2*c]++:(a.matches++,b--,a.dyn_ltree[2*(D[c]+256+1)]++,a.dyn_dtree[2*(256>b?G[b]:G[256+(b>>>7)])]++);return a.last_lit===a.lit_bufsize-1};e._tr_align=function(c){b(c,2,3);d(c,256,r);16===c.bi_valid?(a(c,c.bi_buf),c.bi_buf=0,c.bi_valid=0):8<=c.bi_valid&&(c.pending_buf[c.pending++]=c.bi_buf&255,c.bi_buf>>=8,c.bi_valid-=8)}},function(m,e,l){function g(b){if(!(this instanceof g))return new g(b);var f=this.options=a.assign({chunkSize:16384,windowBits:0,to:""},b||{});f.raw&&0<=f.windowBits&&
-16>f.windowBits&&(f.windowBits=-f.windowBits,0===f.windowBits&&(f.windowBits=-15));!(0<=f.windowBits&&16>f.windowBits)||b&&b.windowBits||(f.windowBits+=32);15<f.windowBits&&48>f.windowBits&&0===(f.windowBits&15)&&(f.windowBits|=15);this.err=0;this.msg="";this.ended=!1;this.chunks=[];this.strm=new h;this.strm.avail_out=0;b=c.inflateInit2(this.strm,f.windowBits);if(b!==d.Z_OK)throw Error(q[b]);this.header=new k;c.inflateGetHeader(this.strm,this.header)}function f(a,b){b=new g(b);b.push(a,!0);if(b.err)throw b.msg||
-q[b.err];return b.result}var c=l(88),a=l(4),b=l(40),d=l(42),q=l(27),h=l(41),k=l(91),u=Object.prototype.toString;g.prototype.push=function(f,e){var h=this.strm,g=this.options.chunkSize,k=this.options.dictionary,l=!1;if(this.ended)return!1;e=e===~~e?e:!0===e?d.Z_FINISH:d.Z_NO_FLUSH;"string"===typeof f?h.input=b.binstring2buf(f):"[object ArrayBuffer]"===u.call(f)?h.input=new Uint8Array(f):h.input=f;h.next_in=0;h.avail_in=h.input.length;do{0===h.avail_out&&(h.output=new a.Buf8(g),h.next_out=0,h.avail_out=
-g);f=c.inflate(h,d.Z_NO_FLUSH);f===d.Z_NEED_DICT&&k&&(f="string"===typeof k?b.string2buf(k):"[object ArrayBuffer]"===u.call(k)?new Uint8Array(k):k,f=c.inflateSetDictionary(this.strm,f));f===d.Z_BUF_ERROR&&!0===l&&(f=d.Z_OK,l=!1);if(f!==d.Z_STREAM_END&&f!==d.Z_OK)return this.onEnd(f),this.ended=!0,!1;if(h.next_out&&(0===h.avail_out||f===d.Z_STREAM_END||0===h.avail_in&&(e===d.Z_FINISH||e===d.Z_SYNC_FLUSH)))if("string"===this.options.to){var m=b.utf8border(h.output,h.next_out);var p=h.next_out-m;var q=
-b.buf2string(h.output,m);h.next_out=p;h.avail_out=g-p;p&&a.arraySet(h.output,h.output,m,p,0);this.onData(q)}else this.onData(a.shrinkBuf(h.output,h.next_out));0===h.avail_in&&0===h.avail_out&&(l=!0)}while((0<h.avail_in||0===h.avail_out)&&f!==d.Z_STREAM_END);f===d.Z_STREAM_END&&(e=d.Z_FINISH);if(e===d.Z_FINISH)return f=c.inflateEnd(this.strm),this.onEnd(f),this.ended=!0,f===d.Z_OK;e===d.Z_SYNC_FLUSH&&(this.onEnd(d.Z_OK),h.avail_out=0);return!0};g.prototype.onData=function(a){this.chunks.push(a)};g.prototype.onEnd=
-function(b){b===d.Z_OK&&(this.result="string"===this.options.to?this.chunks.join(""):a.flattenChunks(this.chunks));this.chunks=[];this.err=b;this.msg=this.strm.msg};e.Inflate=g;e.inflate=f;e.inflateRaw=function(a,b){b=b||{};b.raw=!0;return f(a,b)};e.ungzip=f},function(m,e,l){function g(a){return(a>>>24&255)+(a>>>8&65280)+((a&65280)<<8)+((a&255)<<24)}function f(){this.mode=0;this.last=!1;this.wrap=0;this.havedict=!1;this.total=this.check=this.dmax=this.flags=0;this.head=null;this.wnext=this.whave=
-this.wsize=this.wbits=0;this.window=null;this.extra=this.offset=this.length=this.bits=this.hold=0;this.distcode=this.lencode=null;this.have=this.ndist=this.nlen=this.ncode=this.distbits=this.lenbits=0;this.next=null;this.lens=new h.Buf16(320);this.work=new h.Buf16(288);this.distdyn=this.lendyn=null;this.was=this.back=this.sane=0}function c(a){if(!a||!a.state)return-2;var b=a.state;a.total_in=a.total_out=b.total=0;a.msg="";b.wrap&&(a.adler=b.wrap&1);b.mode=1;b.last=0;b.havedict=0;b.dmax=32768;b.head=
-null;b.hold=0;b.bits=0;b.lencode=b.lendyn=new h.Buf32(852);b.distcode=b.distdyn=new h.Buf32(592);b.sane=1;b.back=-1;return 0}function a(a){if(!a||!a.state)return-2;var b=a.state;b.wsize=0;b.whave=0;b.wnext=0;return c(a)}function b(b,c){if(!b||!b.state)return-2;var d=b.state;if(0>c){var f=0;c=-c}else f=(c>>4)+1,48>c&&(c&=15);if(c&&(8>c||15<c))return-2;null!==d.window&&d.wbits!==c&&(d.window=null);d.wrap=f;d.wbits=c;return a(b)}function d(a,c){if(!a)return-2;var d=new f;a.state=d;d.window=null;c=b(a,
-c);0!==c&&(a.state=null);return c}function q(a,b,c,d){var f=a.state;null===f.window&&(f.wsize=1<<f.wbits,f.wnext=0,f.whave=0,f.window=new h.Buf8(f.wsize));d>=f.wsize?(h.arraySet(f.window,b,c-f.wsize,f.wsize,0),f.wnext=0,f.whave=f.wsize):(a=f.wsize-f.wnext,a>d&&(a=d),h.arraySet(f.window,b,c-d,a,f.wnext),(d-=a)?(h.arraySet(f.window,b,c-d,d,0),f.wnext=d,f.whave=f.wsize):(f.wnext+=a,f.wnext===f.wsize&&(f.wnext=0),f.whave<f.wsize&&(f.whave+=a)));return 0}var h=l(4),k=l(38),u=l(39),p=l(89),x=l(90),n=!0,
-v,I;e.inflateReset=a;e.inflateReset2=b;e.inflateResetKeep=c;e.inflateInit=function(a){return d(a,15)};e.inflateInit2=d;e.inflate=function(a,b){var c,d=new h.Buf8(4),f=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!a||!a.state||!a.output||!a.input&&0!==a.avail_in)return-2;var e=a.state;12===e.mode&&(e.mode=13);var l=a.next_out;var m=a.output;var r=a.avail_out;var t=a.next_in;var G=a.input;var D=a.avail_in;var C=e.hold;var E=e.bits;var N=D;var M=r;var Q=0;a:for(;;)switch(e.mode){case 1:if(0===
-e.wrap){e.mode=13;break}for(;16>E;){if(0===D)break a;D--;C+=G[t++]<<E;E+=8}if(e.wrap&2&&35615===C){e.check=0;d[0]=C&255;d[1]=C>>>8&255;e.check=u(e.check,d,2,0);E=C=0;e.mode=2;break}e.flags=0;e.head&&(e.head.done=!1);if(!(e.wrap&1)||(((C&255)<<8)+(C>>8))%31){a.msg="incorrect header check";e.mode=30;break}if(8!==(C&15)){a.msg="unknown compression method";e.mode=30;break}C>>>=4;E-=4;var J=(C&15)+8;if(0===e.wbits)e.wbits=J;else if(J>e.wbits){a.msg="invalid window size";e.mode=30;break}e.dmax=1<<J;a.adler=
-e.check=1;e.mode=C&512?10:12;E=C=0;break;case 2:for(;16>E;){if(0===D)break a;D--;C+=G[t++]<<E;E+=8}e.flags=C;if(8!==(e.flags&255)){a.msg="unknown compression method";e.mode=30;break}if(e.flags&57344){a.msg="unknown header flags set";e.mode=30;break}e.head&&(e.head.text=C>>8&1);e.flags&512&&(d[0]=C&255,d[1]=C>>>8&255,e.check=u(e.check,d,2,0));E=C=0;e.mode=3;case 3:for(;32>E;){if(0===D)break a;D--;C+=G[t++]<<E;E+=8}e.head&&(e.head.time=C);e.flags&512&&(d[0]=C&255,d[1]=C>>>8&255,d[2]=C>>>16&255,d[3]=
-C>>>24&255,e.check=u(e.check,d,4,0));E=C=0;e.mode=4;case 4:for(;16>E;){if(0===D)break a;D--;C+=G[t++]<<E;E+=8}e.head&&(e.head.xflags=C&255,e.head.os=C>>8);e.flags&512&&(d[0]=C&255,d[1]=C>>>8&255,e.check=u(e.check,d,2,0));E=C=0;e.mode=5;case 5:if(e.flags&1024){for(;16>E;){if(0===D)break a;D--;C+=G[t++]<<E;E+=8}e.length=C;e.head&&(e.head.extra_len=C);e.flags&512&&(d[0]=C&255,d[1]=C>>>8&255,e.check=u(e.check,d,2,0));E=C=0}else e.head&&(e.head.extra=null);e.mode=6;case 6:if(e.flags&1024){var y=e.length;
-y>D&&(y=D);y&&(e.head&&(J=e.head.extra_len-e.length,e.head.extra||(e.head.extra=Array(e.head.extra_len)),h.arraySet(e.head.extra,G,t,y,J)),e.flags&512&&(e.check=u(e.check,G,y,t)),D-=y,t+=y,e.length-=y);if(e.length)break a}e.length=0;e.mode=7;case 7:if(e.flags&2048){if(0===D)break a;y=0;do J=G[t+y++],e.head&&J&&65536>e.length&&(e.head.name+=String.fromCharCode(J));while(J&&y<D);e.flags&512&&(e.check=u(e.check,G,y,t));D-=y;t+=y;if(J)break a}else e.head&&(e.head.name=null);e.length=0;e.mode=8;case 8:if(e.flags&
-4096){if(0===D)break a;y=0;do J=G[t+y++],e.head&&J&&65536>e.length&&(e.head.comment+=String.fromCharCode(J));while(J&&y<D);e.flags&512&&(e.check=u(e.check,G,y,t));D-=y;t+=y;if(J)break a}else e.head&&(e.head.comment=null);e.mode=9;case 9:if(e.flags&512){for(;16>E;){if(0===D)break a;D--;C+=G[t++]<<E;E+=8}if(C!==(e.check&65535)){a.msg="header crc mismatch";e.mode=30;break}E=C=0}e.head&&(e.head.hcrc=e.flags>>9&1,e.head.done=!0);a.adler=e.check=0;e.mode=12;break;case 10:for(;32>E;){if(0===D)break a;D--;
-C+=G[t++]<<E;E+=8}a.adler=e.check=g(C);E=C=0;e.mode=11;case 11:if(0===e.havedict)return a.next_out=l,a.avail_out=r,a.next_in=t,a.avail_in=D,e.hold=C,e.bits=E,2;a.adler=e.check=1;e.mode=12;case 12:if(5===b||6===b)break a;case 13:if(e.last){C>>>=E&7;E-=E&7;e.mode=27;break}for(;3>E;){if(0===D)break a;D--;C+=G[t++]<<E;E+=8}e.last=C&1;C>>>=1;--E;switch(C&3){case 0:e.mode=14;break;case 1:J=e;if(n){v=new h.Buf32(512);I=new h.Buf32(32);for(y=0;144>y;)J.lens[y++]=8;for(;256>y;)J.lens[y++]=9;for(;280>y;)J.lens[y++]=
-7;for(;288>y;)J.lens[y++]=8;x(1,J.lens,0,288,v,0,J.work,{bits:9});for(y=0;32>y;)J.lens[y++]=5;x(2,J.lens,0,32,I,0,J.work,{bits:5});n=!1}J.lencode=v;J.lenbits=9;J.distcode=I;J.distbits=5;e.mode=20;if(6===b){C>>>=2;E-=2;break a}break;case 2:e.mode=17;break;case 3:a.msg="invalid block type",e.mode=30}C>>>=2;E-=2;break;case 14:C>>>=E&7;for(E-=E&7;32>E;){if(0===D)break a;D--;C+=G[t++]<<E;E+=8}if((C&65535)!==(C>>>16^65535)){a.msg="invalid stored block lengths";e.mode=30;break}e.length=C&65535;E=C=0;e.mode=
-15;if(6===b)break a;case 15:e.mode=16;case 16:if(y=e.length){y>D&&(y=D);y>r&&(y=r);if(0===y)break a;h.arraySet(m,G,t,y,l);D-=y;t+=y;r-=y;l+=y;e.length-=y;break}e.mode=12;break;case 17:for(;14>E;){if(0===D)break a;D--;C+=G[t++]<<E;E+=8}e.nlen=(C&31)+257;C>>>=5;E-=5;e.ndist=(C&31)+1;C>>>=5;E-=5;e.ncode=(C&15)+4;C>>>=4;E-=4;if(286<e.nlen||30<e.ndist){a.msg="too many length or distance symbols";e.mode=30;break}e.have=0;e.mode=18;case 18:for(;e.have<e.ncode;){for(;3>E;){if(0===D)break a;D--;C+=G[t++]<<
-E;E+=8}e.lens[f[e.have++]]=C&7;C>>>=3;E-=3}for(;19>e.have;)e.lens[f[e.have++]]=0;e.lencode=e.lendyn;e.lenbits=7;y={bits:e.lenbits};Q=x(0,e.lens,0,19,e.lencode,0,e.work,y);e.lenbits=y.bits;if(Q){a.msg="invalid code lengths set";e.mode=30;break}e.have=0;e.mode=19;case 19:for(;e.have<e.nlen+e.ndist;){for(;;){var L=e.lencode[C&(1<<e.lenbits)-1];y=L>>>24;L&=65535;if(y<=E)break;if(0===D)break a;D--;C+=G[t++]<<E;E+=8}if(16>L)C>>>=y,E-=y,e.lens[e.have++]=L;else{if(16===L){for(J=y+2;E<J;){if(0===D)break a;
-D--;C+=G[t++]<<E;E+=8}C>>>=y;E-=y;if(0===e.have){a.msg="invalid bit length repeat";e.mode=30;break}J=e.lens[e.have-1];y=3+(C&3);C>>>=2;E-=2}else if(17===L){for(J=y+3;E<J;){if(0===D)break a;D--;C+=G[t++]<<E;E+=8}C>>>=y;E-=y;J=0;y=3+(C&7);C>>>=3;E-=3}else{for(J=y+7;E<J;){if(0===D)break a;D--;C+=G[t++]<<E;E+=8}C>>>=y;E-=y;J=0;y=11+(C&127);C>>>=7;E-=7}if(e.have+y>e.nlen+e.ndist){a.msg="invalid bit length repeat";e.mode=30;break}for(;y--;)e.lens[e.have++]=J}}if(30===e.mode)break;if(0===e.lens[256]){a.msg=
-"invalid code -- missing end-of-block";e.mode=30;break}e.lenbits=9;y={bits:e.lenbits};Q=x(1,e.lens,0,e.nlen,e.lencode,0,e.work,y);e.lenbits=y.bits;if(Q){a.msg="invalid literal/lengths set";e.mode=30;break}e.distbits=6;e.distcode=e.distdyn;y={bits:e.distbits};Q=x(2,e.lens,e.nlen,e.ndist,e.distcode,0,e.work,y);e.distbits=y.bits;if(Q){a.msg="invalid distances set";e.mode=30;break}e.mode=20;if(6===b)break a;case 20:e.mode=21;case 21:if(6<=D&&258<=r){a.next_out=l;a.avail_out=r;a.next_in=t;a.avail_in=D;
-e.hold=C;e.bits=E;p(a,M);l=a.next_out;m=a.output;r=a.avail_out;t=a.next_in;G=a.input;D=a.avail_in;C=e.hold;E=e.bits;12===e.mode&&(e.back=-1);break}for(e.back=0;;){L=e.lencode[C&(1<<e.lenbits)-1];y=L>>>24;J=L>>>16&255;L&=65535;if(y<=E)break;if(0===D)break a;D--;C+=G[t++]<<E;E+=8}if(J&&0===(J&240)){var R=y;var W=J;for(c=L;;){L=e.lencode[c+((C&(1<<R+W)-1)>>R)];y=L>>>24;J=L>>>16&255;L&=65535;if(R+y<=E)break;if(0===D)break a;D--;C+=G[t++]<<E;E+=8}C>>>=R;E-=R;e.back+=R}C>>>=y;E-=y;e.back+=y;e.length=L;
-if(0===J){e.mode=26;break}if(J&32){e.back=-1;e.mode=12;break}if(J&64){a.msg="invalid literal/length code";e.mode=30;break}e.extra=J&15;e.mode=22;case 22:if(e.extra){for(J=e.extra;E<J;){if(0===D)break a;D--;C+=G[t++]<<E;E+=8}e.length+=C&(1<<e.extra)-1;C>>>=e.extra;E-=e.extra;e.back+=e.extra}e.was=e.length;e.mode=23;case 23:for(;;){L=e.distcode[C&(1<<e.distbits)-1];y=L>>>24;J=L>>>16&255;L&=65535;if(y<=E)break;if(0===D)break a;D--;C+=G[t++]<<E;E+=8}if(0===(J&240)){R=y;W=J;for(c=L;;){L=e.distcode[c+((C&
-(1<<R+W)-1)>>R)];y=L>>>24;J=L>>>16&255;L&=65535;if(R+y<=E)break;if(0===D)break a;D--;C+=G[t++]<<E;E+=8}C>>>=R;E-=R;e.back+=R}C>>>=y;E-=y;e.back+=y;if(J&64){a.msg="invalid distance code";e.mode=30;break}e.offset=L;e.extra=J&15;e.mode=24;case 24:if(e.extra){for(J=e.extra;E<J;){if(0===D)break a;D--;C+=G[t++]<<E;E+=8}e.offset+=C&(1<<e.extra)-1;C>>>=e.extra;E-=e.extra;e.back+=e.extra}if(e.offset>e.dmax){a.msg="invalid distance too far back";e.mode=30;break}e.mode=25;case 25:if(0===r)break a;y=M-r;if(e.offset>
-y){y=e.offset-y;if(y>e.whave&&e.sane){a.msg="invalid distance too far back";e.mode=30;break}y>e.wnext?(y-=e.wnext,J=e.wsize-y):J=e.wnext-y;y>e.length&&(y=e.length);R=e.window}else R=m,J=l-e.offset,y=e.length;y>r&&(y=r);r-=y;e.length-=y;do m[l++]=R[J++];while(--y);0===e.length&&(e.mode=21);break;case 26:if(0===r)break a;m[l++]=e.length;r--;e.mode=21;break;case 27:if(e.wrap){for(;32>E;){if(0===D)break a;D--;C|=G[t++]<<E;E+=8}M-=r;a.total_out+=M;e.total+=M;M&&(a.adler=e.check=e.flags?u(e.check,m,M,l-
-M):k(e.check,m,M,l-M));M=r;if((e.flags?C:g(C))!==e.check){a.msg="incorrect data check";e.mode=30;break}E=C=0}e.mode=28;case 28:if(e.wrap&&e.flags){for(;32>E;){if(0===D)break a;D--;C+=G[t++]<<E;E+=8}if(C!==(e.total&4294967295)){a.msg="incorrect length check";e.mode=30;break}E=C=0}e.mode=29;case 29:Q=1;break a;case 30:Q=-3;break a;case 31:return-4;default:return-2}a.next_out=l;a.avail_out=r;a.next_in=t;a.avail_in=D;e.hold=C;e.bits=E;if((e.wsize||M!==a.avail_out&&30>e.mode&&(27>e.mode||4!==b))&&q(a,
-a.output,a.next_out,M-a.avail_out))return e.mode=31,-4;N-=a.avail_in;M-=a.avail_out;a.total_in+=N;a.total_out+=M;e.total+=M;e.wrap&&M&&(a.adler=e.check=e.flags?u(e.check,m,M,a.next_out-M):k(e.check,m,M,a.next_out-M));a.data_type=e.bits+(e.last?64:0)+(12===e.mode?128:0)+(20===e.mode||15===e.mode?256:0);(0===N&&0===M||4===b)&&0===Q&&(Q=-5);return Q};e.inflateEnd=function(a){if(!a||!a.state)return-2;var b=a.state;b.window&&(b.window=null);a.state=null;return 0};e.inflateGetHeader=function(a,b){if(!a||
-!a.state)return-2;a=a.state;if(0===(a.wrap&2))return-2;a.head=b;b.done=!1;return 0};e.inflateSetDictionary=function(a,b){var c=b.length;if(!a||!a.state)return-2;var d=a.state;if(0!==d.wrap&&11!==d.mode)return-2;if(11===d.mode){var e=k(1,b,c,0);if(e!==d.check)return-3}if(q(a,b,c,c))return d.mode=31,-4;d.havedict=1;return 0};e.inflateInfo="pako inflate (from Nodeca project)"},function(m,e,l){m.exports=function(e,f){var c=e.state;var a=e.next_in;var b=e.input;var d=a+(e.avail_in-5);var g=e.next_out;
-var h=e.output;f=g-(f-e.avail_out);var k=g+(e.avail_out-257);var l=c.dmax;var m=c.wsize;var x=c.whave;var n=c.wnext;var v=c.window;var I=c.hold;var t=c.bits;var N=c.lencode;var F=c.distcode;var B=(1<<c.lenbits)-1;var H=(1<<c.distbits)-1;a:do{15>t&&(I+=b[a++]<<t,t+=8,I+=b[a++]<<t,t+=8);var w=N[I&B];b:for(;;){var A=w>>>24;I>>>=A;t-=A;A=w>>>16&255;if(0===A)h[g++]=w&65535;else if(A&16){var K=w&65535;if(A&=15)t<A&&(I+=b[a++]<<t,t+=8),K+=I&(1<<A)-1,I>>>=A,t-=A;15>t&&(I+=b[a++]<<t,t+=8,I+=b[a++]<<t,t+=8);
-w=F[I&H];c:for(;;){A=w>>>24;I>>>=A;t-=A;A=w>>>16&255;if(A&16){w&=65535;A&=15;t<A&&(I+=b[a++]<<t,t+=8,t<A&&(I+=b[a++]<<t,t+=8));w+=I&(1<<A)-1;if(w>l){e.msg="invalid distance too far back";c.mode=30;break a}I>>>=A;t-=A;A=g-f;if(w>A){A=w-A;if(A>x&&c.sane){e.msg="invalid distance too far back";c.mode=30;break a}var r=0;var z=v;if(0===n){if(r+=m-A,A<K){K-=A;do h[g++]=v[r++];while(--A);r=g-w;z=h}}else if(n<A){if(r+=m+n-A,A-=n,A<K){K-=A;do h[g++]=v[r++];while(--A);r=0;if(n<K){A=n;K-=A;do h[g++]=v[r++];while(--A);
-r=g-w;z=h}}}else if(r+=n-A,A<K){K-=A;do h[g++]=v[r++];while(--A);r=g-w;z=h}for(;2<K;)h[g++]=z[r++],h[g++]=z[r++],h[g++]=z[r++],K-=3;K&&(h[g++]=z[r++],1<K&&(h[g++]=z[r++]))}else{r=g-w;do h[g++]=h[r++],h[g++]=h[r++],h[g++]=h[r++],K-=3;while(2<K);K&&(h[g++]=h[r++],1<K&&(h[g++]=h[r++]))}}else if(0===(A&64)){w=F[(w&65535)+(I&(1<<A)-1)];continue c}else{e.msg="invalid distance code";c.mode=30;break a}break}}else if(0===(A&64)){w=N[(w&65535)+(I&(1<<A)-1)];continue b}else{A&32?c.mode=12:(e.msg="invalid literal/length code",
-c.mode=30);break a}break}}while(a<d&&g<k);K=t>>3;a-=K;t-=K<<3;e.next_in=a;e.next_out=g;e.avail_in=a<d?5+(d-a):5-(a-d);e.avail_out=g<k?257+(k-g):257-(g-k);c.hold=I&(1<<t)-1;c.bits=t}},function(m,e,l){var g=l(4),f=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],c=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],a=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,
-16385,24577,0,0],b=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];m.exports=function(d,e,h,k,l,m,x,n){var p=n.bits,q,t,u,F,B,H,w=0,A=new g.Buf16(16);var K=new g.Buf16(16);var r,z=0;for(q=0;15>=q;q++)A[q]=0;for(t=0;t<k;t++)A[e[h+t]]++;var G=p;for(u=15;1<=u&&0===A[u];u--);G>u&&(G=u);if(0===u)return l[m++]=20971520,l[m++]=20971520,n.bits=1,0;for(p=1;p<u&&0===A[p];p++);G<p&&(G=p);for(q=F=1;15>=q;q++)if(F<<=1,F-=A[q],0>F)return-1;if(0<F&&(0===d||1!==u))return-1;
-K[1]=0;for(q=1;15>q;q++)K[q+1]=K[q]+A[q];for(t=0;t<k;t++)0!==e[h+t]&&(x[K[e[h+t]]++]=t);if(0===d){var D=r=x;var C=19}else 1===d?(D=f,w-=257,r=c,z-=257,C=256):(D=a,r=b,C=-1);t=B=0;q=p;var E=m;k=G;K=0;var O=-1;var M=1<<G;var Q=M-1;if(1===d&&852<M||2===d&&592<M)return 1;for(;;){var J=q-K;if(x[t]<C){var y=0;var L=x[t]}else x[t]>C?(y=r[z+x[t]],L=D[w+x[t]]):(y=96,L=0);F=1<<q-K;p=H=1<<k;do H-=F,l[E+(B>>K)+H]=J<<24|y<<16|L|0;while(0!==H);for(F=1<<q-1;B&F;)F>>=1;0!==F?(B&=F-1,B+=F):B=0;t++;if(0===--A[q]){if(q===
-u)break;q=e[h+x[t]]}if(q>G&&(B&Q)!==O){0===K&&(K=G);E+=p;k=q-K;for(F=1<<k;k+K<u;){F-=A[k+K];if(0>=F)break;k++;F<<=1}M+=1<<k;if(1===d&&852<M||2===d&&592<M)return 1;O=B&Q;l[O]=G<<24|k<<16|E-m|0}}0!==B&&(l[E+B]=q-K<<24|4194304);n.bits=G;return 0}},function(m,e,l){m.exports=function(){this.os=this.xflags=this.time=this.text=0;this.extra=null;this.extra_len=0;this.comment=this.name="";this.hcrc=0;this.done=!1}},function(m,e,l){function g(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");
-}function f(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function c(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}Object.defineProperty(e,
-"__esModule",{value:!0});l.d(e,"DVIDVolumeChunkSource",function(){return p});l.d(e,"TileChunkSource",function(){return x});m=l(2);var a=l(93),b=l(24),d=l(16);e=l(13);var q=l(11);l=l(0);var h=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),k=this&&this.__decorate||function(a,b,c,d){var e=arguments.length,f=
-3>e?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d,h;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)f=Reflect.decorate(a,b,c,d);else for(var g=a.length-1;0<=g;g--)if(h=a[g])f=(3>e?h(f):3<e?h(b,c,f):h(b,c))||f;return 3<e&&f&&Object.defineProperty(b,c,f),f},u=new Map([[a.b.JPEG,d.a]]),p=function(e){function k(){g(this,k);return f(this,(k.__proto__||Object.getPrototypeOf(k)).apply(this,arguments))}c(k,e);h(k,[{key:"download",value:function(a,b){var c=this.parameters;var d=this.computeChunkBounds(a);
-d=this.getPath(d,a.chunkDataSize);var e=this.getDecoder(c);return Object(q.e)(Object(q.c)(c.baseUrls,d),"arraybuffer",b).then(function(b){return e(a,b)})}},{key:"getPath",value:function(b,c){var d=this.parameters;return d.encoding===a.c.JPEG?"/api/node/"+d.nodeKey+"/"+d.dataInstanceKey+"/raw/0_1_2/"+(c[0]+"_"+c[1]+"_"+c[2]+"/")+(b[0]+"_"+b[1]+"_"+b[2]+"/jpeg"):"/api/node/"+d.nodeKey+"/"+d.dataInstanceKey+"/raw/0_1_2/"+(c[0]+"_"+c[1]+"_"+c[2]+"/")+(b[0]+"_"+b[1]+"_"+b[2]+"?compression=googlegzip")}},
-{key:"getDecoder",value:function(c){return c.encoding===a.c.JPEG?d.a:b.a}}]);return k}(Object(m.WithParameters)(e.a,a.d));p=k([Object(l.g)()],p);var x=function(a){function b(){g(this,b);var a=f(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments));a.chunkDecoder=u.get(a.parameters.encoding);return a}c(b,a);h(b,[{key:"download",value:function(a,b){var c=this,d=this.parameters,e=a.chunkGridPosition;a.chunkDataSize=this.spec.chunkDataSize;return Object(q.e)(Object(q.c)(d.baseUrls,"/api/node/"+
-d.nodeKey+"/"+d.dataInstanceKey+"/tile/"+(d.dims+"/"+d.level+"/")+(e[0]+"_"+e[1]+"_"+e[2])),"arraybuffer",b).then(function(b){return c.chunkDecoder(a,b)})}}]);return b}(Object(m.WithParameters)(e.a,a.a));x=k([Object(l.g)()],x)},function(m,e,l){function g(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function f(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+
-typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}l.d(e,"c",function(){return a});l.d(e,"d",function(){return b});l.d(e,"b",function(){return d});l.d(e,"a",function(){return q});var a;(function(a){a[a.JPEG=0]="JPEG";a[a.COMPRESSED_SEGMENTATION=1]="COMPRESSED_SEGMENTATION"})(a||
-(a={}));m=function k(){c(this,k)};var b=function(a){function b(){c(this,b);return g(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}f(b,a);return b}(m);b.RPC_ID="dvid/VolumeChunkSource";var d;(function(a){a[a.JPEG=0]="JPEG"})(d||(d={}));var q=function(a){function b(){c(this,b);return g(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}f(b,a);return b}(m);q.RPC_ID="dvid/TileChunkSource"},function(m,e,l){function g(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");
+this.onSettledCallbacks_,b=0;b<a.length;++b)a[b].call(),a[b]=null;this.onSettledCallbacks_=null}};var c=new e;f.prototype.settleSameAsPromise_=function(a){var b=this.createResolveAndReject_();a.callWhenSettled_(b.resolve,b.reject)};f.prototype.settleSameAsThenable_=function(a,b){var c=this.createResolveAndReject_();try{a.call(b,c.resolve,c.reject)}catch(n){c.reject(n)}};f.prototype.then=function(a,b){function c(a,b){return"function"==typeof a?function(b){try{n(a(b))}catch(h){l(h)}}:b}var n,l,g=new f(function(a,
+b){n=a;l=b});this.callWhenSettled_(c(a,n),c(b,l));return g};f.prototype.catch=function(a){return this.then(void 0,a)};f.prototype.callWhenSettled_=function(a,b){function d(){switch(n.state_){case 1:a(n.result_);break;case 2:b(n.result_);break;default:throw Error("Unexpected state: "+n.state_);}}var n=this;null==this.onSettledCallbacks_?c.asyncExecute(d):this.onSettledCallbacks_.push(function(){c.asyncExecute(d)})};f.resolve=m;f.reject=function(a){return new f(function(b,c){c(a)})};f.race=function(a){return new f(function(b,
+c){for(var d=$jscomp.makeIterator(a),l=d.next();!l.done;l=d.next())m(l.value).callWhenSettled_(b,c)})};f.all=function(a){var b=$jscomp.makeIterator(a),c=b.next();return c.done?m([]):new f(function(a,d){function g(b){return function(c){r[b]=c;l--;0==l&&a(r)}}var r=[],l=0;do r.push(void 0),l++,m(c.value).callWhenSettled_(g(r.length-1),d),c=b.next();while(!c.done)})};return f},"es6","es3");
+$jscomp.polyfill("Object.assign",function(p){return p?p:function(e,m){for(var k=1;k<arguments.length;k++){var f=arguments[k];if(f)for(var c in f)$jscomp.owns(f,c)&&(e[c]=f[c])}return e}},"es6","es3");$jscomp.polyfill("Array.prototype.entries",function(p){return p?p:function(){return $jscomp.iteratorFromArray(this,function(e,m){return[e,m]})}},"es6","es3");
+$jscomp.polyfill("Array.prototype.fill",function(p){return p?p:function(e,m,k){var f=this.length||0;0>m&&(m=Math.max(0,f+m));if(null==k||k>f)k=f;k=Number(k);0>k&&(k=Math.max(0,f+k));for(m=Number(m||0);m<k;m++)this[m]=e;return this}},"es6","es3");
+$jscomp.polyfill("Array.prototype.copyWithin",function(p){return p?p:function(e,m,k){var f=this.length;e=Number(e);m=Number(m);k=Number(null!=k?k:f);if(e<m)for(k=Math.min(k,f);m<k;)m in this?this[e++]=this[m++]:(delete this[e++],m++);else for(k=Math.min(k,f+m-e),e+=k-m;k>m;)--k in this?this[--e]=this[k]:delete this[e];return this}},"es6","es3");
+(function(p,e){"object"===typeof exports&&"object"===typeof module?module.exports=e():"function"===typeof define&&define.amd?define([],e):"object"===typeof exports?exports.exportNehuba=e():p.exportNehuba=e()})("undefined"!==typeof self?self:this,function(){return function(p){function e(k){if(m[k])return m[k].exports;var f=m[k]={i:k,l:!1,exports:{}};p[k].call(f.exports,f,f.exports,e);f.l=!0;return f.exports}var m={};e.m=p;e.c=m;e.d=function(k,f,c){e.o(k,f)||Object.defineProperty(k,f,{configurable:!1,
+enumerable:!0,get:c})};e.n=function(k){var f=k&&k.__esModule?function(){return k["default"]}:function(){return k};e.d(f,"a",f);return f};e.o=function(k,f){return Object.prototype.hasOwnProperty.call(k,f)};e.p="";return e(e.s=54)}([function(p,e,m){function k(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function f(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?
+a:b}function c(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function a(a,b){r.set(a,b)}function b(a,b,c){c=void 0===c?{}:c;null!=b&&a.initializeSharedObject(b,c.id)}e.f=a;e.e=function(b,c){a(b,function(a){var b=this,t=a.id,h=new d.b;a=c.call(this,
+a,h);this.set(t,{promise:a,cancellationToken:h});a.then(function(a){var q=a.value;a=a.transfers;b.delete(t);b.invoke("rpc.promise.response",{id:t,value:q},a)},function(a){b.delete(t);b.invoke("rpc.promise.response",{id:t,error:a.message,errorName:a.name})})})};m.d(e,"a",function(){return h});m.d(e,"b",function(){return B});e.d=b;m.d(e,"c",function(){return I});e.h=function(a){return function(b){b.prototype.RPC_TYPE_ID=a}};e.g=function(a){return function(b){if(void 0!==a)b.prototype.RPC_TYPE_ID=a;
+else if(a=b.prototype.RPC_TYPE_ID,void 0===a)throw Error("RPC_TYPE_ID should have already been defined");u.set(a,b)}};var d=m(12);p=m(13);var n=function J(a,b,c){null===a&&(a=Function.prototype);var t=Object.getOwnPropertyDescriptor(a,b);if(void 0===t){if(a=Object.getPrototypeOf(a),null!==a)return J(a,b,c)}else{if("value"in t)return t.value;b=t.get;return void 0===b?void 0:b.call(c)}},l=function(){function a(a,b){for(var c=0;c<b.length;c++){var h=b[c];h.enumerable=h.enumerable||!1;h.configurable=
+!0;"value"in h&&(h.writable=!0);Object.defineProperty(a,h.key,h)}}return function(b,c,h){c&&a(b.prototype,c);h&&a(b,h);return b}}(),g=!("undefined"!==typeof Window&&self instanceof Window),r=new Map,C=function(a){function b(a,c){k(this,b);var h=f(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,c));h.name=a;h.message=c;return h}c(b,a);return b}(Error);a("rpc.promise.cancel",function(a){this.get(a.id).cancellationToken.cancel()});a("rpc.promise.response",function(a){var b=a.id,c=this.get(b),
+h=c.resolve;c=c.reject;this.delete(b);a.hasOwnProperty("value")?h(a.value):a.errorName===d.a.name?c(d.a):c(new C(a.errorName,a.error))});var w=g?-1:0,h=function(){function a(b){var c=this;k(this,a);this.target=b;this.objects=new Map;this.nextId=w;b.onmessage=function(a){a=a.data;r.get(a.functionName).call(c,a)}}l(a,[{key:"set",value:function(a,b){this.objects.set(a,b)}},{key:"delete",value:function(a){this.objects.delete(a)}},{key:"get",value:function(a){return this.objects.get(a)}},{key:"getRef",
+value:function(a){var b=this.get(a.id);b.referencedGeneration=a.gen;b.addRef();return b}},{key:"invoke",value:function(a,b,c){b.functionName=a;this.target.postMessage(b,c)}},{key:"promiseInvoke",value:function(a,b,c,h){var t=this;c=void 0===c?d.e:c;return Object(d.d)(c,function(c,g,d){var q=b.id=t.newId();t.set(q,{resolve:c,reject:g});t.invoke(a,b,h);d.add(function(){t.invoke("rpc.promise.cancel",{id:q})})})}},{key:"newId",value:function(){return g?this.nextId--:this.nextId++}},{key:"numObjects",
+get:function(){return this.objects.size}}]);return a}(),B=function(a){function b(){k(this,b);var a=f(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments));a.rpc=null;a.rpcId=null;return a}c(b,a);l(b,[{key:"initializeSharedObject",value:function(a,b){b=void 0===b?a.newId():b;this.rpc=a;this.rpcId=b;this.isOwner=!1;a.set(b,this)}},{key:"initializeCounterpart",value:function(a,b){b=void 0===b?{}:b;this.initializeSharedObject(a);this.referencedGeneration=this.unreferencedGeneration=0;this.isOwner=
+!0;b.id=this.rpcId;b.type=this.RPC_TYPE_ID;a.invoke("SharedObject.new",b)}},{key:"dispose",value:function(){n(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"dispose",this).call(this)}},{key:"addCounterpartRef",value:function(){return{id:this.rpcId,gen:++this.referencedGeneration}}},{key:"refCountReachedZero",value:function(){!0===this.isOwner?this.referencedGeneration===this.unreferencedGeneration&&this.ownerDispose():!1===this.isOwner?this.rpc.invoke("SharedObject.refCountReachedZero",
+{id:this.rpcId,gen:this.referencedGeneration}):n(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"refCountReachedZero",this).call(this)}},{key:"ownerDispose",value:function(){var a=this.rpc,c=this.rpcId;n(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"refCountReachedZero",this).call(this);a.delete(c);a.invoke("SharedObject.dispose",{id:c})}},{key:"counterpartRefCountReachedZero",value:function(a){this.unreferencedGeneration=a;0===this.refCount&&a===this.referencedGeneration&&
+this.ownerDispose()}}]);return b}(p.a),I=function(a){function h(a,c){c=void 0===c?{}:c;k(this,h);var g=f(this,(h.__proto__||Object.getPrototypeOf(h)).call(this));b(g,a,c);return g}c(h,a);return h}(B);a("SharedObject.dispose",function(a){a=this.get(a.id);if(0!==a.refCount)throw Error("Attempted to dispose object with non-zero reference count.");a.disposed();this.delete(a.rpcId);a.rpcId=null;a.rpc=null});a("SharedObject.refCountReachedZero",function(a){this.get(a.id).counterpartRefCountReachedZero(a.gen)});
+var u=new Map;a("SharedObject.new",function(a){--(new (u.get(a.type))(this,a)).refCount})},function(p,e,m){function k(a,c){var b=Math.abs(a[c]),d=Math.abs(a[c+1]),g=Math.abs(a[c+2]),r=Math.max(b,d,g);1E-4>b/r&&(a[c]=0);1E-4>d/r&&(a[c+1]=0);1E-4>g/r&&(a[c+2]=0)}function f(b){b=b.and(a[0]);for(var c=1;c<a.length;++c)b=b.xor(b.rshift(Math.pow(2,c))).and(a[c]);return b}e.i=function(a){return a[0]*a[1]*a[2]};e.n=function(a){return a[0]+","+a[1]+","+a[2]};e.k=function(a){k(a,0);k(a,4);k(a,8)};e.l=function(a,
+c,n){var b=c[0],g=c[1];c=c[2];a[0]=n[0]*b+n[4]*g+n[8]*c;a[1]=n[1]*b+n[5]*g+n[9]*c;a[2]=n[2]*b+n[6]*g+n[10]*c;return a};e.b=function(a,c){var b=c[0],l=c[1],g=c[2],r=c[4],d=c[5],w=c[6],h=c[8],B=c[9];c=c[10];a[0]=Math.sqrt(b*b+l*l+g*g);a[1]=Math.sqrt(r*r+d*d+w*w);a[2]=Math.sqrt(h*h+B*B+c*c);return a};e.a=function(a){if(a.high)throw Error("Fragment ids >= 2^32 not supported yet");var b=f(a.rshift(0)),n=f(a.rshift(1));a=f(a.rshift(2));return c.c.clone([b.low,n.low,a.low])};var c=m(32);p=m(5);m.d(e,"h",
+function(){return c.a});m.d(e,"j",function(){return c.b});m.d(e,"m",function(){return c.c});m=c.a.create();e.c=m;m=[c.c.fromValues(1,0,0),c.c.fromValues(0,1,0),c.c.fromValues(0,0,1)];e.d=m;m=c.c.fromValues(0,0,0);e.g=m;m=c.c.fromValues(1,1,1);e.f=m;m=c.c.fromValues(Infinity,Infinity,Infinity);e.e=m;c.b.create();var a=[new p.a(1227133513,306783378),new p.a(3272356035,818089008),new p.a(251719695,4027515120),new p.a(4278190335,16711680),new p.a(65535,16711680),new p.a(2097151,0)]},function(p,e,m){function k(a,
+b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function f(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a,b){if(!(a instanceof
+b))throw new TypeError("Cannot call a class as a function");}function a(a){var b=a.downloadCancellationToken=new l.b;a.source.download(a,b).then(function(){a.downloadCancellationToken===b&&(a.downloadCancellationToken=void 0,a.downloadSucceeded())},function(c){a.downloadCancellationToken===b&&(a.downloadCancellationToken=void 0,a.downloadFailed(c),console.log("Error retrieving chunk "+a+": "+c))})}function b(a){return new t(new h.a(a),r.a)}function d(a,b,c,q,h,g){for(;1>b.availableItems||b.availableSize<
+a;){var t=h.next().value;if(void 0===t)return!1;var r=t.priorityTier;if(r<c||r===c&&t.priority>=q)return!1;g(t)}return!0}Object.defineProperty(e,"__esModule",{value:!0});m.d(e,"Chunk",function(){return J});m.d(e,"ChunkSourceBase",function(){return v});m.d(e,"ChunkSource",function(){return A});m.d(e,"ChunkQueueManager",function(){return H});m.d(e,"ChunkManager",function(){return q});e.WithParameters=function(a,b){a=function(a){function b(a){for(var q=[],h=0;h<arguments.length;++h)q[h-0]=arguments[h];
+c(this,b);var g;h=k(this,(g=b.__proto__||Object.getPrototypeOf(b)).call.apply(g,[].concat([this],$jscomp.arrayFromIterable(q))));h.parameters=q[1].parameters;return h}f(b,a);return b}(a);return a=x([Object(I.h)(b.RPC_ID)],a)};e.withChunkManager=function(a){return function(a){function b(a){for(var q=[],h=0;h<arguments.length;++h)q[h-0]=arguments[h];c(this,b);var g;h=k(this,(g=b.__proto__||Object.getPrototypeOf(b)).call.apply(g,[].concat([this],$jscomp.arrayFromIterable(q))));h.chunkManager=q[0].get(q[1].chunkManager);
+return h}f(b,a);return b}(a)};var n=m(7),l=m(12);p=m(13);var g=m(56),r=m(57),C=m(31),w=m(63),h=m(64),B=m(8),I=m(0),u=function(){function a(a,b){for(var c=0;c<b.length;c++){var q=b[c];q.enumerable=q.enumerable||!1;q.configurable=!0;"value"in q&&(q.writable=!0);Object.defineProperty(a,q.key,q)}}return function(b,c,q){c&&a(b.prototype,c);q&&a(b,q);return b}}(),x=this&&this.__decorate||function(a,b,c,q){var h=arguments.length,g=3>h?b:null===q?q=Object.getOwnPropertyDescriptor(b,c):q,t;if("object"===typeof Reflect&&
+"function"===typeof Reflect.decorate)g=Reflect.decorate(a,b,c,q);else for(var r=a.length-1;0<=r;r--)if(t=a[r])g=(3>h?t(g):3<h?t(b,c,g):t(b,c))||g;return 3<h&&g&&Object.defineProperty(b,c,g),g},J=function(){function a(){c(this,a);this.key=this.source=this.prev1=this.next1=this.child1=this.prev0=this.next0=this.child0=null;this.state=n.e.NEW;this.error=null;this.newPriority=this.priority=0;this.newPriorityTier=this.priorityTier=n.d.RECENT;this.backendOnly=!1;this.downloadCancellationToken=void 0}u(a,
+[{key:"initialize",value:function(a){this.key=a;this.state=n.e.NEW;this.priority=Number.NEGATIVE_INFINITY;this.priorityTier=n.d.RECENT;this.newPriority=Number.NEGATIVE_INFINITY;this.newPriorityTier=n.d.RECENT;this.error=null}},{key:"updatePriorityProperties",value:function(){this.priorityTier=this.newPriorityTier;this.priority=this.newPriority;this.newPriorityTier=n.d.RECENT;this.newPriority=Number.NEGATIVE_INFINITY}},{key:"dispose",value:function(){this.error=this.source=null}},{key:"downloadFailed",
+value:function(a){this.error=a;this.queueManager.updateChunkState(this,n.e.FAILED)}},{key:"downloadSucceeded",value:function(){this.queueManager.updateChunkState(this,n.e.SYSTEM_MEMORY_WORKER)}},{key:"freeSystemMemory",value:function(){}},{key:"serialize",value:function(a,b){a.id=this.key;a.source=this.source.rpcId;a["new"]=!0}},{key:"toString",value:function(){return this.key}},{key:"chunkManager",get:function(){return this.source.chunkManager}},{key:"queueManager",get:function(){return this.source.chunkManager.queueManager}}],
+[{key:"priorityLess",value:function(a,b){return a.priority<b.priority}},{key:"priorityGreater",value:function(a,b){return a.priority>b.priority}}]);return a}(),v=function(a){function b(a){c(this,b);var q=k(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));q.chunkManager=a;q.chunks=new Map;q.freeChunks=[];return q}f(b,a);u(b,[{key:"getNewChunk_",value:function(a){var b=this.freeChunks,c=b.length;if(0<c)return a=b[c-1],b.length=c-1,a.source=this,a;b=new a;b.source=this;return b}},{key:"addChunk",
+value:function(a){var b=this.chunks;0===b.size&&this.addRef();b.set(a.key,a)}},{key:"removeChunk",value:function(a){var b=this.chunks,c=this.freeChunks;b.delete(a.key);a.dispose();c[c.length]=a;0===b.size&&this.dispose()}}]);return b}(I.b),A=function(a){function b(a,q){c(this,b);var h=a.get(q.chunkManager);h=k(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,h));Object(I.d)(h,a,q);return h}f(b,a);return b}(v),t=function(){function a(b,q){c(this,a);this.heapOperations=b;this.linkedListOperations=
+q;this.heapRoots=[null,null];this.recentHead=new J;q.initializeHead(this.recentHead)}u(a,[{key:"add",value:function(a){var b=a.priorityTier;if(b===n.d.RECENT)this.linkedListOperations.insertAfter(this.recentHead,a);else{var c=this.heapRoots;c[b]=this.heapOperations.meld(c[b],a)}}},{key:"candidates",value:function(){function a(a,G){for(;;)switch(b){case 0:if(I.heapOperations.compare!==J.priorityLess){b=1;break}e=I;k=e.linkedListOperations;f=e.recentHead;case 3:z=k.back(f);if(null!=z){b=5;break}b=4;
+break;case 5:return b=7,{value:z,done:!1};case 7:if(void 0===G){b=8;break}b=-1;throw G;case 8:case 6:b=3;break;case 4:B=I,C=B.heapRoots,w=n.d.LAST_ORDERED_TIER;case 9:if(!(w>=n.d.FIRST_ORDERED_TIER)){b=11;break}case 12:d=C[w];if(null!=d){b=14;break}b=13;break;case 14:return b=16,{value:d,done:!1};case 16:if(void 0===G){b=17;break}b=-1;throw G;case 17:case 15:b=12;break;case 13:case 10:--w;b=9;break;case 11:b=2;break;case 1:l=I.heapRoots,r=n.d.FIRST_ORDERED_TIER;case 18:if(!(r<=n.d.LAST_ORDERED_TIER)){b=
+20;break}case 21:t=l[r];if(null!=t){b=23;break}b=22;break;case 23:return b=25,{value:t,done:!1};case 25:if(void 0===G){b=26;break}b=-1;throw G;case 26:case 24:b=21;break;case 22:case 19:++r;b=18;break;case 20:g=I,h=g.linkedListOperations,q=g.recentHead;case 27:c=h.front(q);if(null!=c){b=29;break}b=28;break;case 29:return b=31,{value:c,done:!1};case 31:if(void 0===G){b=32;break}b=-1;throw G;case 32:case 30:b=27;break;case 28:case 2:b=-1;default:return{value:void 0,done:!0}}}var b=0,c,q,h,g,t,r,l,d,
+w,C,B,z,f,k,e,I=this,G={next:function(b){return a(b,void 0)},throw:function(b){return a(void 0,b)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();G[Symbol.iterator]=function(){return this};return G}},{key:"delete",value:function(a){var b=a.priorityTier;if(b===n.d.RECENT)this.linkedListOperations.pop(a);else{var c=this.heapRoots;c[b]=this.heapOperations.remove(c[b],a)}}}]);return a}(),z=function(a){function b(a,q){c(this,b);var h=k(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));
+h.itemLimit=a;h.sizeLimit=q;h.currentSize=0;h.currentItems=0;h.capacityChanged=new B.a;h.registerDisposer(a.changed.add(h.capacityChanged.dispatch));h.registerDisposer(q.changed.add(h.capacityChanged.dispatch));return h}f(b,a);u(b,[{key:"adjust",value:function(a,b){this.currentItems-=a;this.currentSize-=b}},{key:"availableSize",get:function(){return this.sizeLimit.value-this.currentSize}},{key:"availableItems",get:function(){return this.itemLimit.value-this.currentItems}}]);return b}(p.a),H=function(q){function h(a,
+q){c(this,h);var r=k(this,(h.__proto__||Object.getPrototypeOf(h)).call(this,a,q));r.queuedPromotionQueue=b(J.priorityGreater);r.downloadEvictionQueue=b(J.priorityLess);r.systemMemoryEvictionQueue=new t(new w.a(J.priorityLess),g.a);r.gpuMemoryPromotionQueue=b(J.priorityGreater);r.gpuMemoryEvictionQueue=b(J.priorityLess);r.updatePending=null;r.numQueued=0;r.numFailed=0;var l=function(b){b=r.registerDisposer(new z(a.get(b.itemLimit),a.get(b.sizeLimit)));b.capacityChanged.add(function(){return r.scheduleUpdate()});
+return b};r.gpuMemoryCapacity=l(q.gpuMemoryCapacity);r.systemMemoryCapacity=l(q.systemMemoryCapacity);r.downloadCapacity=l(q.downloadCapacity);return r}f(h,q);u(h,[{key:"scheduleUpdate",value:function(){null===this.updatePending&&(this.updatePending=setTimeout(this.process.bind(this),0))}},{key:"chunkQueuesForChunk",value:function(a){function b(b,r){for(;;)switch(c){case 0:h=!1;q=a.state;if(!h&&q!==n.e.QUEUED){c=2;break}h=!0;c=3;return{value:g.queuedPromotionQueue,done:!1};case 3:if(void 0===r){c=
+4;break}c=-1;throw r;case 4:c=1;break;case 2:if(!h&&q!==n.e.DOWNLOADING){c=5;break}h=!0;c=6;return{value:g.downloadEvictionQueue,done:!1};case 6:if(void 0===r){c=7;break}c=-1;throw r;case 7:return c=8,{value:g.systemMemoryEvictionQueue,done:!1};case 8:if(void 0===r){c=9;break}c=-1;throw r;case 9:c=1;break;case 5:if(h||q===n.e.SYSTEM_MEMORY_WORKER)h=!0;if(!h&&q!==n.e.SYSTEM_MEMORY){c=10;break}h=!0;c=11;return{value:g.systemMemoryEvictionQueue,done:!1};case 11:if(void 0===r){c=12;break}c=-1;throw r;
+case 12:if(a.priorityTier===n.d.RECENT||a.backendOnly){c=13;break}c=14;return{value:g.gpuMemoryPromotionQueue,done:!1};case 14:if(void 0===r){c=15;break}c=-1;throw r;case 15:case 13:c=1;break;case 10:if(!h&&q!==n.e.GPU_MEMORY){c=16;break}h=!0;c=17;return{value:g.systemMemoryEvictionQueue,done:!1};case 17:if(void 0===r){c=18;break}c=-1;throw r;case 18:return c=19,{value:g.gpuMemoryEvictionQueue,done:!1};case 19:if(void 0===r){c=20;break}c=-1;throw r;case 20:c=1;break;case 16:case 1:c=-1;default:return{value:void 0,
+done:!0}}}var c=0,q,h,g=this,r={next:function(a){return b(a,void 0)},throw:function(a){return b(void 0,a)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();r[Symbol.iterator]=function(){return this};return r}},{key:"adjustCapacitiesForChunk",value:function(a,b){b=b?-1:1;switch(a.state){case n.e.FAILED:this.numFailed-=b;break;case n.e.QUEUED:this.numQueued-=b;break;case n.e.DOWNLOADING:this.downloadCapacity.adjust(b,0);this.systemMemoryCapacity.adjust(b,0);break;
+case n.e.SYSTEM_MEMORY:case n.e.SYSTEM_MEMORY_WORKER:this.systemMemoryCapacity.adjust(b,b*a.systemMemoryBytes);break;case n.e.GPU_MEMORY:this.systemMemoryCapacity.adjust(b,b*a.systemMemoryBytes),this.gpuMemoryCapacity.adjust(b,b*a.gpuMemoryBytes)}}},{key:"removeChunkFromQueues_",value:function(a){for(var b=$jscomp.makeIterator(this.chunkQueuesForChunk(a)),c=b.next();!c.done;c=b.next())c.value.delete(a)}},{key:"addChunkToQueues_",value:function(a){if(a.state===n.e.QUEUED&&a.priorityTier===n.d.RECENT)return a.source.removeChunk(a),
+this.adjustCapacitiesForChunk(a,!1),!1;for(var b=$jscomp.makeIterator(this.chunkQueuesForChunk(a)),c=b.next();!c.done;c=b.next())c.value.add(a);return!0}},{key:"performChunkPriorityUpdate",value:function(a){a.priorityTier===a.newPriorityTier&&a.priority===a.newPriority?(a.newPriorityTier=n.d.RECENT,a.newPriority=Number.NEGATIVE_INFINITY):(this.removeChunkFromQueues_(a),a.updatePriorityProperties(),a.state===n.e.NEW&&(a.state=n.e.QUEUED,this.adjustCapacitiesForChunk(a,!0)),this.addChunkToQueues_(a))}},
+{key:"updateChunkState",value:function(a,b){b!==a.state&&(this.adjustCapacitiesForChunk(a,!1),this.removeChunkFromQueues_(a),a.state=b,this.adjustCapacitiesForChunk(a,!0),this.addChunkToQueues_(a),this.scheduleUpdate())}},{key:"processGPUPromotions_",value:function(){function a(a){b.freeChunkGPUMemory(a);a.source.chunkManager.queueManager.updateChunkState(a,n.e.SYSTEM_MEMORY)}for(var b=this,c=this.gpuMemoryPromotionQueue.candidates(),q=this.gpuMemoryEvictionQueue.candidates(),h=this.gpuMemoryCapacity;;){var g=
+c.next().value;if(void 0===g)break;else{if(!d(g.gpuMemoryBytes,h,g.priorityTier,g.priority,q,a))break;this.copyChunkToGPU(g);this.updateChunkState(g,n.e.GPU_MEMORY)}}}},{key:"freeChunkGPUMemory",value:function(a){this.rpc.invoke("Chunk.update",{id:a.key,state:n.e.SYSTEM_MEMORY,source:a.source.rpcId})}},{key:"freeChunkSystemMemory",value:function(a){a.state===n.e.SYSTEM_MEMORY_WORKER?a.freeSystemMemory():this.rpc.invoke("Chunk.update",{id:a.key,state:n.e.EXPIRED,source:a.source.rpcId})}},{key:"copyChunkToGPU",
+value:function(a){var b=this.rpc;if(a.state===n.e.SYSTEM_MEMORY)b.invoke("Chunk.update",{id:a.key,source:a.source.rpcId,state:n.e.GPU_MEMORY});else{var c={},q=[];a.serialize(c,q);c.state=n.e.GPU_MEMORY;b.invoke("Chunk.update",c,q)}}},{key:"processQueuePromotions_",value:function(){for(var b=this,c=this,q=function(a){switch(a.state){case n.e.DOWNLOADING:var q=a.downloadCancellationToken;a.downloadCancellationToken=void 0;q.cancel();break;case n.e.GPU_MEMORY:c.freeChunkGPUMemory(a);case n.e.SYSTEM_MEMORY_WORKER:case n.e.SYSTEM_MEMORY:c.freeChunkSystemMemory(a)}b.updateChunkState(a,
+n.e.QUEUED)},h=this.queuedPromotionQueue.candidates(),g=this.downloadEvictionQueue.candidates(),r=this.systemMemoryEvictionQueue.candidates(),t=this.downloadCapacity,l=this.systemMemoryCapacity;;){var w=h.next();if(w.done)break;w=w.value;var C=w.priorityTier,B=w.priority;if(!d(0,t,C,B,g,q))break;if(!d(0,l,C,B,r,q))break;this.updateChunkState(w,n.e.DOWNLOADING);a(w)}}},{key:"process",value:function(){this.updatePending&&(this.updatePending=null,this.processGPUPromotions_(),this.processQueuePromotions_(),
+this.logStatistics())}},{key:"logStatistics",value:function(){}},{key:"invalidateSourceCache",value:function(a){for(var b=$jscomp.makeIterator(a.chunks.values()),c=b.next();!c.done;c=b.next()){c=c.value;switch(c.state){case n.e.DOWNLOADING:var q=c.downloadCancellationToken;c.downloadCancellationToken=void 0;q.cancel();break;case n.e.SYSTEM_MEMORY_WORKER:c.freeSystemMemory()}this.updateChunkState(c,n.e.QUEUED)}this.rpc.invoke("Chunk.update",{source:a.rpcId});this.scheduleUpdate()}}]);return h}(I.c);
+H=x([Object(I.g)(n.b)],H);var q=function(a){function b(a,q){c(this,b);var h=k(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a,q));h.existingTierChunks=[];h.newTierChunks=[];h.updatePending=null;h.recomputeChunkPriorities=new B.a;h.recomputeChunkPrioritiesLate=new B.a;h.memoize=new C.a;h.queueManager=a.get(q.chunkQueueManager).addRef();for(a=n.d.FIRST_TIER;a<=n.d.LAST_TIER;++a)a!==n.d.RECENT&&(h.existingTierChunks[a]=[]);return h}f(b,a);u(b,[{key:"scheduleUpdateChunkPriorities",value:function(){null===
+this.updatePending&&(this.updatePending=setTimeout(this.recomputeChunkPriorities_.bind(this),0))}},{key:"recomputeChunkPriorities_",value:function(){this.updatePending=null;this.recomputeChunkPriorities.dispatch();this.recomputeChunkPrioritiesLate.dispatch();this.updateQueueState([n.d.VISIBLE])}},{key:"requestChunk",value:function(a,b,c){a.newPriorityTier===n.d.RECENT&&this.newTierChunks.push(a);var q=a.newPriorityTier;if(b<q||b===q&&c>a.newPriority)a.newPriorityTier=b,a.newPriority=c}},{key:"updateQueueState",
+value:function(a){var b=this.existingTierChunks,c=this.queueManager;a=$jscomp.makeIterator(a);for(var q=a.next();!q.done;q=a.next()){var h=b[q.value],g=$jscomp.makeIterator(h);for(q=g.next();!q.done;q=g.next())q=q.value,q.newPriorityTier===n.d.RECENT&&c.performChunkPriorityUpdate(q);h.length=0}a=this.newTierChunks;h=$jscomp.makeIterator(a);for(q=h.next();!q.done;q=h.next())q=q.value,c.performChunkPriorityUpdate(q),b[q.priorityTier].push(q);a.length=0;this.queueManager.scheduleUpdate()}}]);return b}(I.c);
+q=x([Object(I.g)(n.a)],q);Object(I.f)(n.c,function(a){a=this.get(a.id);a.chunkManager.queueManager.invalidateSourceCache(a)})},function(p,e,m){function k(a){a:{var b=typeof a;if("number"===b||"string"===b)if(b=parseFloat(""+a),!Number.isNaN(b)){a=b;break a}throw Error("Expected floating-point number, but received: "+JSON.stringify(a)+".");}if(Number.isFinite(a))return a;throw Error("Expected finite floating-point number, but received: "+a+".");}function f(a){a=k(a);if(0<a)return a;throw Error("Expected positive finite floating-point number, but received: "+
+a+".");}function c(a){if("object"===typeof a){if(null===a)return"null";if(Array.isArray(a)){var b="[",g=a.length,h=0;if(h<g)for(b+=c(a[h]);++h<g;)b+=",",b+=c(a[h]);return b+"]"}b="{";g=Object.keys(a).sort();h=0;var r=g.length;if(h<r){var l=g[h];b+=JSON.stringify(l);for(b=b+":"+c(a[l]);++h<r;)b+=",",l=g[h],b+=JSON.stringify(l),b+=":",b+=c(a[l])}return b+"}"}return JSON.stringify(a)}function a(a){for(var b="";0<a.length;){var c=a.match(l);if(null===c){var h=a;c=a=""}else{h=a.substr(0,c.index);a=a.substr(c.index+
+c[0].length);var r=c[1];if(void 0!==r){if(c=r,2<=c.length&&"'"===c.charAt(0)&&"'"===c.charAt(c.length-1)){c=c.substr(1,c.length-2);for(r='"';0<c.length;){var d=c.match(g);if(null===d){r+=c;break}r+=d[1];'"'===d[2]?(r+="\\",r+='"'):r+="'";c=c.substr(d.index+d[0].length)}c=r+'"'}}else c=c[2]}b+=h.replace(/\(/g,"[").replace(/\)/g,"]").replace("True","true").replace("False","false").replace(/,\s*([\}\]])/g,"$1");b+=c}return b}function b(a,b,c){var h=a.length;if(!Array.isArray(b)||b.length!==h)throw Error("Expected length "+
+h+" array, but received: "+JSON.stringify(b)+".");for(var g=0;g<h;++g)a[g]=c(b[g],g);return a}function d(a){if("string"!==typeof a)throw Error("Expected string, but received: "+JSON.stringify(a)+".");return a}e.b=function(a,b){var c=a.length;if(!Array.isArray(b)||b.length!==c)throw Error("Incompatible sizes");for(var h=0;h<c;++h)if(!Number.isFinite(parseFloat(b[h])))throw Error("Non-finite value.");for(h=0;h<c;++h)a[h]=parseFloat(b[h]);return a};e.e=c;e.d=function(b){return JSON.parse(a(b))};e.a=
+function(a,b){if(!Array.isArray(a))throw Error("Expected array, but received: "+JSON.stringify(a)+".");return a.map(b)};e.c=b;e.i=function(a){if("object"!==typeof a||null==a||Array.isArray(a))throw Error("Expected JSON object, but received: "+JSON.stringify(a)+".");return a};e.l=d;e.k=function(a){if(void 0!==a)return d(a)};e.j=function(a,b,c){a=a.hasOwnProperty(b)?a[b]:void 0;try{return c(a)}catch(h){throw Error("Error parsing "+JSON.stringify(b)+" property: "+h.message);}};e.h=function(a,b){if("string"===
+typeof a&&null!==a.match(/^[a-zA-Z]/)&&(a=a.toUpperCase(),b.hasOwnProperty(a)))return b[a];throw Error("Invalid enum value: "+JSON.stringify(a)+".");};e.g=function(a){return b(n.m.create(),a,k)};e.f=function(a){return b(n.m.create(),a,f)};e.m=function(a){if(!Array.isArray(a))throw Error("Expected array, received: "+JSON.stringify(a)+".");for(var b=$jscomp.makeIterator(a),c=b.next();!c.done;c=b.next())if(c=c.value,"string"!==typeof c)throw Error("Expected string, received: "+JSON.stringify(c)+".");
+return a};var n=m(1),l=new RegExp(/('(?:[^'\\]|(?:\\.))*')/.source+"|"+/("(?:[^'\\]|(?:\\.))*")/.source),g=/^((?:[^"'\\]|(?:\\[^']))*)("|\\')/},function(p,e,m){m.d(e,"a",function(){return k});e.b=1E-6;var k="undefined"!==typeof Float32Array?Float32Array:Array;e.c=Math.random},function(p,e,m){m.d(e,"a",function(){return n});var k=function(){function a(a,b){for(var c=0;c<b.length;c++){var g=b[c];g.enumerable=g.enumerable||!1;g.configurable=!0;"value"in g&&(g.writable=!0);Object.defineProperty(a,g.key,
+g)}}return function(b,c,l){c&&a(b.prototype,c);l&&a(b,l);return b}}(),f=new Uint32Array(2),c=[];for(p=2;36>=p;++p){e=Math.floor(32/Math.log2(p));m=Math.pow(p,e);var a=Math.floor(e/2),b=Math.pow(p,a);a=Math.pow(p,e-a);var d="^[0-"+String.fromCharCode(48+Math.min(9,p-1));10<p&&(d+="a-"+String.fromCharCode(97+p-11),d+="A-"+String.fromCharCode(65+p-11));d+="]{1,"+Math.ceil(64/Math.log2(p))+"}$";c[p]={lowDigits:e,lowBase:m,lowBase1:b,lowBase2:a,pattern:new RegExp(d)}}var n=function(){function a(b,c){b=
+void 0===b?0:b;c=void 0===c?0:c;if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");this.low=b;this.high=c}k(a,[{key:"clone",value:function(){return new a(this.low,this.high)}},{key:"assign",value:function(a){this.low=a.low;this.high=a.high}},{key:"toString",value:function(a){a=void 0===a?10:a;var b=this.low,g=this.high;if(0===g)return b.toString(a);g*=4294967296;var d=c[a],h=d.lowBase;d=d.lowDigits;var l=g%h;g=Math.floor(g/h);b+=l;g+=Math.floor(b/h);b=(b%h).toString(a);
+return g.toString(a)+"0".repeat(d-b.length)+b}},{key:"tryParseString",value:function(a,b){b=void 0===b?10:b;var g=c[b],d=g.lowDigits,h=g.lowBase,l=g.lowBase1,r=g.lowBase2;if(!g.pattern.test(a))return!1;if(a.length<=d)return this.low=parseInt(a,b),this.high=0,!0;d=a.length-d;g=parseInt(a.substr(d),b);a=parseInt(a.substr(0,d),b);h=Math.floor(a*h/4294967296);l=g+a%4294967296*l%4294967296*r%4294967296;4294967296<=l&&(++h,l-=4294967296);if(l>>>0!==l||h>>>0!==h)return!1;this.low=l;this.high=h;return!0}},
+{key:"parseString",value:function(a,b){if(!this.tryParseString(a,void 0===b?10:b))throw Error("Failed to parse string as uint64 value: "+JSON.stringify(a)+".");return this}},{key:"valid",value:function(){var a=this.low,b=this.high;return a>>>0===a&&b>>>0===b}},{key:"toJSON",value:function(){return this.toString()}},{key:"lshift",value:function(b){b&=63;if(0==b)return this.clone();var c=this.low,g=this.high;return 32>b?new a(c<<b,g<<b|c>>>32-b):new a(0,c<<b-32)}},{key:"rshift",value:function(b){b&=
+63;if(0==b)return this.clone();var c=this.low,g=this.high;return 32>b?new a(c>>>b|g<<32-b,g>>b):new a(g>>b-32,0<=g?0:-1)}},{key:"or",value:function(b){return new a(this.low|b.low,this.high|b.high)}},{key:"xor",value:function(b){return new a(this.low^b.low,this.high^b.high)}},{key:"and",value:function(b){return new a(this.low&b.low,this.high&b.high)}}],[{key:"less",value:function(a,b){return a.high<b.high||a.high===b.high&&a.low<b.low}},{key:"compare",value:function(a,b){return a.high-b.high||a.low-
+b.low}},{key:"equal",value:function(a,b){return a.low===b.low&&a.high===b.high}},{key:"min",value:function(b,c){return a.less(b,c)?b:c}},{key:"random",value:function(){crypto.getRandomValues(f);return new a(f[0],f[1])}},{key:"parseString",value:function(b,c){c=void 0===c?10:c;return(new a).parseString(b,c)}}]);return a}();n.ZERO=new n(0,0)},function(p,e,m){p="undefined"!==typeof Uint8Array&&"undefined"!==typeof Uint16Array&&"undefined"!==typeof Int32Array;e.assign=function(c){for(var a=Array.prototype.slice.call(arguments,
+1);a.length;){var b=a.shift();if(b){if("object"!==typeof b)throw new TypeError(b+"must be non-object");for(var d in b)Object.prototype.hasOwnProperty.call(b,d)&&(c[d]=b[d])}}return c};e.shrinkBuf=function(c,a){if(c.length===a)return c;if(c.subarray)return c.subarray(0,a);c.length=a;return c};var k={arraySet:function(c,a,b,d,n){if(a.subarray&&c.subarray)c.set(a.subarray(b,b+d),n);else for(var l=0;l<d;l++)c[n+l]=a[b+l]},flattenChunks:function(c){var a,b;var d=b=0;for(a=c.length;d<a;d++)b+=c[d].length;
+var n=new Uint8Array(b);d=b=0;for(a=c.length;d<a;d++){var l=c[d];n.set(l,b);b+=l.length}return n}},f={arraySet:function(c,a,b,d,n){for(var l=0;l<d;l++)c[n+l]=a[b+l]},flattenChunks:function(c){return[].concat.apply([],c)}};e.setTyped=function(c){c?(e.Buf8=Uint8Array,e.Buf16=Uint16Array,e.Buf32=Int32Array,e.assign(e,k)):(e.Buf8=Array,e.Buf16=Array,e.Buf32=Array,e.assign(e,f))};e.setTyped(p)},function(p,e,m){m.d(e,"e",function(){return k});m.d(e,"d",function(){return f});var k;(function(c){c[c.GPU_MEMORY=
+0]="GPU_MEMORY";c[c.SYSTEM_MEMORY=1]="SYSTEM_MEMORY";c[c.SYSTEM_MEMORY_WORKER=2]="SYSTEM_MEMORY_WORKER";c[c.DOWNLOADING=3]="DOWNLOADING";c[c.QUEUED=4]="QUEUED";c[c.NEW=5]="NEW";c[c.FAILED=6]="FAILED";c[c.EXPIRED=7]="EXPIRED"})(k||(k={}));var f;(function(c){c[c.FIRST_TIER=0]="FIRST_TIER";c[c.FIRST_ORDERED_TIER=0]="FIRST_ORDERED_TIER";c[c.VISIBLE=0]="VISIBLE";c[c.PREFETCH=1]="PREFETCH";c[c.LAST_ORDERED_TIER=1]="LAST_ORDERED_TIER";c[c.RECENT=2]="RECENT";c[c.LAST_TIER=2]="LAST_TIER"})(f||(f={}));e.f=
+1E13;e.b="ChunkQueueManager";e.a="ChunkManager";e.c="ChunkSource.invalidate"},function(p,e,m){function k(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function f(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");
+}m.d(e,"b",function(){return a});m.d(e,"a",function(){return b});var c=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,g){c&&a(b.prototype,c);g&&a(b,g);return b}}(),a=function(){function a(){f(this,a);this.handlers=new Set;this.count=0;var b=this;this.dispatch=function(){var a=this,c=arguments;++b.count;b.handlers.forEach(function(b){b.apply(a,c)})}}
+c(a,[{key:"add",value:function(a){var b=this;this.handlers.add(a);return function(){return b.remove(a)}}},{key:"remove",value:function(a){return this.handlers.delete(a)}},{key:"dispose",value:function(){this.handlers=void 0}}]);return a}(),b=function(a){function b(){f(this,b);var a=(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!a||"object"!==typeof a&&"function"!==typeof a?this:a}k(b,
+a);return b}(a)},function(p,e,m){function k(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function f(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a,b,c){for(var q=0;3>q;++q)a[q]=Number.POSITIVE_INFINITY,
+b[q]=Number.NEGATIVE_INFINITY;c=$jscomp.makeIterator(c);for(q=c.next();!q.done;q=c.next()){var h=q.value.spec;q=h.lowerChunkBound;h=h.upperChunkBound;for(var g=0;3>g;++g)a[g]=Math.min(a[g],q[g]),b[g]=Math.max(b[g],h[g])}}function a(a,b,c,q){for(var h=u.FULLY_INSIDE,g=0;3>g;++g){var t=a[g];var d=b[g],l=c[g],r=q[g];t=t>=r||d<=l?u.FULLY_OUTSIDE:t>=l&&d<=r?u.FULLY_INSIDE:u.PARTIALLY_INSIDE;switch(t){case u.FULLY_OUTSIDE:return t;case u.PARTIALLY_INSIDE:h=t}}return h}function b(a){var b=a.transform,c=
+a.transformedSources,q=b.changed.count;q!==a.transformedSourcesGeneration&&(a.transformedSourcesGeneration=q,c=h.h.equals(b.transform,h.c)?a.sources.map(function(a){return a.map(function(a){return{source:a,chunkLayout:a.spec.chunkLayout}})}):a.sources.map(function(a){return a.map(function(a){var c=a.spec.chunkLayout;return{chunkLayout:g.a.get(c.size,l(c.transform,b)),source:a}})}),a.transformedSources=c);return c}function d(a,b){var c=b.length,q=0;if(1<c)for(var h=0,g=0;g<c;++g){var t=b[g].chunkLayout;
+var d=t.size;t=t.globalToLocalSpatialVector(I,a);for(var l=0,r=0,w=1,n=0;3>n;++n){var C=d[n];w*=C;C*=t[n];l=Math.min(l,C);r=Math.max(r,C)}d=w/(r-l);d>h&&(h=d,q=g)}return b[q]}function n(a){var b=a.voxelSize,c=void 0===a.lowerVoxelBound?h.g:a.lowerVoxelBound,q=a.upperVoxelBound,g=void 0===a.maxVoxelsPerChunkLog2?18:a.maxVoxelsPerChunkLog2;a=void 0===a.transform?h.c:a.transform;a=Object(h.b)(h.m.create(),a);b=h.m.multiply(a,a,b);a=h.m.fromValues(1,1,1);if(void 0===q)var d=h.e;else{d=h.m.create();for(var t=
+0;3>t;++t)d[t]=Math.pow(2,Math.floor(Math.log2(q[t]-c[t])))}for(c=0;c<g;++c){q=Infinity;t=-1;for(var l=0;3>l;++l)if(!(a[l]>=d[l])){var r=a[l]*b[l];r<q&&(q=r,t=l)}q=t;if(-1===q)break;a[q]*=2}return a}function l(a,b){b=b.transform;return void 0===b?void 0===a?h.c:a:void 0===a?b:h.h.multiply(h.h.create(),b,a)}m.d(e,"h",function(){return J});e.l=n;e.k=l;e.j=function(a){if(void 0!==a.chunkDataSizes)return a.chunkDataSizes;var b=void 0===a.chunkLayoutPreference?v.ISOTROPIC:a.chunkLayoutPreference;switch(b){case v.ISOTROPIC:return[n(a)];
+case v.FLAT:b=[];for(var c=0;3>c;++c){var q=c;var g=a.lowerVoxelBound;var d=a.upperVoxelBound,l=c,t=a.voxelSize,r=a.maxVoxelsPerChunkLog2,w=a.transform;h.m.subtract(I,void 0===d?h.e:d,void 0===g?h.g:g);I[l]=1;g=n({voxelSize:t,upperVoxelBound:I,maxVoxelsPerChunkLog2:r,transform:w});b[q]=g}b.push(n(a));return b}throw Error("Invalid chunk layout preference: "+b+".");};m.d(e,"i",function(){return A});var g=m(66),r=m(20),C=m(67),w=m(14),h=m(1);p=m(0);m.d(e,"a",function(){return w.b});var B=function(){function a(a,
+b){for(var c=0;c<b.length;c++){var h=b[c];h.enumerable=h.enumerable||!1;h.configurable=!0;"value"in h&&(h.writable=!0);Object.defineProperty(a,h.key,h)}}return function(b,c,q){c&&a(b.prototype,c);q&&a(b,q);return b}}(),I=h.m.create(),u;(function(a){a[a.FULLY_OUTSIDE=0]="FULLY_OUTSIDE";a[a.FULLY_INSIDE=1]="FULLY_INSIDE";a[a.PARTIALLY_INSIDE=2]="PARTIALLY_INSIDE"})(u||(u={}));var x=[h.m.create(),h.m.create(),h.m.create(),h.m.create()],J=function(g){function l(){k(this,l);var a=(l.__proto__||Object.getPrototypeOf(l)).call(this);
+if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");a=!a||"object"!==typeof a&&"function"!==typeof a?this:a;a.width=-1;a.height=-1;a.hasViewportToData=!1;a.hasValidViewport=!1;a.viewportToData=h.h.create();a.viewportAxes=[h.m.create(),h.m.create(),h.m.create()];a.previousViewportAxes=[h.m.create(),h.m.create()];a.centerDataPosition=h.m.create();a.viewportPlaneDistanceToOrigin=0;a.visibleChunkLayouts=new Map;a.visibleLayers=new Map;a.visibleSourcesStale=!0;
+a.pixelSize=0;h.h.identity(a.viewportToData);return a}f(l,g);B(l,[{key:"onViewportChanged",value:function(){}},{key:"maybeSetHasValidViewport",value:function(){!this.hasValidViewport&&-1!==this.width&&-1!==this.height&&this.hasViewportToData&&(this.hasValidViewport=!0,this.onHasValidViewport());if(this.hasValidViewport)this.onViewportChanged()}},{key:"onHasValidViewport",value:function(){}},{key:"setViewportSize",value:function(a,b){return a!==this.width||b!==this.height?(this.width=a,this.height=
+b,this.maybeSetHasValidViewport(),!0):!1}},{key:"setViewportToDataMatrix",value:function(a){if(this.hasViewportToData&&h.h.equals(this.viewportToData,a))return!1;this.hasViewportToData=!0;var b=this.viewportToData;h.h.copy(b,a);Object(h.k)(b);h.m.transformMat4(this.centerDataPosition,h.g,a);a=0;for(var c=this.viewportAxes,g=this.previousViewportAxes,d=0;3>d;++d){var l=c[d];Object(h.l)(l,h.d[d],b);0===d&&(a=h.m.length(l));h.m.normalize(l,l)}this.viewportAxes=c;this.previousViewportAxes=g;if(!Object(C.a)(a,
+this.pixelSize)||.95>h.m.dot(c[0],g[0])||.95>h.m.dot(c[1],g[1]))h.m.copy(g[0],c[0]),h.m.copy(g[1],c[1]),this.visibleSourcesStale=!0,this.pixelSize=a;this.viewportPlaneDistanceToOrigin=h.m.dot(this.centerDataPosition,this.viewportAxes[2]);this.onViewportToDataMatrixChanged();this.maybeSetHasValidViewport();return!0}},{key:"onViewportToDataMatrixChanged",value:function(){}},{key:"updateVisibleSources",value:function(){if(this.visibleSourcesStale){this.visibleSourcesStale=!1;var a=1.1*this.pixelSize,
+c=this.visibleChunkLayouts,h=this.viewportAxes[2],g=this.visibleLayers;c.clear();var l={};g=$jscomp.makeIterator(g);for(var t=g.next();!t.done;l={smallestVoxelSize:l.smallestVoxelSize,visibleSources:l.visibleSources},t=g.next()){t=$jscomp.makeIterator(t.value);var r=t.next().value;l.visibleSources=t.next().value;l.visibleSources.length=0;t=b(r);var w=t.length;r=void 0;l.smallestVoxelSize=t[0][0].source.spec.voxelSize;var n=function(b){return function(c){for(var q=0;3>q;++q){var h=c[q];if(h>a&&h>b.smallestVoxelSize[q])return!0}return!1}}(l),
+C=function(a){return function(b,q){var h=b.source,g=b.chunkLayout;a.visibleSources[a.visibleSources.length++]=b;b=c.get(g);void 0===b&&(b=new Map,c.set(g,b));b.set(h,q)}}(l);for(r=w-1;;){w=d(h,t[r]);C(w,r);if(0===r||!n(w.source.spec.voxelSize))break;--r}l.visibleSources.reverse()}}}},{key:"computeVisibleChunks",value:function(b,q){var g=this;this.updateVisibleSources();for(var l=this.width,d=this.height,t=this.viewportToData,w=0;3>w;++w)x[0][w]=-h.d[0][w]*l/2-h.d[1][w]*d/2,x[1][w]=-h.d[0][w]*l/2+
+h.d[1][w]*d/2,x[2][w]=h.d[0][w]*l/2-h.d[1][w]*d/2,x[3][w]=h.d[0][w]*l/2+h.d[1][w]*d/2;for(l=0;4>l;++l)h.m.transformMat4(x[l],x[l],t);var n=h.m.create(),C=h.m.create(),B=h.m.create(),f=h.m.create(),z=h.m.create(),k=h.m.create(),e=[],m=[];this.visibleChunkLayouts.forEach(function(l,d){function t(){for(var a=0,b=0,c=0;3>c;++c){var q=k[c],h=n[c],g=C[c]-h,l=z[c]*g;a+=q*(h+l);b+=q*(h+g-l)}return a<v?!1:b<=v}function w(b){function c(){H=Object(r.b)(e,0,k,function(b){var c=b.spec;switch(a(n,C,c.lowerChunkBound,
+c.upperChunkBound)){case u.PARTIALLY_INSIDE:return!0;case u.FULLY_INSIDE:m.push(b);default:return!1}})}if(0!==m.length||0!==H){for(var h=1,g=0;3>g;++g)h*=Math.max(0,C[g]-n[g]);if(0!==h&&t())if(1===h)q(d,G,n,m);else{for(var l;;)if(h=n[b],g=C[b],l=g-h,1===l)b=(b+1)%3;else break;l=h+Math.floor(.5*l);var B=(b+1)%3,f=m.length;C[b]=l;var k=H;c();w(B);m.length=f;H=k;C[b]=g;n[b]=l;c();w(B);n[b]=h;m.length=f;H=k}}}var G=b(d);c(B,f,l.keys());h.m.set(n,Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY);
+h.m.set(C,Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY);d.globalToLocalSpatialVector(k,g.viewportAxes[2]);for(var y=0;3>y;++y)z[y]=0<k[y]?1:0;var v=h.m.dot(d.globalToLocalGrid(I,g.centerDataPosition),k);for(y=0;4>y;++y)for(var L=d.globalToLocalGrid(I,x[y]),A=0;3>A;++A)n[A]=Math.min(n[A],Math.floor(L[A])),C[A]=Math.max(C[A],Math.floor(L[A])+1);h.m.max(n,n,B);h.m.min(C,C,f);m.length=0;e.length=0;l=$jscomp.makeIterator(l.keys());for(y=l.next();!y.done;y=l.next())switch(y=
+y.value,L=y.spec,a(n,C,L.lowerChunkBound,L.upperChunkBound)){case u.FULLY_INSIDE:m.push(y);break;case u.PARTIALLY_INSIDE:e.push(y)}var H=e.length;w(0)})}}]);return l}(p.b),v;(function(a){a[a.ISOTROPIC=0]="ISOTROPIC";a[a.FLAT=1]="FLAT"})(v||(v={}));var A=function(){function a(b){k(this,a);var c=b.chunkSize,q=b.transform,l=void 0===b.lowerChunkBound?h.g:b.lowerChunkBound,d=b.upperChunkBound;this.voxelSize=b.voxelSize;this.chunkLayout=g.a.get(c,q);this.lowerChunkBound=l;this.upperChunkBound=d}B(a,[{key:"toObject",
+value:function(){return{transform:this.chunkLayout.transform,chunkSize:this.chunkLayout.size,voxelSize:this.voxelSize,lowerChunkBound:this.lowerChunkBound,upperChunkBound:this.upperChunkBound}}}]);return a}();e.f="SliceView";e.d="sliceview/RenderLayer";e.b="SliceView.addVisibleLayer";e.c="SliceView.removeVisibleLayer";e.g="SliceView.updateView";e.e="SliceView.updateTransform"},function(p,e,m){function k(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
+return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function f(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}e.c=function(a){return function(a){function b(a){for(var c=[],g=0;g<arguments.length;++g)c[g-0]=arguments[g];if(!(this instanceof
+b))throw new TypeError("Cannot call a class as a function");var d,n=k(this,(d=b.__proto__||Object.getPrototypeOf(b)).call.apply(d,[].concat([this],$jscomp.arrayFromIterable(c))));n.visibility=c[0].get(c[1].visibility);n.registerDisposer(n.visibility.changed.add(function(){return n.chunkManager.scheduleUpdateChunkPriorities()}));return n}f(b,a);return b}(a)};e.b=function(a){return a===Number.POSITIVE_INFINITY?c.d.VISIBLE:c.d.PREFETCH};e.a=function(a){return a===Number.POSITIVE_INFINITY?0:a*c.f};m(68);
+var c=m(7)},function(p,e,m){m.d(e,"b",function(){return k});e.c=function(c,a,b){b=void 0===b?f:b;if(a!==b)for(c=new Uint8Array(c.buffer,c.byteOffset,c.byteLength),a=0,b=c.length;a<b;a+=2){var d=c[a];c[a]=c[a+1];c[a+1]=d}};e.d=function(c,a,b){b=void 0===b?f:b;if(a!==b)for(c=new Uint8Array(c.buffer,c.byteOffset,c.byteLength),a=0,b=c.length;a<b;a+=4){var d=c[a];c[a]=c[a+3];c[a+3]=d;d=c[a+1];c[a+1]=c[a+2];c[a+2]=d}};var k;(function(c){c[c.LITTLE=0]="LITTLE";c[c.BIG=1]="BIG"})(k||(k={}));var f=function(){var c=
+Uint16Array.of(4386);return 17===(new Uint8Array(c.buffer))[0]?k.BIG:k.LITTLE}();e.a=f},function(p,e,m){function k(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function f(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");
+}m.d(e,"b",function(){return d});m.d(e,"c",function(){return n});e.d=function(a,c){return new Promise(function(g,l){if(a===b)c(g,l,b);else{var r=new d,h=a.add(function(){r.cancel()});c(function(a){h();g(a)},function(a){h();l(a)},r)}})};var c=function(){function a(a,b){for(var c=0;c<b.length;c++){var g=b[c];g.enumerable=g.enumerable||!1;g.configurable=!0;"value"in g&&(g.writable=!0);Object.defineProperty(a,g.key,g)}}return function(b,c,l){c&&a(b.prototype,c);l&&a(b,l);return b}}();p=new (function(){function a(){f(this,
+a);this.name="CancellationError";this.message="CANCELED"}c(a,[{key:"toString",value:function(){return"CANCELED"}}]);return a}());e.a=p;var a=function(){},b={isCanceled:!1,add:function(){return a},remove:a};e.e=b;var d=function(){function b(){f(this,b)}c(b,[{key:"cancel",value:function(){var a=this.handlers;if(null!==a&&(this.handlers=null,void 0!==a)){a=$jscomp.makeIterator(a);for(var b=a.next();!b.done;b=a.next())b=b.value,b()}}},{key:"add",value:function(b){var c=this,g=this.handlers;if(null===
+g)return b(),a;void 0===g&&(g=this.handlers=new Set);g.add(b);return function(){c.remove(b)}}},{key:"remove",value:function(a){var b=this.handlers;null!=b&&b.delete(a)}},{key:"isCanceled",get:function(){return null===this.handlers}}]);return b}(),n=function(a){function g(){f(this,g);var a=(g.__proto__||Object.getPrototypeOf(g)).apply(this,arguments);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");a=!a||"object"!==typeof a&&"function"!==typeof a?this:
+a;a.consumers=new Set;return a}k(g,a);c(g,[{key:"addConsumer",value:function(a){var c=this;a=void 0===a?b:a;var g=this.consumers;g.has(a)||a.isCanceled||(g.add(a),a.add(function(){g.delete(a);0===g.size&&c.cancel()}))}}]);return g}(d)},function(p,e,m){function k(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&
+(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function f(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function c(a,b,c,d){a.addEventListener(b,c,d);return function(){return a.removeEventListener(b,c,d)}}m.d(e,"a",function(){return b});m.d(e,"b",function(){return d});var a=function(){function a(a,b){for(var c=0;c<b.length;c++){var g=b[c];g.enumerable=g.enumerable||!1;g.configurable=!0;"value"in g&&(g.writable=!0);Object.defineProperty(a,g.key,
+g)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),b=function(){function b(){f(this,b);this.refCount=1}a(b,[{key:"addRef",value:function(){++this.refCount;return this}},{key:"dispose",value:function(){0===--this.refCount&&this.refCountReachedZero()}},{key:"refCountReachedZero",value:function(){this.disposed();var a=this.disposers;if(null!=a){for(var b=a.length;0<b;--b){var c=a[b-1];"object"===typeof c?c.dispose():c.call(this)}this.disposers=void 0}this.wasDisposed=!0}},{key:"disposed",
+value:function(){}},{key:"registerDisposer",value:function(a){var b=this.disposers;null==b?this.disposers=[a]:b.push(a);return a}},{key:"unregisterDisposer",value:function(a){var b=this.disposers;if(null!=b){var c=b.indexOf(a);-1!==c&&b.splice(c,1)}return a}},{key:"registerEventListener",value:function(a,b,d,n){this.registerDisposer(c(a,b,d,n))}},{key:"registerCancellable",value:function(a){this.registerDisposer(function(){a.cancel()});return a}}]);return b}(),d=function(a){function b(a){f(this,b);
+var c=(b.__proto__||Object.getPrototypeOf(b)).call(this);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");c=!c||"object"!==typeof c&&"function"!==typeof c?this:c;c.value=a;return c}k(b,a);return b}(b)},function(p,e,m){m.d(e,"b",function(){return k});var k;(function(f){f[f.UINT8=0]="UINT8";f[f.UINT16=1]="UINT16";f[f.UINT32=2]="UINT32";f[f.UINT64=3]="UINT64";f[f.FLOAT32=4]="FLOAT32"})(k||(k={}));p=[];e.a=p;p[k.UINT8]=1;p[k.UINT16]=2;p[k.UINT32]=4;p[k.UINT64]=
+8;p[k.FLOAT32]=4},function(p,e,m){function k(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}m.d(e,"a",function(){return n});e.b=function(a,c){c=void 0===c?"GET":c;var g=new XMLHttpRequest;g[d]=c;g[b]=a;g.open(c,a);return g};e.c=function(a,g,r){r=
+void 0===r?"GET":r;var l=new XMLHttpRequest;if(Array.isArray(a)){var w=a.length;w=1===w?0:Math.abs(Object(c.a)(g))%w;a=a[w]+g}else a+=g;l[d]=r;l[b]=a;l.open(r,a);return l};e.e=function(a,b,c){c=void 0===c?f.e:c;a.responseType=b;return new Promise(function(b,d){var h=function(){a.abort()};c.add(h);a.onloadend=function(){var g=this.status;c.remove(h);200<=g&&300>g?b(this.response):d(n.fromXhr(a))};a.send()})};e.d=function(a,b,c,d){d=void 0===d?f.e:d;a.responseType=c;a.setRequestHeader("Content-Type",
+"application/json");return new Promise(function(c,h){var g=function(){a.abort()};d.add(g);a.onloadend=function(){var b=this.status;d.remove(g);200<=b&&300>b?c(this.response):h(n.fromXhr(a))};a.send(JSON.stringify(b))})};var f=m(12),c=m(87),a=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();$jscomp.initSymbol();
+var b=Symbol("url");$jscomp.initSymbol();var d=Symbol("method"),n=function(c){function g(a,b,c,h){if(!(this instanceof g))throw new TypeError("Cannot call a class as a function");var d=a+" "+JSON.stringify(b)+" resulted in HTTP error "+c;h&&(d+=": "+h);d+=".";var l=(g.__proto__||Object.getPrototypeOf(g)).call(this,d);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");l=!l||"object"!==typeof l&&"function"!==typeof l?this:l;l.name="HttpError";l.message=d;
+l.method=a;l.url=b;l.code=c;l.statusMessage=h;return l}k(g,c);a(g,null,[{key:"fromXhr",value:function(a){return new g(a[d],a[b],a.status,a.statusText)}}]);return g}(Error)},function(p,e,m){function k(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function f(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function c(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+
+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}m.d(e,"a",function(){return r});p=m(19);var a=m(44),b=m(1),d=function(){function a(a,b){for(var c=0;c<b.length;c++){var h=b[c];h.enumerable=h.enumerable||!1;h.configurable=!0;"value"in h&&(h.writable=!0);Object.defineProperty(a,h.key,h)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),n=function w(a,
+b,c){null===a&&(a=Function.prototype);var h=Object.getOwnPropertyDescriptor(a,b);if(void 0===h){if(a=Object.getPrototypeOf(a),null!==a)return w(a,b,c)}else{if("value"in h)return h.value;b=h.get;return void 0===b?void 0:b.call(c)}},l=b.m.create(),g=b.m.create();m=function(a){function b(){k(this,b);var a=f(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));a.source=null;return a}c(b,a);d(b,[{key:"initializeVolumeChunk",value:function(a,c){n(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),
+"initializeVolumeChunk",this).call(this,a,c);this.chunkDataSize=null;a=this.source;this.gpuMemoryBytes=this.systemMemoryBytes=a.spec.chunkBytes;this.data=null}},{key:"serialize",value:function(a,c){n(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"serialize",this).call(this,a,c);var h=this.chunkDataSize;h!==this.source.spec.chunkDataSize&&(a.chunkDataSize=h);a=a.data=this.data;c.push(a.buffer);this.data=null}},{key:"downloadSucceeded",value:function(){this.systemMemoryBytes=this.gpuMemoryBytes=
+this.data.byteLength;n(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"downloadSucceeded",this).call(this)}},{key:"freeSystemMemory",value:function(){this.data=null}}]);return b}(p.SliceViewChunk);var r=function(n){function h(b,c){k(this,h);b=f(this,(h.__proto__||Object.getPrototypeOf(h)).call(this,b,c));b.spec=a.b.fromObject(c.spec);return b}c(h,n);d(h,[{key:"computeChunkBounds",value:function(a){var c=this.spec,h=c.upperVoxelBound;c=c.chunkDataSize;for(var d=b.m.multiply(g,a.chunkGridPosition,
+c),n=!1,r=0;3>r;++r)(l[r]=Math.min(h[r],d[r]+c[r])-d[r])!==c[r]&&(n=!0);b.m.add(d,d,this.spec.baseVoxelOffset);a.chunkDataSize=n?b.m.clone(l):c;return d}}]);return h}(p.SliceViewChunkSource);r.prototype.chunkConstructor=m},function(p,e,m){function k(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function f(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function c(a,
+b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function a(a,b){for(var c=r.m.create(),h=r.m.create(),q=r.m.create(),d=new Float32Array(a.length),g=b.length,l=0;l<g;l+=3){for(var t=3*b[l],n=3*b[l+1],w=3*b[l+2],f=0;3>f;++f)h[f]=a[n+f]-a[t+f],q[f]=
+a[w+f]-a[n+f];r.m.cross(c,h,q);r.m.normalize(c,c);for(t=0;3>t;++t)for(n=3*b[l+t],w=0;3>w;++w)d[n+w]+=c[w]}a=d.length;for(b=0;b<a;b+=3)c=d.subarray(b,b+3),r.m.normalize(c,c);return d}function b(a,b,c,h,q,d,l,n){var t=new Float32Array(c,q,3*d);Object(g.d)(t,h);void 0===l&&(l=q+12*d);var r;void 0!==n&&(r=n*b);c=void 0===r?new Uint32Array(c,l):new Uint32Array(c,l,r);if(0!==c.length%b)throw Error("Number of indices is not a multiple of "+b+": "+c.length+".");Object(g.d)(c,h);a.vertexPositions=t;a.indices=
+c}e.c=function(a,b,c){Object(C.i)(b);a.fragmentIds=Object(C.j)(b,c,C.m)};e.b=a;e.e=b;e.d=function(c,h,d,g,q,l,n){b(c,3,h,d,g,q,l,n);c.vertexNormals=a(c.vertexPositions,c.indices)};m.d(e,"a",function(){return v});var d=m(2),n=m(7);p=m(89);e=m(42);var l=m(21),g=m(11),r=m(1),C=m(3),w=m(5),h=m(10);m=m(0);var B=function(){function a(a,b){for(var c=0;c<b.length;c++){var q=b[c];q.enumerable=q.enumerable||!1;q.configurable=!0;"value"in q&&(q.writable=!0);Object.defineProperty(a,q.key,q)}}return function(b,
+c,h){c&&a(b.prototype,c);h&&a(b,h);return b}}(),I=function t(a,b,c){null===a&&(a=Function.prototype);var q=Object.getOwnPropertyDescriptor(a,b);if(void 0===q){if(a=Object.getPrototypeOf(a),null!==a)return t(a,b,c)}else{if("value"in q)return q.value;b=q.get;return void 0===b?void 0:b.call(c)}},u=this&&this.__decorate||function(a,b,c,q){var h=arguments.length,d=3>h?b:null===q?q=Object.getOwnPropertyDescriptor(b,c):q,g;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)d=Reflect.decorate(a,
+b,c,q);else for(var l=a.length-1;0<=l;l--)if(g=a[l])d=(3>h?g(d):3<h?g(b,c,d):g(b,c))||d;return 3<h&&d&&Object.defineProperty(b,c,d),d},x=function(a){function b(){k(this,b);var a=f(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));a.objectId=new w.a;return a}c(b,a);B(b,[{key:"initializeManifestChunk",value:function(a,c,h){I(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"initialize",this).call(this,a);this.objectId.assign(c);h&&(this.clipBounds=h)}},{key:"freeSystemMemory",value:function(){this.fragmentIds=
+null}},{key:"serialize",value:function(a,c){I(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"serialize",this).call(this,a,c);a.fragmentIds=this.fragmentIds}},{key:"downloadSucceeded",value:function(){this.systemMemoryBytes=100;this.gpuMemoryBytes=0;I(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"downloadSucceeded",this).call(this);this.priorityTier<n.d.RECENT&&this.source.chunkManager.scheduleUpdateChunkPriorities()}},{key:"toString",value:function(){return this.objectId.toString()}}]);
+return b}(d.Chunk),J=function(a){function b(){k(this,b);var a=f(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));a.manifestChunk=null;a.fragmentId=null;a.vertexPositions=null;a.indices=null;a.vertexNormals=null;return a}c(b,a);B(b,[{key:"initializeFragmentChunk",value:function(a,c,h){I(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"initialize",this).call(this,a);this.manifestChunk=c;this.fragmentId=h}},{key:"freeSystemMemory",value:function(){this.fragmentId=this.vertexPositions=
+this.indices=this.vertexNormals=this.manifestChunk=null}},{key:"serialize",value:function(a,c){I(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"serialize",this).call(this,a,c);a.objectKey=this.manifestChunk.key;var q=this.vertexPositions,h=this.indices,d=this.vertexNormals;a.vertexPositions=q;a.indices=h;a.vertexNormals=d;a=q.buffer;c.push(a);h=h.buffer;h!==a&&c.push(h);d=d.buffer;d!==a&&d!==h&&c.push(d);this.vertexPositions=this.indices=this.vertexNormals=null}},{key:"downloadSucceeded",
+value:function(){this.systemMemoryBytes=this.gpuMemoryBytes=this.vertexPositions.byteLength+this.indices.byteLength+this.vertexNormals.byteLength;I(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"downloadSucceeded",this).call(this)}}]);return b}(d.Chunk),v=function(a){function b(a,c){k(this,b);var q=f(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a,c));return(q.fragmentSource=q.registerDisposer(a.getRef(c.fragmentSource))).meshSource=q}c(b,a);B(b,[{key:"getChunk",value:function(a,
+b){var c=Object(l.b)(a,b),q=this.chunks.get(c);void 0===q&&(q=this.getNewChunk_(x),q.initializeManifestChunk(c,a,b),this.addChunk(q));return q}},{key:"getFragmentChunk",value:function(a,b){var c=a.key+"/"+b,q=this.fragmentSource,h=q.chunks.get(c);void 0===h&&(h=q.getNewChunk_(J),h.initializeFragmentChunk(c,a,b),q.addChunk(h));return h}}]);return b}(d.ChunkSource);d=function(a){function b(){k(this,b);var a=f(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments));a.meshSource=null;return a}
+c(b,a);B(b,[{key:"download",value:function(a,b){return this.meshSource.downloadFragment(a,b)}}]);return b}(d.ChunkSource);d=u([Object(m.g)(p.a)],d);e=function(a){function b(a,c){k(this,b);var q=f(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a,c));q.source=q.registerDisposer(a.getRef(c.source));q.registerDisposer(q.chunkManager.recomputeChunkPriorities.add(function(){q.updateChunkPriorities()}));return q}c(b,a);B(b,[{key:"updateChunkPriorities",value:function(){var a=this,b=this.visibility.value;
+if(b!==Number.NEGATIVE_INFINITY){var c=Object(h.b)(b),d=Object(h.a)(b),g=this.source,t=this.chunkManager;Object(l.a)(this,function(b){b=g.getChunk(b,a.clipBounds.value);t.requestChunk(b,c,d+100);var q=b.state;if(q===n.e.SYSTEM_MEMORY_WORKER||q===n.e.SYSTEM_MEMORY||q===n.e.GPU_MEMORY){q=$jscomp.makeIterator(b.fragmentIds);for(var h=q.next();!h.done;h=q.next())h=g.getFragmentChunk(b,h.value),t.requestChunk(h,c,d+50)}})}}}]);return b}(e.a);e=u([Object(m.g)(p.b)],e)},function(p,e,m){e.a=function(c,a){Object(k.a)(c,
+Object(f.a)(new Uint8Array(a),c.chunkDataSize,c.source.spec.numChannels))};var k=m(26),f=m(99)},function(p,e,m){function k(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function f(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function c(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+
+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}Object.defineProperty(e,"__esModule",{value:!0});m.d(e,"SliceView",function(){return B});m.d(e,"SliceViewChunk",function(){return I});m.d(e,"SliceViewChunkSource",function(){return u});m.d(e,"RenderLayer",function(){return x});p=m(2);var a=m(65);e=m(9);var b=m(1),d=m(8),n=m(10);m=m(0);var l=function(){function a(a,
+b){for(var c=0;c<b.length;c++){var h=b[c];h.enumerable=h.enumerable||!1;h.configurable=!0;"value"in h&&(h.writable=!0);Object.defineProperty(a,h.key,h)}}return function(b,c,h){c&&a(b.prototype,c);h&&a(b,h);return b}}(),g=function v(a,b,c){null===a&&(a=Function.prototype);var h=Object.getOwnPropertyDescriptor(a,b);if(void 0===h){if(a=Object.getPrototypeOf(a),null!==a)return v(a,b,c)}else{if("value"in h)return h.value;b=h.get;return void 0===b?void 0:b.call(c)}},r=this&&this.__decorate||function(a,
+b,c,h){var d=arguments.length,q=3>d?b:null===h?h=Object.getOwnPropertyDescriptor(b,c):h,g;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)q=Reflect.decorate(a,b,c,h);else for(var l=a.length-1;0<=l;l--)if(g=a[l])q=(3>d?g(q):3<d?g(b,c,q):g(b,c))||q;return 3<d&&q&&Object.defineProperty(b,c,q),q},C=b.m.create(),w=b.m.create(),h=function(a){function b(a,c){k(this,b);var h=f(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));h.initializeSharedObject(a,c.id);return h}c(b,a);return b}(e.h),
+B=function(a){function h(a,b){k(this,h);var c=f(this,(h.__proto__||Object.getPrototypeOf(h)).call(this,a,b));c.handleLayerChanged=function(){c.hasValidViewport&&c.chunkManager.scheduleUpdateChunkPriorities()};c.invalidateVisibleSources=function(){c.visibleSourcesStale=!0;c.hasValidViewport&&c.chunkManager.scheduleUpdateChunkPriorities()};c.registerDisposer(c.chunkManager.recomputeChunkPriorities.add(function(){c.updateVisibleChunks()}));return c}c(h,a);l(h,[{key:"onViewportChanged",value:function(){this.chunkManager.scheduleUpdateChunkPriorities()}},
+{key:"updateVisibleChunks",value:function(){var a=this,c=this.centerDataPosition,h=this.chunkManager,q=this.visibility.value;if(q!==Number.NEGATIVE_INFINITY){var d=Object(n.b)(q),g=Object(n.a)(q);g+=-1E12;this.computeVisibleChunks(function(b){b.globalToLocalSpatial(w,c);return a.visibleChunkLayouts.get(b)},function(a,c,q,l){b.m.multiply(C,q,a.size);a=-b.m.distance(w,C);l=$jscomp.makeIterator(l);for(var t=l.next();!t.done;t=l.next()){var n=t.value;t=c.get(n);n=n.getChunk(q);h.requestChunk(n,d,g+a+
+1E9*t)}})}}},{key:"removeVisibleLayer",value:function(a){this.visibleLayers.delete(a);a.layerChanged.remove(this.handleLayerChanged);a.transform.changed.remove(this.invalidateVisibleSources);this.invalidateVisibleSources()}},{key:"addVisibleLayer",value:function(a){this.visibleLayers.set(a,[]);a.layerChanged.add(this.handleLayerChanged);a.transform.changed.add(this.invalidateVisibleSources);this.invalidateVisibleSources()}},{key:"disposed",value:function(){for(var a=$jscomp.makeIterator(this.visibleLayers.keys()),
+b=a.next();!b.done;b=a.next())this.removeVisibleLayer(b.value);g(h.prototype.__proto__||Object.getPrototypeOf(h.prototype),"disposed",this).call(this)}}]);return h}(Object(n.c)(Object(p.withChunkManager)(h)));B=r([Object(m.g)(e.f)],B);Object(m.f)(e.g,function(a){var b=this.get(a.id);a.width&&b.setViewportSize(a.width,a.height);a.viewportToData&&b.setViewportToDataMatrix(a.viewportToData)});Object(m.f)(e.b,function(a){var b=this.get(a.id);a=this.get(a.layerId);b.addVisibleLayer(a)});Object(m.f)(e.c,
+function(a){var b=this.get(a.id);a=this.get(a.layerId);b.removeVisibleLayer(a)});var I=function(a){function h(){k(this,h);var a=f(this,(h.__proto__||Object.getPrototypeOf(h)).call(this));a.source=null;a.chunkGridPosition=b.m.create();return a}c(h,a);l(h,[{key:"initializeVolumeChunk",value:function(a,c){g(h.prototype.__proto__||Object.getPrototypeOf(h.prototype),"initialize",this).call(this,a);b.m.copy(this.chunkGridPosition,c)}},{key:"serialize",value:function(a,b){g(h.prototype.__proto__||Object.getPrototypeOf(h.prototype),
+"serialize",this).call(this,a,b);a.chunkGridPosition=this.chunkGridPosition}},{key:"downloadSucceeded",value:function(){g(h.prototype.__proto__||Object.getPrototypeOf(h.prototype),"downloadSucceeded",this).call(this)}},{key:"freeSystemMemory",value:function(){}},{key:"toString",value:function(){return this.source.toString()+":"+Object(b.n)(this.chunkGridPosition)}}]);return h}(p.Chunk),u=function(a){function h(a,b){k(this,h);return f(this,(h.__proto__||Object.getPrototypeOf(h)).call(this,a,b))}c(h,
+a);l(h,[{key:"getChunk",value:function(a){var c=Object(b.n)(a),h=this.chunks.get(c);void 0===h&&(h=this.getNewChunk_(this.chunkConstructor),h.initializeVolumeChunk(c,a),this.addChunk(h));return h}}]);return h}(p.ChunkSource),x=function(h){function g(c,h){k(this,g);var l=f(this,(g.__proto__||Object.getPrototypeOf(g)).call(this,c,h));l.layerChanged=new d.a;l.transform=new a.a;l.transformedSourcesGeneration=-1;for(var q=l.sources=[],t=$jscomp.makeIterator(h.sources),n=t.next();!n.done;n=t.next()){var r=
+n.value;n=[];q.push(n);r=$jscomp.makeIterator(r);for(var w=r.next();!w.done;w=r.next())w=c.get(w.value),l.registerDisposer(w.addRef()),n.push(w)}b.h.copy(l.transform.transform,h.transform);l.transform.changed.add(l.layerChanged.dispatch);return l}c(g,h);return g}(m.c);x=r([Object(m.g)(e.d)],x);Object(m.f)(e.e,function(a){var c=this.get(a.id);a=a.value;var h=c.transform.transform;b.h.equals(a,h)||(b.h.copy(h,a),c.transform.changed.dispatch())})},function(p,e,m){e.b=function(k,f,c,a){for(;f<c;){var b=
+k[f];a(b)?++f:(--c,k[f]=k[c],k[c]=b)}return c};e.a=function(k,f){var c=k.length,a=Array(c);f=a[0]=void 0===f?1:f;for(var b=1;b<c;++b)f*=k[b-1],a[b]=f;return a};e.c=function(k,f,c){for(var a=new k.constructor(k.length),b=0;b<f*c;b+=c)for(var d=0;d<c;d++)a[d*f+b/c]=k[b+d];return a}},function(p,e,m){e.b=function(k,f){return k.low+","+k.high+(f?"_"+f.center.toString()+"_"+f.size.toString():"")};e.a=function(k,f){var c=k.segmentEquivalences;k=$jscomp.makeIterator(k.visibleSegments);for(var a=k.next();!a.done;a=
+k.next())if(a=a.value,c.disjointSets.isMinElement(a))for(var b=$jscomp.makeIterator(c.setElements(a)),d=b.next();!d.done;d=b.next())f(d.value,a)}},function(p,e,m){function k(f,c,a,b,d,n,l){for(var g=new Map,r=Array(3),C=2,w=0;3>w;++w){var h=r[w]=Math.ceil(b[w]/c[w]);C*=h}w=r[0];h=r[1];r=r[2];var B=b[0],k=b[1];b=b[2];var e=c[0],m=c[1],p=c[2],v=f.length,A=v,t=[0,0,0];f.resize(v+C);C=n[0];for(var z=n[1],H=n[2],q=0;q<r;++q){t[2]=Math.min(p,b-q*p);for(var G=0;G<h;++G){t[1]=Math.min(m,k-G*m);for(var L=
+0;L<w;++L){t[0]=Math.min(e,B-L*e);var K=f.length-v,D=$jscomp.makeIterator(l(a,d+(q*p*H+G*m*z+L*e*C),n,c,t,v,g,f)),E=D.next().value;D=D.next().value;var Q=f.data;Q[A++]=D|E<<24;Q[A++]=K}}}}e.c=function(f,c,a,b,d,n,l,g,r){if(1===d)var C=0;else for(C=1;1<<C<d;)C*=2;var w=Math.ceil(C*b/32),h=f.length,B=w,k=!1,e=Array.prototype.join.call(n.subarray(0,d*r),",");b=a.get(e);void 0===b&&(k=!0,B+=d*r,b=h+w-c,a.set(e,b));f.resize(h+B);f=f.data;if(0<C)switch(C){case 1:for(c=a=0;a<w;++a)B=0,B|=g[l[c+0]]<<0,B|=
+g[l[c+1]]<<1,B|=g[l[c+2]]<<2,B|=g[l[c+3]]<<3,B|=g[l[c+4]]<<4,B|=g[l[c+5]]<<5,B|=g[l[c+6]]<<6,B|=g[l[c+7]]<<7,B|=g[l[c+8]]<<8,B|=g[l[c+9]]<<9,B|=g[l[c+10]]<<10,B|=g[l[c+11]]<<11,B|=g[l[c+12]]<<12,B|=g[l[c+13]]<<13,B|=g[l[c+14]]<<14,B|=g[l[c+15]]<<15,B|=g[l[c+16]]<<16,B|=g[l[c+17]]<<17,B|=g[l[c+18]]<<18,B|=g[l[c+19]]<<19,B|=g[l[c+20]]<<20,B|=g[l[c+21]]<<21,B|=g[l[c+22]]<<22,B|=g[l[c+23]]<<23,B|=g[l[c+24]]<<24,B|=g[l[c+25]]<<25,B|=g[l[c+26]]<<26,B|=g[l[c+27]]<<27,B|=g[l[c+28]]<<28,B|=g[l[c+29]]<<29,
+B|=g[l[c+30]]<<30,B|=g[l[c+31]]<<31,f[h+a]=B,c+=32;break;case 2:for(c=a=0;a<w;++a)B=0,B|=g[l[c+0]]<<0,B|=g[l[c+1]]<<2,B|=g[l[c+2]]<<4,B|=g[l[c+3]]<<6,B|=g[l[c+4]]<<8,B|=g[l[c+5]]<<10,B|=g[l[c+6]]<<12,B|=g[l[c+7]]<<14,B|=g[l[c+8]]<<16,B|=g[l[c+9]]<<18,B|=g[l[c+10]]<<20,B|=g[l[c+11]]<<22,B|=g[l[c+12]]<<24,B|=g[l[c+13]]<<26,B|=g[l[c+14]]<<28,B|=g[l[c+15]]<<30,f[h+a]=B,c+=16;break;case 4:for(c=a=0;a<w;++a)B=0,B|=g[l[c+0]]<<0,B|=g[l[c+1]]<<4,B|=g[l[c+2]]<<8,B|=g[l[c+3]]<<12,B|=g[l[c+4]]<<16,B|=g[l[c+5]]<<
+20,B|=g[l[c+6]]<<24,B|=g[l[c+7]]<<28,f[h+a]=B,c+=8;break;case 8:for(c=a=0;a<w;++a)B=0,B|=g[l[c+0]]<<0,B|=g[l[c+1]]<<8,B|=g[l[c+2]]<<16,B|=g[l[c+3]]<<24,f[h+a]=B,c+=4;break;case 16:for(c=a=0;a<w;++a)B=0,B|=g[l[c+0]]<<0,B|=g[l[c+1]]<<16,f[h+a]=B,c+=2;break;case 32:for(c=a=0;a<w;++a)B=0,B|=g[l[c+0]]<<0,f[h+a]=B,c+=1}if(k)for(l=h+w,g=0,d*=r;g<d;++g)f[l++]=n[g];return[C,b]};e.a=k;e.b=function(f,c,a,b,d,n,l){var g=f.length,r=b[3];f.resize(g+r);for(var C=0;C<r;++C)f.data[g+C]=f.length,k(f,c,a,b,d+n[3]*C,
+n,l)}},function(p,e,m){e.a=function(b,d,n){n=void 0===n?c.a:n;var l=b.source.spec,g=l.dataType,r=Object(a.i)(b.chunkDataSize),C=f.a[g];l=r*C*l.numChannels;if(l!==d.byteLength)throw Error("Raw-format chunk is "+d.byteLength+" bytes, "+("but "+r+" * "+C+" = "+l+" bytes are expected."));switch(g){case f.b.UINT8:d=new Uint8Array(d);break;case f.b.UINT16:d=new Uint16Array(d);Object(c.c)(d,n);break;case f.b.UINT32:case f.b.UINT64:d=new Uint32Array(d);Object(c.d)(d,n);break;case f.b.FLOAT32:d=new Float32Array(d);
+Object(c.d)(d,n);break;default:throw Error("Unexpected data type: "+g+".");}Object(k.a)(b,d)};var k=m(26),f=m(14),c=m(11),a=m(1)},function(p,e,m){function k(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function f(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,
+enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}m.d(e,"b",function(){return g});m.d(e,"a",function(){return r});e.c=function(c,d){function h(){g=c.value;l=new b.a;d(l,g)}var g,l,n=a()(function(){c.value!==g&&(l.dispose(),h())},0),r=c.changed.add(n);h();return function(){n.cancel();r();l.dispose()}};p=m(69);var a=m.n(p),b=m(13),d=m(8),n=function w(a,
+b,c){null===a&&(a=Function.prototype);var h=Object.getOwnPropertyDescriptor(a,b);if(void 0===h){if(a=Object.getPrototypeOf(a),null!==a)return w(a,b,c)}else{if("value"in h)return h.value;b=h.get;return void 0===b?void 0:b.call(c)}},l=function(){function a(a,b){for(var c=0;c<b.length;c++){var h=b[c];h.enumerable=h.enumerable||!1;h.configurable=!0;"value"in h&&(h.writable=!0);Object.defineProperty(a,h.key,h)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),g=function(){function a(b){c(this,
+a);this.value_=b;this.changed=new d.a}l(a,[{key:"value",get:function(){return this.value_},set:function(a){a!==this.value_&&(this.value_=a,this.changed.dispatch())}}]);return a}();(function(a){function b(a,h,d){d=void 0===d?a:d;c(this,b);a=k(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a));a.validator=h;a.defaultValue=d;return a}f(b,a);l(b,[{key:"toJSON",value:function(){if(this.value_!==this.defaultValue)return this.value_}},{key:"reset",value:function(){this.value=this.defaultValue}},
+{key:"restoreState",value:function(a){if(void 0!==a){var b=this.validator;try{this.value=b(a);return}catch(u){}}this.value=this.defaultValue}}]);return b})(g);(function(a){function b(a,h){c(this,b);var g=k(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));g.changed=new d.a;g.f=a;g.ws=h;a=$jscomp.makeIterator(h);for(h=a.next();!h.done;h=a.next())g.registerDisposer(h.value.changed.add(g.changed.dispatch));return g}f(b,a);l(b,[{key:"value",get:function(){return this.f.apply(this,[].concat($jscomp.arrayFromIterable(this.ws.map(function(a){return a.value}))))}}]);
+return b})(b.a);(function(a){function b(a,h){for(var g=[],l=1;l<arguments.length;++l)g[l-1]=arguments[l];c(this,b);l=k(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));l.f=a;l.changed=new d.a;g=$jscomp.makeIterator(g);for(var n=g.next();!n.done;n=g.next())l.registerDisposer(n.value.add(l.changed.dispatch));return l}f(b,a);l(b,[{key:"value",get:function(){return this.f()}}]);return b})(b.a);(function(a){function b(a,h){c(this,b);var d=k(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));
+d.validator=a;d.jsonConverter=h;return d}f(b,a);l(b,[{key:"toJSON",value:function(){var a=this.value;return a&&this.jsonConverter(a)}},{key:"restoreState",value:function(a){this.value=this.validator(a)}}]);return b})(function(a){function b(){c(this,b);var a=k(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments));a.changed=new d.a;return a}f(b,a);l(b,[{key:"reset",value:function(){this.value=void 0}},{key:"disposed",value:function(){void 0!==this.value_&&this.value_.dispose();this.value_=
+void 0;n(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"disposed",this).call(this)}},{key:"value",get:function(){return this.value_},set:function(a){var b=this,c=this.value_;this.value_=a;void 0!==c&&(c.dispose(),this.valueHandler=void 0);if(void 0!==a){var h=this.valueHandler=function(){b.value_===a&&(b.value_=void 0,b.changed.dispatch())};a.registerDisposer(h)}a!==c&&this.changed.dispatch()}}]);return b}(b.a));var r=function(){function a(b){c(this,a);this.changed=new d.a;this.values=
+void 0===b?new Set:new Set(b)}$jscomp.initSymbol();$jscomp.initSymbolIterator();l(a,[{key:"add",value:function(a){var b=this.values;b.has(a)||(b.add(a),this.changed.dispatch());return this}},{key:"delete",value:function(a){return this.values.delete(a)?(this.changed.dispatch(),!0):!1}},{key:"has",value:function(a){return this.values.has(a)}},{key:Symbol.iterator,value:function(){$jscomp.initSymbol();$jscomp.initSymbolIterator();return this.values[Symbol.iterator]()}},{key:"clear",value:function(){var a=
+this.values;0<a.size&&(a.clear(),this.changed.dispatch())}},{key:"size",get:function(){return this.values.size}}]);return a}()},function(p,e,m){e.a=function(k,f){k.data=new Uint32Array(f)}},function(p,e,m){e.a=function(d,n){var l=d.source.spec;if(l.compressedSegmentationBlockSize){var g=l.dataType;a.clear();var r=d.chunkDataSize;b[0]=r[0];b[1]=r[1];b[2]=r[2];b[3]=l.numChannels;switch(g){case k.a.UINT32:Object(f.a)(a,l.compressedSegmentationBlockSize,n,b);break;case k.a.UINT64:Object(c.a)(a,l.compressedSegmentationBlockSize,
+n,b);break;default:throw Error("Unsupported data type for compressed segmentation: "+k.a[g]);}d.data=new Uint32Array(a.view)}else d.data=n};var k=m(9),f=m(96),c=m(97),a=new (m(98).a)(2E4),b=Array(4)},function(p,e,m){e=m(6).assign;var k=m(104),f=m(107);m=m(50);var c={};e(c,k,f,m);p.exports=c},function(p,e,m){p.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},function(p,
+e,m){function k(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function f(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function c(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});
+b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}m.d(e,"a",function(){return C});p=m(2);var a=m(7),b=m(12),d=m(15),n=m(124),l=function(){function a(a,b){for(var c=0;c<b.length;c++){var h=b[c];h.enumerable=h.enumerable||!1;h.configurable=!0;"value"in h&&(h.writable=!0);Object.defineProperty(a,h.key,h)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),g=function h(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=
+Object.getPrototypeOf(a),null!==a)return h(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},r=function(a){function b(){k(this,b);var a=f(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments));a.backendOnly=!0;return a}c(b,a);l(b,[{key:"initialize",value:function(a){g(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"initialize",this).call(this,a);this.requesters=new Set}},{key:"downloadSucceeded",value:function(){g(b.prototype.__proto__||
+Object.getPrototypeOf(b.prototype),"downloadSucceeded",this).call(this);var a=this.requesters,c=this.data;this.requesters=void 0;a=$jscomp.makeIterator(a);for(var h=a.next();!h.done;h=a.next())h.value.resolve(c)}},{key:"downloadFailed",value:function(a){g(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"downloadFailed",this).call(this,a);var c=this.requesters;this.requesters=void 0;c=$jscomp.makeIterator(c);for(var h=c.next();!h.done;h=c.next())h.value.reject(a)}},{key:"freeSystemMemory",
+value:function(){this.data=void 0}}]);return b}(p.Chunk),C=function(h){function g(a,b){k(this,g);var c=f(this,(g.__proto__||Object.getPrototypeOf(g)).call(this,a));c.decodeFile=b;c.registerDisposer(a);c.registerDisposer(c.chunkManager.recomputeChunkPrioritiesLate.add(function(){c.updateChunkPriorities()}));return c}c(g,h);l(g,[{key:"updateChunkPriorities",value:function(){for(var a=this.chunkManager,b=$jscomp.makeIterator(this.chunks.values()),c=b.next();!c.done;c=b.next()){c=c.value;var h=c.requesters;
+if(void 0!==h){h=$jscomp.makeIterator(h);for(var d=h.next();!d.done;d=h.next())d=d.value.getPriority(),a.requestChunk(c,d.priorityTier,d.priority)}}}},{key:"download",value:function(a,b){var c=this;return Object(d.e)(Object(d.b)(a.key),"arraybuffer",b).then(function(b){a.data=c.decodeFile(b)})}},{key:"getData",value:function(c,h,d){var g=this,l=this.chunks.get(c);void 0===l&&(l=this.getNewChunk_(r),l.initialize(c),this.addChunk(l));return Object(b.d)(d,function(c,d,n){switch(l.state){case a.e.FAILED:d(l.error);
+return;case a.e.SYSTEM_MEMORY_WORKER:c(l.data);return}var t={resolve:c,reject:d,getPriority:h};l.requesters.add(t);n.add(function(){var a=l.requesters;void 0!==a&&(a.delete(t),g.chunkManager.scheduleUpdateChunkPriorities());d(b.a)});g.chunkManager.scheduleUpdateChunkPriorities()})}}],[{key:"get",value:function(a,b){return a.memoize.get("getFileSource:"+Object(n.a)(b),function(){return new g(a,b)})}},{key:"getData",value:function(a,b,c,h,d){a=g.get(a,b);c=a.getData(c,h,d);a.dispose();return c}}]);
+return g}(p.ChunkSourceBase)},function(p,e,m){var k=k||{};k.Utils=k.Utils||{};k.Utils.crcTable=null;k.Utils.GUNZIP_MAGIC_COOKIE1=31;k.Utils.GUNZIP_MAGIC_COOKIE2=139;k.Utils.getStringAt=function(f,c,a){for(var b="",d;c<a;c+=1)d=f.getUint8(c),0!==d&&(b+=String.fromCharCode(d));return b};k.Utils.getByteAt=function(f,c){return f.getInt8(c)};k.Utils.getShortAt=function(f,c,a){return f.getInt16(c,a)};k.Utils.getIntAt=function(f,c,a){return f.getInt32(c,a)};k.Utils.getFloatAt=function(f,c,a){return f.getFloat32(c,
+a)};k.Utils.getDoubleAt=function(f,c,a){return f.getFloat64(c,a)};k.Utils.getLongAt=function(f,c,a){var b,d=[],n=0;for(b=0;8>b;b+=1)d[b]=k.Utils.getByteAt(f,c+b,a);for(b=d.length-1;0<=b;b--)n=256*n+d[b];return n};k.Utils.toArrayBuffer=function(f){var c;var a=new ArrayBuffer(f.length);var b=new Uint8Array(a);for(c=0;c<f.length;c+=1)b[c]=f[c];return a};k.Utils.isString=function(f){return"string"===typeof f||f instanceof String};k.Utils.formatNumber=function(f,c){f=k.Utils.isString(f)?Number(f):f;f=
+c?f.toPrecision(5):f.toPrecision(7);return parseFloat(f)};k.Utils.makeCRCTable=function(){for(var f,c=[],a=0;256>a;a++){f=a;for(var b=0;8>b;b++)f=f&1?3988292384^f>>>1:f>>>1;c[a]=f}return c};k.Utils.crc32=function(f){for(var c=k.Utils.crcTable||(k.Utils.crcTable=k.Utils.makeCRCTable()),a=-1,b=0;b<f.byteLength;b++)a=a>>>8^c[(a^f.getUint8(b))&255];return(a^-1)>>>0};"undefined"!==typeof p&&p.exports&&(p.exports=k.Utils)},function(p,e,m){function k(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+
+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function f(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}m.d(e,"a",function(){return n});var c=m(13),a=m(3),b=function g(a,b,c){null===a&&(a=Function.prototype);var h=Object.getOwnPropertyDescriptor(a,b);if(void 0===h){if(a=Object.getPrototypeOf(a),null!==a)return g(a,b,c)}else{if("value"in
+h)return h.value;b=h.get;return void 0===b?void 0:b.call(c)}},d=function(){function a(a,b){for(var c=0;c<b.length;c++){var h=b[c];h.enumerable=h.enumerable||!1;h.configurable=!0;"value"in h&&(h.writable=!0);Object.defineProperty(a,h.key,h)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),n=function(g){function n(){f(this,n);var a=(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
+return!a||"object"!==typeof a&&"function"!==typeof a?this:a}k(n,g);d(n,[{key:"get",value:function(c,d){"string"!==typeof c&&(c=Object(a.e)(c));return b(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"get",this).call(this,c,d)}},{key:"getUncounted",value:function(a,b){return this.get(a,function(){return new c.b(b())}).value}}]);return n}(function(){function a(){f(this,a);this.map=new Map}d(a,[{key:"get",value:function(a,b){var c=this.map,h=c.get(a);void 0===h?(h=b(),h.registerDisposer(function(){c.delete(a)}),
+c.set(a,h)):h.addRef();return h}}]);return a}())},function(p,e,m){m(4);m(58);m(59);m(33);var k=m(60),f=m(61);m(62);var c=m(34);m(35);m.d(e,"a",function(){return k});m.d(e,"b",function(){return f});m.d(e,"c",function(){return c})},function(p,e,m){e.a=function(){var f=new k.a(9);f[0]=1;f[1]=0;f[2]=0;f[3]=0;f[4]=1;f[5]=0;f[6]=0;f[7]=0;f[8]=1;return f};var k=m(4)},function(p,e,m){function k(){var a=new w.a(3);a[0]=0;a[1]=0;a[2]=0;return a}function f(a){var b=a[0],c=a[1];a=a[2];return Math.sqrt(b*b+c*
+c+a*a)}function c(a,b,c){var h=new w.a(3);h[0]=a;h[1]=b;h[2]=c;return h}function a(a,b,c){a[0]=b[0]-c[0];a[1]=b[1]-c[1];a[2]=b[2]-c[2];return a}function b(a,b,c){a[0]=b[0]*c[0];a[1]=b[1]*c[1];a[2]=b[2]*c[2];return a}function d(a,b,c){a[0]=b[0]/c[0];a[1]=b[1]/c[1];a[2]=b[2]/c[2];return a}function n(a,b){var c=b[0]-a[0],h=b[1]-a[1];a=b[2]-a[2];return Math.sqrt(c*c+h*h+a*a)}function l(a,b){var c=b[0]-a[0],h=b[1]-a[1];a=b[2]-a[2];return c*c+h*h+a*a}function g(a){var b=a[0],c=a[1];a=a[2];return b*b+c*
+c+a*a}function r(a,b){var c=b[0],h=b[1],d=b[2];c=c*c+h*h+d*d;0<c&&(c=1/Math.sqrt(c),a[0]=b[0]*c,a[1]=b[1]*c,a[2]=b[2]*c);return a}function C(a,b){return a[0]*b[0]+a[1]*b[1]+a[2]*b[2]}Object.defineProperty(e,"__esModule",{value:!0});e.create=k;e.clone=function(a){var b=new w.a(3);b[0]=a[0];b[1]=a[1];b[2]=a[2];return b};e.length=f;e.fromValues=c;e.copy=function(a,b){a[0]=b[0];a[1]=b[1];a[2]=b[2];return a};e.set=function(a,b,c,d){a[0]=b;a[1]=c;a[2]=d;return a};e.add=function(a,b,c){a[0]=b[0]+c[0];a[1]=
+b[1]+c[1];a[2]=b[2]+c[2];return a};e.subtract=a;e.multiply=b;e.divide=d;e.ceil=function(a,b){a[0]=Math.ceil(b[0]);a[1]=Math.ceil(b[1]);a[2]=Math.ceil(b[2]);return a};e.floor=function(a,b){a[0]=Math.floor(b[0]);a[1]=Math.floor(b[1]);a[2]=Math.floor(b[2]);return a};e.min=function(a,b,c){a[0]=Math.min(b[0],c[0]);a[1]=Math.min(b[1],c[1]);a[2]=Math.min(b[2],c[2]);return a};e.max=function(a,b,c){a[0]=Math.max(b[0],c[0]);a[1]=Math.max(b[1],c[1]);a[2]=Math.max(b[2],c[2]);return a};e.round=function(a,b){a[0]=
+Math.round(b[0]);a[1]=Math.round(b[1]);a[2]=Math.round(b[2]);return a};e.scale=function(a,b,c){a[0]=b[0]*c;a[1]=b[1]*c;a[2]=b[2]*c;return a};e.scaleAndAdd=function(a,b,c,d){a[0]=b[0]+c[0]*d;a[1]=b[1]+c[1]*d;a[2]=b[2]+c[2]*d;return a};e.distance=n;e.squaredDistance=l;e.squaredLength=g;e.negate=function(a,b){a[0]=-b[0];a[1]=-b[1];a[2]=-b[2];return a};e.inverse=function(a,b){a[0]=1/b[0];a[1]=1/b[1];a[2]=1/b[2];return a};e.normalize=r;e.dot=C;e.cross=function(a,b,c){var d=b[0],h=b[1];b=b[2];var g=c[0],
+l=c[1];c=c[2];a[0]=h*c-b*l;a[1]=b*g-d*c;a[2]=d*l-h*g;return a};e.lerp=function(a,b,c,d){var h=b[0],g=b[1];b=b[2];a[0]=h+d*(c[0]-h);a[1]=g+d*(c[1]-g);a[2]=b+d*(c[2]-b);return a};e.hermite=function(a,b,c,d,g,l){var h=l*l,n=h*(2*l-3)+1,t=h*(l-2)+l,r=h*(l-1);l=h*(3-2*l);a[0]=b[0]*n+c[0]*t+d[0]*r+g[0]*l;a[1]=b[1]*n+c[1]*t+d[1]*r+g[1]*l;a[2]=b[2]*n+c[2]*t+d[2]*r+g[2]*l;return a};e.bezier=function(a,b,c,d,g,l){var h=1-l,n=h*h,t=l*l,r=n*h;n*=3*l;h*=3*t;l*=t;a[0]=b[0]*r+c[0]*n+d[0]*h+g[0]*l;a[1]=b[1]*r+c[1]*
+n+d[1]*h+g[1]*l;a[2]=b[2]*r+c[2]*n+d[2]*h+g[2]*l;return a};e.random=function(a,b){b=b||1;var c=2*w.c()*Math.PI,d=2*w.c()-1,h=Math.sqrt(1-d*d)*b;a[0]=Math.cos(c)*h;a[1]=Math.sin(c)*h;a[2]=d*b;return a};e.transformMat4=function(a,b,c){var d=b[0],h=b[1];b=b[2];var g=c[3]*d+c[7]*h+c[11]*b+c[15];g=g||1;a[0]=(c[0]*d+c[4]*h+c[8]*b+c[12])/g;a[1]=(c[1]*d+c[5]*h+c[9]*b+c[13])/g;a[2]=(c[2]*d+c[6]*h+c[10]*b+c[14])/g;return a};e.transformMat3=function(a,b,c){var d=b[0],h=b[1];b=b[2];a[0]=d*c[0]+h*c[3]+b*c[6];
+a[1]=d*c[1]+h*c[4]+b*c[7];a[2]=d*c[2]+h*c[5]+b*c[8];return a};e.transformQuat=function(a,b,c){var d=b[0],h=b[1],g=b[2];b=c[0];var l=c[1],n=c[2];c=c[3];var t=c*d+l*g-n*h,r=c*h+n*d-b*g,f=c*g+b*h-l*d;d=-b*d-l*h-n*g;a[0]=t*c+d*-b+r*-n-f*-l;a[1]=r*c+d*-l+f*-b-t*-n;a[2]=f*c+d*-n+t*-l-r*-b;return a};e.rotateX=function(a,b,c,d){var h=[],g=[];h[0]=b[0]-c[0];h[1]=b[1]-c[1];h[2]=b[2]-c[2];g[0]=h[0];g[1]=h[1]*Math.cos(d)-h[2]*Math.sin(d);g[2]=h[1]*Math.sin(d)+h[2]*Math.cos(d);a[0]=g[0]+c[0];a[1]=g[1]+c[1];a[2]=
+g[2]+c[2];return a};e.rotateY=function(a,b,c,d){var h=[],g=[];h[0]=b[0]-c[0];h[1]=b[1]-c[1];h[2]=b[2]-c[2];g[0]=h[2]*Math.sin(d)+h[0]*Math.cos(d);g[1]=h[1];g[2]=h[2]*Math.cos(d)-h[0]*Math.sin(d);a[0]=g[0]+c[0];a[1]=g[1]+c[1];a[2]=g[2]+c[2];return a};e.rotateZ=function(a,b,c,d){var h=[],g=[];h[0]=b[0]-c[0];h[1]=b[1]-c[1];h[2]=b[2]-c[2];g[0]=h[0]*Math.cos(d)-h[1]*Math.sin(d);g[1]=h[0]*Math.sin(d)+h[1]*Math.cos(d);g[2]=h[2];a[0]=g[0]+c[0];a[1]=g[1]+c[1];a[2]=g[2]+c[2];return a};e.angle=function(a,b){a=
+c(a[0],a[1],a[2]);b=c(b[0],b[1],b[2]);r(a,a);r(b,b);b=C(a,b);return 1<b?0:-1>b?Math.PI:Math.acos(b)};e.str=function(a){return"vec3("+a[0]+", "+a[1]+", "+a[2]+")"};e.exactEquals=function(a,b){return a[0]===b[0]&&a[1]===b[1]&&a[2]===b[2]};e.equals=function(a,b){var c=a[0],d=a[1];a=a[2];var h=b[0],g=b[1];b=b[2];return Math.abs(c-h)<=w.b*Math.max(1,Math.abs(c),Math.abs(h))&&Math.abs(d-g)<=w.b*Math.max(1,Math.abs(d),Math.abs(g))&&Math.abs(a-b)<=w.b*Math.max(1,Math.abs(a),Math.abs(b))};var w=m(4);e.sub=
+a;e.mul=b;e.div=d;e.dist=n;e.sqrDist=l;e.len=f;e.sqrLen=g;p=function(){var a=k();return function(b,c,d,g,h,l){c||(c=3);d||(d=0);for(g=g?Math.min(g*c+d,b.length):b.length;d<g;d+=c)a[0]=b[d],a[1]=b[d+1],a[2]=b[d+2],h(a,a,l),b[d]=a[0],b[d+1]=a[1],b[d+2]=a[2];return b}}();e.forEach=p},function(p,e,m){function k(){var c=new f.a(4);c[0]=0;c[1]=0;c[2]=0;c[3]=0;return c}e.b=function(c){var a=new f.a(4);a[0]=c[0];a[1]=c[1];a[2]=c[2];a[3]=c[3];return a};e.g=function(c,a,b,d){var n=new f.a(4);n[0]=c;n[1]=a;
+n[2]=b;n[3]=d;return n};e.c=function(c,a){c[0]=a[0];c[1]=a[1];c[2]=a[2];c[3]=a[3];return c};e.l=function(c,a,b,d,n){c[0]=a;c[1]=b;c[2]=d;c[3]=n;return c};e.a=function(c,a,b){c[0]=a[0]+b[0];c[1]=a[1]+b[1];c[2]=a[2]+b[2];c[3]=a[3]+b[3];return c};e.k=function(c,a,b){c[0]=a[0]*b;c[1]=a[1]*b;c[2]=a[2]*b;c[3]=a[3]*b;return c};e.h=function(c){var a=c[0],b=c[1],d=c[2];c=c[3];return Math.sqrt(a*a+b*b+d*d+c*c)};e.m=function(c){var a=c[0],b=c[1],d=c[2];c=c[3];return a*a+b*b+d*d+c*c};e.j=function(c,a){var b=
+a[0],d=a[1],n=a[2];a=a[3];var l=b*b+d*d+n*n+a*a;0<l&&(l=1/Math.sqrt(l),c[0]=b*l,c[1]=d*l,c[2]=n*l,c[3]=a*l);return c};e.d=function(c,a){return c[0]*a[0]+c[1]*a[1]+c[2]*a[2]+c[3]*a[3]};e.i=function(c,a,b,d){var n=a[0],l=a[1],g=a[2];a=a[3];c[0]=n+d*(b[0]-n);c[1]=l+d*(b[1]-l);c[2]=g+d*(b[2]-g);c[3]=a+d*(b[3]-a);return c};e.f=function(c,a){return c[0]===a[0]&&c[1]===a[1]&&c[2]===a[2]&&c[3]===a[3]};e.e=function(c,a){var b=c[0],d=c[1],n=c[2];c=c[3];var l=a[0],g=a[1],r=a[2];a=a[3];return Math.abs(b-l)<=
+f.b*Math.max(1,Math.abs(b),Math.abs(l))&&Math.abs(d-g)<=f.b*Math.max(1,Math.abs(d),Math.abs(g))&&Math.abs(n-r)<=f.b*Math.max(1,Math.abs(n),Math.abs(r))&&Math.abs(c-a)<=f.b*Math.max(1,Math.abs(c),Math.abs(a))};var f=m(4);(function(){var c=k();return function(a,b,d,n,l,g){b||(b=4);d||(d=0);for(n=n?Math.min(n*b+d,a.length):a.length;d<n;d+=b)c[0]=a[d],c[1]=a[d+1],c[2]=a[d+2],c[3]=a[d+3],l(c,c,g),a[d]=c[0],a[d+1]=c[1],a[d+2]=c[2],a[d+3]=c[3];return a}})()},function(p,e){p.exports=function(e){var k=typeof e;
+return null!=e&&("object"==k||"function"==k)}},function(p,e,m){e=m(71);m="object"==typeof self&&self&&self.Object===Object&&self;e=e||m||Function("return this")();p.exports=e},function(p,e,m){e=m(37).Symbol;p.exports=e},function(p,e,m){function k(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function f(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function c(a,
+b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}Object.defineProperty(e,"__esModule",{value:!0});m.d(e,"PerspectiveViewState",function(){return b});m.d(e,"PerspectiveViewRenderLayer",function(){return d});p=m(79);var a=m(24);m=m(0);e=this&&this.__decorate||
+function(a,b,c,d){var g=arguments.length,l=3>g?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d,h;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)l=Reflect.decorate(a,b,c,d);else for(var n=a.length-1;0<=n;n--)if(h=a[n])l=(3>g?h(l):3<g?h(b,c,l):h(b,c))||l;return 3<g&&l&&Object.defineProperty(b,c,l),l};var b=function(a){function b(a){for(var c=[],d=0;d<arguments.length;++d)c[d-0]=arguments[d];k(this,b);var g;d=f(this,(g=b.__proto__||Object.getPrototypeOf(b)).call.apply(g,[].concat([this],
+$jscomp.arrayFromIterable(c))));d.visibility=c[0].get(c[1].visibility);return d}c(b,a);return b}(m.c);b=e([Object(m.g)(p.c)],b);var d=function(b){function d(){k(this,d);var b=f(this,(d.__proto__||Object.getPrototypeOf(d)).apply(this,arguments));b.viewStates=new a.a;return b}c(d,b);return d}(m.c);Object(m.f)(p.a,function(a){var b=this.get(a.view);this.get(a.layer).viewStates.add(b)});Object(m.f)(p.b,function(a){var b=this.get(a.view);this.get(a.layer).viewStates.delete(b)})},function(p,e,m){function k(a,
+b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function f(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function c(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?
+Object.setPrototypeOf(a,b):a.__proto__=b)}function a(a){return function(a){function b(){k(this,b);return f(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}c(b,a);B(b,[{key:"serialize",value:function(a,c){I(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"serialize",this).call(this,a,c);this.data.serialize(a,c);this.data=void 0}},{key:"downloadSucceeded",value:function(){this.systemMemoryBytes=this.gpuMemoryBytes=this.data.numBytes;I(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),
+"downloadSucceeded",this).call(this)}},{key:"freeSystemMemory",value:function(){this.data=void 0}}]);return b}(a)}Object.defineProperty(e,"__esModule",{value:!0});m.d(e,"AnnotationMetadataChunk",function(){return u});m.d(e,"AnnotationGeometryData",function(){return x});m.d(e,"AnnotationGeometryChunk",function(){return J});m.d(e,"AnnotationSubsetGeometryChunk",function(){return v});m.d(e,"AnnotationSource",function(){return t});var b=m(41),d=m(81);p=m(2);var n=m(7),l=m(39),g=m(21),r=m(19),C=m(24),
+w=m(1),h=m(10);m=m(0);var B=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),I=function H(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return H(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:
+b.call(c)}};e=this&&this.__decorate||function(a,b,c,d){var q=arguments.length,g=3>q?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d,h;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)g=Reflect.decorate(a,b,c,d);else for(var l=a.length-1;0<=l;l--)if(h=a[l])g=(3>q?h(g):3<q?h(b,c,g):h(b,c))||g;return 3<q&&g&&Object.defineProperty(b,c,g),g};var u=function(a){function b(){k(this,b);return f(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}c(b,a);B(b,[{key:"freeSystemMemory",
+value:function(){this.annotation=void 0}},{key:"serialize",value:function(a,c){I(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"serialize",this).call(this,a,c);a.annotation=this.annotation}},{key:"downloadSucceeded",value:function(){this.systemMemoryBytes=this.gpuMemoryBytes=0;I(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"downloadSucceeded",this).call(this)}}]);return b}(p.Chunk),x=function(){function a(){k(this,a)}B(a,[{key:"serialize",value:function(a,b){a.data=this.data;
+a.typeToOffset=this.typeToOffset;a.typeToIds=this.typeToIds;a.segmentList=this.segmentList;a.segmentListIndex=this.segmentListIndex;b.push(this.data.buffer,this.segmentList.buffer,this.segmentListIndex.buffer)}},{key:"numBytes",get:function(){return this.data.byteLength}}]);return a}(),J=function(a){function b(){k(this,b);return f(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}c(b,a);return b}(a(r.SliceViewChunk)),v=function(a){function b(){k(this,b);return f(this,(b.__proto__||
+Object.getPrototypeOf(b)).apply(this,arguments))}c(b,a);return b}(a(p.Chunk)),A=function(a){function b(){k(this,b);var a=f(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments));a.parent=void 0;return a}c(b,a);B(b,[{key:"getChunk",value:function(a){var b=this.chunks.get(a);void 0===b&&(b=this.getNewChunk_(u),b.initialize(a),this.addChunk(b));return b}},{key:"download",value:function(a,b){return this.parent.downloadMetadata(a,b)}}]);return b}(p.ChunkSource);A=e([Object(m.g)(d.d)],A);r=
+function(a){function b(a,c){k(this,b);a=f(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a,c));a.parent=void 0;a.spec=new d.k(c.spec);return a}c(b,a);B(b,[{key:"download",value:function(a,b){return this.parent.downloadGeometry(a,b)}}]);return b}(r.SliceViewChunkSource);r=e([Object(m.g)(d.c)],r);r.prototype.chunkConstructor=J;r=function(a){function b(a,c){k(this,b);a=f(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a,c));a.parent=void 0;return a}c(b,a);B(b,[{key:"getChunk",value:function(a){var b=
+Object(g.b)(a),c=this.chunks.get(b);void 0===c&&(c=this.getNewChunk_(v),c.initialize(b),c.objectId=a.clone(),this.addChunk(c));return c}},{key:"download",value:function(a,b){return this.parent.downloadSegmentFilteredGeometry(a,b)}}]);return b}(p.ChunkSource);r=e([Object(m.g)(d.j)],r);var t=function(a){function b(a,c){k(this,b);var d=f(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a,c));d.references=new Set;var q=d.chunkManager=a.get(c.chunkManager),g=d.metadataChunkSource=d.registerDisposer(a.getRef(c.metadataChunkSource));
+d.sources=c.sources.map(function(b){return b.map(function(b){b=d.registerDisposer(a.getRef(b));b.parent=d;return b})});d.segmentFilteredSource=d.registerDisposer(a.getRef(c.segmentFilteredSource));d.segmentFilteredSource.parent=d;g.parent=d;d.registerDisposer(q.recomputeChunkPriorities.add(function(){return d.recomputeChunkPriorities()}));return d}c(b,a);B(b,[{key:"recomputeChunkPriorities",value:function(){for(var a=this.chunkManager,b=this.metadataChunkSource,c=$jscomp.makeIterator(this.references),
+d=c.next();!d.done;d=c.next())a.requestChunk(b.getChunk(d.value),n.d.VISIBLE,200)}},{key:"add",value:function(a){a;throw Error("Not implemented");}},{key:"delete",value:function(a){a;throw Error("Not implemented");}},{key:"update",value:function(a,b){a;b;throw Error("Not implemented");}}]);return b}(m.c);Object(m.f)(d.f,function(a){var b=this.get(a.id);b.references.add(a.annotation);b.chunkManager.scheduleUpdateChunkPriorities()});Object(m.f)(d.g,function(a){var b=this.get(a.id);b.references.delete(a.annotation);
+b.chunkManager.scheduleUpdateChunkPriorities()});Object(m.f)(d.b,function(a){var c=this,g=this.get(a.id),h=a.annotationId,l=Object(b.c)(a.newAnnotation);(void 0===h?g.add(l).then(function(a){return Object.assign({},l,{id:a})}):null===l?g.delete(h).then(function(){return null}):g.update(h,l).then(function(){return l})).then(function(a){g.wasDisposed||c.invoke(d.a,{id:g.rpcId,annotationId:h||l.id,newAnnotation:a})},function(a){g.wasDisposed||c.invoke(d.a,{id:g.rpcId,annotationId:h,error:a.message})})});
+l=function(a){function b(a,c){k(this,b);var d=f(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a,c));d.source=a.get(c.source);d.filterBySegmentation=a.get(c.filterBySegmentation);d.viewStates.changed.add(function(){return d.source.chunkManager.scheduleUpdateChunkPriorities()});d.filterBySegmentation.changed.add(function(){return d.source.chunkManager.scheduleUpdateChunkPriorities()});d.registerDisposer(d.source.chunkManager.recomputeChunkPriorities.add(function(){return d.recomputeChunkPriorities()}));
+return d}c(b,a);B(b,[{key:"recomputeChunkPriorities",value:function(){var a=this.source;if(!this.filterBySegmentation.value)for(var b=$jscomp.makeIterator(this.viewStates),c=b.next();!c.done;c=b.next()){var d=c.value.visibility.value;if(d!==Number.NEGATIVE_INFINITY){c=Object(h.b)(d);d=Object(h.a)(d);for(var g=$jscomp.makeIterator(a.sources),q=g.next();!q.done;q=g.next()){q=$jscomp.makeIterator(q.value);for(var l=q.next();!l.done;l=q.next())l=l.value.getChunk(w.g),a.chunkManager.requestChunk(l,c,d)}}}}}]);
+return b}(l.PerspectiveViewRenderLayer);l=e([Object(m.g)(d.e)],l);l;p=function(a){function b(a,c){k(this,b);var d=f(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a,c));d.segmentationState=new C.b(void 0);d.source=a.get(c.source);d.segmentationState.value=d.getSegmentationState(c.segmentationState);var g=function(){return d.chunkManager.scheduleUpdateChunkPriorities()};d.registerDisposer(Object(C.c)(d.segmentationState,function(a,b){null!=b&&(a.registerDisposer(b.visibleSegments.changed.add(g)),
+a.registerDisposer(b.segmentEquivalences.changed.add(g)))}));d.registerDisposer(d.chunkManager.recomputeChunkPriorities.add(function(){return d.recomputeChunkPriorities()}));return d}c(b,a);B(b,[{key:"recomputeChunkPriorities",value:function(){var a=this.segmentationState.value;if(null!=a){var b=this.visibility.value;if(b!==Number.NEGATIVE_INFINITY){var c=Object(h.b)(b),d=Object(h.a)(b),q=this.chunkManager,l=this.source.segmentFilteredSource;Object(g.a)(a,function(a){a=l.getChunk(a);q.requestChunk(a,
+c,d+60)})}}}},{key:"getSegmentationState",value:function(a){return null==a?a:{visibleSegments:this.rpc.get(a.visibleSegments),segmentEquivalences:this.rpc.get(a.segmentEquivalences)}}}]);return b}(Object(h.c)(Object(p.withChunkManager)(m.c)));p=e([Object(m.g)(d.h)],p);p;Object(m.f)(d.i,function(a){var b=this.get(a.id);b.segmentationState.value=b.getSegmentationState(a.segmentationState)})},function(p,e,m){function k(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");
 }function f(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function c(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function a(a){var b=
-[];Object(I.a)(a,function(a){Object(I.e)(a);b.push(Object(I.g)(a.sectionId))});return b}function b(a,b,c){return Object(v.d)(Object(v.c)(b.baseUrls,"/render-ws/v1/owner/"+b.owner+"/project/"+b.project+"/"+("stack/"+b.stack+"/local-to-world-coordinates"),"PUT"),a,"json",c)}function d(a,c,d,e){var f=[];Object(I.a)(c,function(a){var b=Object(I.g)(a.pId),c=Object(I.g)(a.qId),d=Object(I.e)(a.matches);a=d.p;d=d.q;for(var e=0;e<a[0].length;e++)f.push({tileId:b,local:[a[0][e],a[1][e]]}),f.push({tileId:c,
-local:[d[0][e],d[1][e]]})});return b(f,d,e).then(function(b){for(var c=new x.a,d=0;d<b.length;d++){var e=Object(I.e)(b[d]);e=Object(I.d)(e.world);c.appendArray(e)}a.vertexPositions=c.view})}function q(a,b,c,e){if(1===b.length)b="/render-ws/v1/owner/"+c.owner+"/matchCollection/"+(c.matchCollection+"/group/"+b[0]+"/matchesWith/"+b[0]);else if(2===b.length)b="/render-ws/v1/owner/"+c.owner+"/matchCollection/"+(c.matchCollection+"/group/"+b[0]+"/matchesWith/"+b[1]);else throw Error("Invalid section Id vector of length: "+
-JSON.stringify(b.length));return Object(v.e)(Object(v.c)(c.baseUrls,b),"json",e).then(function(b){return d(a,b,c,e)})}function h(b,c,d,e){return Object(v.e)(Object(v.c)(d.baseUrls,c),"json",e).then(function(c){return q(b,a(c),d,e)})}Object.defineProperty(e,"__esModule",{value:!0});l.d(e,"TileChunkSource",function(){return B});l.d(e,"PointMatchSource",function(){return H});m=l(2);e=l(95);var k=l(16),u=l(96),p=l(13),x=l(98),n=l(1),v=l(11),I=l(5);l=l(0);var t=function(){function a(a,b){for(var c=0;c<
-b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),N=this&&this.__decorate||function(a,b,c,d){var e=arguments.length,f=3>e?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d,h;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)f=Reflect.decorate(a,b,c,d);else for(var g=a.length-1;0<=g;g--)if(h=a[g])f=(3>e?h(f):3<e?h(b,c,f):h(b,c))||
-f;return 3<e&&f&&Object.defineProperty(b,c,f),f},F=new Map;F.set("jpg",k.a);var B=function(a){function b(){g(this,b);var a=f(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments));a.chunkDecoder=F.get(a.parameters.encoding);var c=a.parameters;var d=[];void 0!==c.channel&&d.push("channels="+c.channel);void 0!==c.minIntensity&&d.push("minIntensity="+JSON.stringify(c.minIntensity));void 0!==c.maxIntensity&&d.push("maxIntensity="+JSON.stringify(c.maxIntensity));void 0!==c.maxTileSpecsToRender&&
-d.push("maxTileSpecsToRender="+JSON.stringify(c.maxTileSpecsToRender));void 0!==c.filter&&d.push("filter="+JSON.stringify(c.filter));c=d.join("&");a.queryString=c;return a}c(b,a);t(b,[{key:"download",value:function(a,b){var c=this,d=this.parameters,e=a.chunkGridPosition,f=1/Math.pow(2,d.level);a.chunkDataSize=this.spec.chunkDataSize;var h=a.chunkDataSize[0]*Math.pow(2,d.level),g=a.chunkDataSize[1]*Math.pow(2,d.level),k=n.l.create();k[0]=e[0]*h;k[1]=e[1]*g;k[2]=e[2];return Object(v.e)(Object(v.c)(d.baseUrls,
-"/render-ws/v1/owner/"+d.owner+"/project/"+d.project+"/stack/"+d.stack+"/z/"+k[2]+"/box/"+k[0]+","+k[1]+","+h+","+g+","+f+"/jpeg-image?"+this.queryString),"arraybuffer",b).then(function(b){return c.chunkDecoder(a,b)})}}]);return b}(Object(m.WithParameters)(p.a,e.b));B=N([Object(l.g)()],B);var H=function(a){function b(){g(this,b);return f(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}c(b,a);t(b,[{key:"download",value:function(a,b){var c=this.parameters,d=a.chunkGridPosition,e=
-n.l.create();e[2]=d[2];return h(a,"/render-ws/v1/owner/"+c.owner+"/project/"+c.project+"/"+("stack/"+c.stack+"/sectionData?minZ="+e[2]+"&")+("maxZ="+(e[2]+c.zoffset)),c,b)}}]);return b}(Object(m.WithParameters)(u.a,e.a));H=N([Object(l.g)()],H)},function(m,e,l){function g(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function f(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+
-typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}l.d(e,"b",function(){return a});l.d(e,"a",function(){return b});m=function(a){function b(){c(this,b);return g(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}f(b,a);return b}(function q(){c(this,q)});
-var a=function(a){function b(){c(this,b);return g(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}f(b,a);return b}(m);a.RPC_ID="render/TileChunkSource";var b=function(a){function b(){c(this,b);return g(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}f(b,a);return b}(m);b.RPC_ID="render/PointMatchSource"},function(m,e,l){function g(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function f(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
-return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function c(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}l.d(e,"a",function(){return k});m=l(22);var a=l(97),b=l(1);l=l(0);var d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=
-b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),q=function p(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return p(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};e=this&&this.__decorate||function(a,b,c,d){var e=arguments.length,f=3>e?b:
-null===d?d=Object.getOwnPropertyDescriptor(b,c):d,g;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)f=Reflect.decorate(a,b,c,d);else for(var h=a.length-1;0<=h;h--)if(g=a[h])f=(3>e?g(f):3<e?g(b,c,f):g(b,c))||f;return 3<e&&f&&Object.defineProperty(b,c,f),f};var h=function(a){function b(){g(this,b);var a=f(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));a.source=null;a.vertexPositions=null;a.vertexNormals=null;return a}c(b,a);d(b,[{key:"initializeVolumeChunk",value:function(a,
-c){q(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"initializeVolumeChunk",this).call(this,a,c);a=0;this.vertexPositions&&(a+=this.vertexPositions.buffer.byteLength);this.vertexNormals&&(a+=this.vertexNormals.buffer.byteLength);this.gpuMemoryBytes=this.systemMemoryBytes=a;this.vertexPositions=null}},{key:"serialize",value:function(a,c){q(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"serialize",this).call(this,a,c);var d=this.vertexPositions,e=this.vertexNormals;a.vertexPositions=
-d;c.push(d.buffer);e&&(a.vertexNormals=e,c.push(e.buffer));this.vertexNormals=this.vertexPositions=null}},{key:"downloadSucceeded",value:function(){this.systemMemoryBytes=this.gpuMemoryBytes=this.vertexPositions.byteLength;q(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"downloadSucceeded",this).call(this)}},{key:"freeSystemMemory",value:function(){this.vertexNormals=this.vertexPositions=null}}]);return b}(m.SliceViewChunk),k=function(e){function k(b,c){g(this,k);b=f(this,(k.__proto__||
-Object.getPrototypeOf(k)).call(this,b,c));b.spec=a.b.fromObject(c.spec);return b}c(k,e);d(k,[{key:"getChunk",value:function(a){var c=Object(b.m)(a),d=this.chunks.get(c);void 0===d&&(d=this.getNewChunk_(h),d.initializeVolumeChunk(c,a),this.addChunk(d));return d}}]);return k}(m.SliceViewChunkSource);m=function(a){function b(){g(this,b);return f(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}c(b,a);return b}(m.RenderLayer);m=e([Object(l.g)(a.a)],m)},function(m,e,l){function g(a,
-b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}l.d(e,"b",function(){return d});var f=l(9),c=l(1),a=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,
-d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),b;(function(a){a[a.LINE=0]="LINE";a[a.POINT=1]="POINT"})(b||(b={}));var d=function(b){function d(a){if(!(this instanceof d))throw new TypeError("Cannot call a class as a function");a=(d.__proto__||Object.getPrototypeOf(d)).call(this,a);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!a||"object"!==typeof a&&"function"!==typeof a?this:a}g(d,b);a(d,[{key:"toObject",value:function(){return{transform:this.chunkLayout.transform,
-chunkDataSize:this.chunkDataSize,voxelSize:this.voxelSize,lowerVoxelBound:this.lowerVoxelBound,upperVoxelBound:this.upperVoxelBound,lowerClipBound:this.lowerClipBound,upperClipBound:this.upperClipBound,baseVoxelOffset:this.baseVoxelOffset}}}],[{key:"make",value:function(a){return new d(Object.assign({},a,{transform:Object(f.f)(a.transform,a.vectorGraphicsSourceOptions)}))}},{key:"fromObject",value:function(a){return new d(a)}},{key:"withDefaults",value:function(a){var b=a.transform,e=a.lowerVoxelBound,
-g=a.upperVoxelBound,h=a.chunkDataSize;b=Object(f.f)(b,a.vectorGraphicsSourceOptions);if(void 0===h&&(h=c.l.clone(g),void 0!==e))for(g=0;3>g;g++)h[g]+=Math.abs(e[g]);console.log(h);console.log(a);return new d(Object.assign({},a,{transform:b,chunkDataSize:h}))}}]);return d}(f.d);e.a="vectorgraphics/RenderLayer"},function(m,e,l){l.d(e,"a",function(){return f});var g=function(){function c(a,b){for(var c=0;c<b.length;c++){var e=b[c];e.enumerable=e.enumerable||!1;e.configurable=!0;"value"in e&&(e.writable=
-!0);Object.defineProperty(a,e.key,e)}}return function(a,b,d){b&&c(a.prototype,b);d&&c(a,d);return a}}(),f=function(){function c(a){a=void 0===a?16:a;if(!(this instanceof c))throw new TypeError("Cannot call a class as a function");this.length=0;this.data=new Float32Array(a)}g(c,[{key:"resize",value:function(a){var b=this.data;if(a>b.length){var c=new Float32Array(Math.max(a,2*b.length));c.set(b.subarray(0,this.length));this.data=c}this.length=a}},{key:"shrinkToFit",value:function(){this.data=new Float32Array(this.view)}},
-{key:"clear",value:function(){this.length=0}},{key:"appendArray",value:function(a){var b=this.length;this.resize(b+a.length);this.data.set(a,b)}},{key:"eraseRange",value:function(a,b){this.data.copyWithin(a,b,this.length);this.length-=b-a}},{key:"view",get:function(){var a=this.data;return new Float32Array(a.buffer,a.byteOffset,this.length)}}]);return c}()},function(m,e,l){Object.defineProperty(e,"__esModule",{value:!0});l(37)},function(m,e,l){function g(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");
-}function f(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function c(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function a(a,b){return Object(d.c)(a,
-b,"fragments")}function b(a,b){var c=(new DataView(b)).getUint32(0,!0);Object(d.d)(a,b,p.b.LITTLE,4,c)}Object.defineProperty(e,"__esModule",{value:!0});l.d(e,"PrecomputedVolumeChunkSource",function(){return t});e.decodeManifestChunk=a;e.decodeFragmentChunk=b;l.d(e,"PrecomputedMeshSource",function(){return N});m=l(2);e=l(101);var d=l(19),q=l(24),h=l(16),k=l(21),u=l(13),p=l(12),x=l(11);l=l(0);var n=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=
-!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),v=this&&this.__decorate||function(a,b,c,d){var e=arguments.length,f=3>e?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d,g;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)f=Reflect.decorate(a,b,c,d);else for(var h=a.length-1;0<=h;h--)if(g=a[h])f=(3>e?g(f):3<e?g(b,c,f):g(b,c))||f;return 3<e&&f&&Object.defineProperty(b,c,f),f},I=new Map;I.set(e.b.RAW,
-k.a);I.set(e.b.JPEG,h.a);I.set(e.b.COMPRESSED_SEGMENTATION,q.a);var t=function(a){function b(){g(this,b);var a=f(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments));a.chunkDecoder=I.get(a.parameters.encoding);return a}c(b,a);n(b,[{key:"download",value:function(a,b){var c=this,d=this.parameters,e=this.computeChunkBounds(a),f=a.chunkDataSize;return Object(x.e)(Object(x.c)(d.baseUrls,d.path+"/"+e[0]+"-"+(e[0]+f[0])+"_"+(e[1]+"-"+(e[1]+f[1])+"_")+(e[2]+"-"+(e[2]+f[2]))),"arraybuffer",
-b).then(function(b){return c.chunkDecoder(a,b)})}}]);return b}(Object(m.WithParameters)(u.a,e.c));t=v([Object(l.g)()],t);var N=function(d){function e(){g(this,e);return f(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}c(e,d);n(e,[{key:"download",value:function(b,c){var d=this.parameters;return Object(x.e)(Object(x.c)(d.baseUrls,d.path+"/"+b.objectId+":"+d.lod),"json",c).then(function(c){return a(b,c)})}},{key:"downloadFragment",value:function(a,c){var d=this.parameters;return Object(x.e)(Object(x.c)(d.baseUrls,
-d.path+"/"+a.fragmentId),"arraybuffer",c).then(function(c){return b(a,c)})}}]);return e}(Object(m.WithParameters)(d.a,e.a));N=v([Object(l.g)()],N)},function(m,e,l){function g(a,c){if(!(a instanceof c))throw new TypeError("Cannot call a class as a function");}l.d(e,"b",function(){return f});l.d(e,"c",function(){return c});l.d(e,"a",function(){return a});var f;(function(a){a[a.RAW=0]="RAW";a[a.JPEG=1]="JPEG";a[a.COMPRESSED_SEGMENTATION=2]="COMPRESSED_SEGMENTATION"})(f||(f={}));var c=function d(){g(this,
-d)};c.RPC_ID="precomputed/VolumeChunkSource";var a=function q(){g(this,q)};a.RPC_ID="precomputed/MeshSource"},function(m,e,l){function g(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function f(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");
-}function c(a){Object(v.isCompressed)(a)&&(a=Object(v.decompress)(a));var b=new t;b.uncompressedData=a;a=Object(v.readHeader)(a);if(null===a)throw Error("Failed to parse NIFTI header.");b.header=a;return b}function a(a,b,d,e){return q.a.getData(a,c,b,d,e)}function b(b,c,e){return a(b,c,function(){return{priorityTier:d.d.VISIBLE,priority:1E3}},e).then(function(a){return a.header})}Object.defineProperty(e,"__esModule",{value:!0});l.d(e,"NiftiFileData",function(){return t});l.d(e,"NiftiVolumeChunkSource",
-function(){return F});m=l(2);var d=l(8),q=l(28),h=l(104),k=l(21);e=l(13);var u=l(36),p=l(12),x=l(1),n=l(0),v=l(105);l.n(v);var I=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();l=this&&this.__decorate||function(a,b,c,d){var e=arguments.length,f=3>e?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d,g;if("object"===
-typeof Reflect&&"function"===typeof Reflect.decorate)f=Reflect.decorate(a,b,c,d);else for(var h=a.length-1;0<=h;h--)if(g=a[h])f=(3>e?g(f):3<e?g(b,c,f):g(b,c))||f;return 3<e&&f&&Object.defineProperty(b,c,f),f};var t=function H(){f(this,H)},N=new Map([[h.b.INT8,{dataType:u.a.UINT8,volumeType:u.d.IMAGE}],[h.b.UINT8,{dataType:u.a.UINT8,volumeType:u.d.IMAGE}],[h.b.INT16,{dataType:u.a.UINT16,volumeType:u.d.IMAGE}],[h.b.UINT16,{dataType:u.a.UINT16,volumeType:u.d.IMAGE}],[h.b.INT32,{dataType:u.a.UINT32,volumeType:u.d.SEGMENTATION}],
-[h.b.UINT32,{dataType:u.a.UINT32,volumeType:u.d.SEGMENTATION}],[h.b.INT64,{dataType:u.a.UINT64,volumeType:u.d.SEGMENTATION}],[h.b.UINT64,{dataType:u.a.UINT64,volumeType:u.d.SEGMENTATION}],[h.b.FLOAT32,{dataType:u.a.FLOAT32,volumeType:u.d.IMAGE}]]);Object(n.e)(h.a,function(a,c){return b(this.getRef(a.chunkManager),a.url,c).then(function(a){var b=N.get(a.datatypeCode);if(void 0===b)throw Error("Unsupported data type: "+((h.b[a.datatypeCode]||a.datatypeCode)+"."));if(1!==a.dims[4])throw Error("Time series data not supported.");
-var c=1;switch(a.xyzt_units&v.NIFTI1.SPATIAL_UNITS_MASK){case v.NIFTI1.UNITS_METER:c=1E9;break;case v.NIFTI1.UNITS_MM:c=1E6;break;case v.NIFTI1.UNITS_MICRON:c=1E3}var d=a.quatern_b,e=a.quatern_c,f=a.quatern_d,g=Math.sqrt(1-d*d-e*e-f*f),k=-1===a.pixDims[0]?-1:1,l=a.description;var m=a.affine;m=x.g.fromValues(m[0][0],m[1][0],m[2][0],m[3][0],m[0][1],m[1][1],m[2][1],m[3][1],m[0][2],m[1][2],m[2][2],m[3][2],m[0][3],m[1][3],m[2][3],m[3][3]);return{value:{description:l,affine:m,dataType:b.dataType,numChannels:a.dims[5],
-volumeType:b.volumeType,voxelSize:x.l.fromValues(c*a.pixDims[1],c*a.pixDims[2],c*a.pixDims[3]),volumeSize:x.l.fromValues(a.dims[1],a.dims[2],a.dims[3]),qoffset:x.l.fromValues(c*a.qoffset_x,c*a.qoffset_y,c*a.qoffset_z),qform_code:a.qform_code,sform_code:a.sform_code,qfac:k,quatern:x.i.fromValues(d,e,f,g)}}})});var F=function(b){function c(){f(this,c);var a=(c.__proto__||Object.getPrototypeOf(c)).apply(this,arguments);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
-return!a||"object"!==typeof a&&"function"!==typeof a?this:a}g(c,b);I(c,[{key:"download",value:function(b,c){b.chunkDataSize=this.spec.chunkDataSize;return a(this.chunkManager.addRef(),this.parameters.url,function(){return{priorityTier:b.priorityTier,priority:b.priority}},c).then(function(a){var c=Object(v.readImage)(a.header,a.uncompressedData);Object(k.a)(b,c,a.header.littleEndian?p.b.LITTLE:p.b.BIG)})}}]);return c}(Object(m.WithParameters)(e.a,h.c));F=l([Object(n.g)()],F)},function(m,e,l){e.a=function(c){if(c instanceof
-Object){var a=c[g];void 0===a&&(a=c[g]=f++);return"o"+a}return""+JSON.stringify(c)};$jscomp.initSymbol();var g=Symbol("objectId"),f=0},function(m,e,l){l.d(e,"b",function(){return g});l.d(e,"c",function(){return f});e.a="nifti/getNiftiVolumeInfo";var g;(function(c){c[c.NONE=0]="NONE";c[c.BINARY=1]="BINARY";c[c.UINT8=2]="UINT8";c[c.INT16=4]="INT16";c[c.INT32=8]="INT32";c[c.FLOAT32=16]="FLOAT32";c[c.COMPLEX64=32]="COMPLEX64";c[c.FLOAT64=64]="FLOAT64";c[c.RGB24=128]="RGB24";c[c.INT8=256]="INT8";c[c.UINT16=
-512]="UINT16";c[c.UINT32=768]="UINT32";c[c.INT64=1024]="INT64";c[c.UINT64=1280]="UINT64";c[c.FLOAT128=1536]="FLOAT128";c[c.COMPLEX128=1792]="COMPLEX128";c[c.COMPLEX256=2048]="COMPLEX256"})(g||(g={}));var f=function a(){if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");};f.RPC_ID="nifti/VolumeChunkSource"},function(m,e,l){var g=g||{};g.NIFTI1=g.NIFTI1||l(43);g.NIFTI2=g.NIFTI2||l(106);g.Utils=g.Utils||l(29);var f=f||l(26);g.isNIFTI1=function(c){if(c.byteLength<g.NIFTI1.STANDARD_HEADER_SIZE)return!1;
-var a=new DataView(c);c=a.getUint8(g.NIFTI1.MAGIC_NUMBER_LOCATION);var b=a.getUint8(g.NIFTI1.MAGIC_NUMBER_LOCATION+1);a=a.getUint8(g.NIFTI1.MAGIC_NUMBER_LOCATION+2);return!(c!==g.NIFTI1.MAGIC_NUMBER[0]||b!==g.NIFTI1.MAGIC_NUMBER[1]||a!==g.NIFTI1.MAGIC_NUMBER[2])};g.isNIFTI2=function(c){if(c.byteLength<g.NIFTI1.STANDARD_HEADER_SIZE)return!1;var a=new DataView(c);c=a.getUint8(g.NIFTI2.MAGIC_NUMBER_LOCATION);var b=a.getUint8(g.NIFTI2.MAGIC_NUMBER_LOCATION+1);a=a.getUint8(g.NIFTI2.MAGIC_NUMBER_LOCATION+
-2);return!(c!==g.NIFTI2.MAGIC_NUMBER[0]||b!==g.NIFTI2.MAGIC_NUMBER[1]||a!==g.NIFTI2.MAGIC_NUMBER[2])};g.isNIFTI=function(c){return g.isNIFTI1(c)||g.isNIFTI2(c)};g.isCompressed=function(c){if(c){var a=new DataView(c);c=a.getUint8(0);a=a.getUint8(1);if(c===g.Utils.GUNZIP_MAGIC_COOKIE1||a===g.Utils.GUNZIP_MAGIC_COOKIE2)return!0}return!1};g.decompress=function(c){return f.inflate(c).buffer};g.readHeader=function(c){var a=null;g.isCompressed(c)&&(c=g.decompress(c));g.isNIFTI1(c)?a=new g.NIFTI1:g.isNIFTI2(c)&&
-(a=new g.NIFTI2);a?a.readHeader(c):console.error("That file does not appear to be NIFTI!");return a};g.hasExtension=function(c){return 0!=c.extensionFlag[0]};g.readImage=function(c,a){var b=c.vox_offset,d=1,e=1;c.dims[4]&&(d=c.dims[4]);c.dims[5]&&(e=c.dims[5]);return a.slice(b,b+c.numBitsPerVoxel/8*c.dims[2]*c.dims[3]*d*e*c.dims[1])};g.readExtension=function(c,a){var b=c.getExtensionLocation();return a.slice(b,b+c.extensionSize)};g.readExtensionData=function(c,a){var b=c.getExtensionLocation();return a.slice(b+
-8,b+c.extensionSize-8)};"undefined"!==typeof m&&m.exports&&(m.exports=g)},function(m,e,l){var g=g||{};g.Utils=g.Utils||l(29);g.NIFTI1=g.NIFTI1||l(43);g.NIFTI2=g.NIFTI2||function(){this.littleEndian=!1;this.dim_info=0;this.dims=[];this.slice_code=this.slice_end=this.slice_start=this.numBitsPerVoxel=this.datatypeCode=this.intent_code=this.intent_p3=this.intent_p2=this.intent_p1=0;this.pixDims=[];this.vox_offset=0;this.scl_slope=1;this.toffset=this.slice_duration=this.cal_min=this.cal_max=this.xyzt_units=
-this.scl_inter=0;this.intent_name=this.aux_file=this.description="";this.qoffset_z=this.qoffset_y=this.qoffset_x=this.quatern_d=this.quatern_c=this.quatern_b=this.sform_code=this.qform_code=0;this.affine=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]];this.magic=0;this.extensionFlag=[0,0,0,0]};g.NIFTI2.MAGIC_COOKIE=540;g.NIFTI2.MAGIC_NUMBER_LOCATION=4;g.NIFTI2.MAGIC_NUMBER=[110,43,50,0,13,10,26,10];g.NIFTI2.prototype.readHeader=function(e){e=new DataView(e);var c=g.Utils.getIntAt(e,0,this.littleEndian),
-a,b;c!==g.NIFTI2.MAGIC_COOKIE&&(this.littleEndian=!0,c=g.Utils.getIntAt(e,0,this.littleEndian));if(c!==g.NIFTI2.MAGIC_COOKIE)throw Error("This does not appear to be a NIFTI file!");this.datatypeCode=g.Utils.getShortAt(e,12,this.littleEndian);this.numBitsPerVoxel=g.Utils.getShortAt(e,14,this.littleEndian);for(a=0;8>a;a+=1)c=16+8*a,this.dims[a]=g.Utils.getLongAt(e,c,this.littleEndian);this.intent_p1=g.Utils.getDoubleAt(e,80,this.littleEndian);this.intent_p2=g.Utils.getDoubleAt(e,88,this.littleEndian);
-this.intent_p3=g.Utils.getDoubleAt(e,96,this.littleEndian);for(a=0;8>a;a+=1)c=104+8*a,this.pixDims[a]=g.Utils.getDoubleAt(e,c,this.littleEndian);this.vox_offset=g.Utils.getLongAt(e,168,this.littleEndian);this.scl_slope=g.Utils.getDoubleAt(e,176,this.littleEndian);this.scl_inter=g.Utils.getDoubleAt(e,184,this.littleEndian);this.cal_max=g.Utils.getDoubleAt(e,192,this.littleEndian);this.cal_min=g.Utils.getDoubleAt(e,200,this.littleEndian);this.slice_duration=g.Utils.getDoubleAt(e,208,this.littleEndian);
-this.toffset=g.Utils.getDoubleAt(e,216,this.littleEndian);this.slice_start=g.Utils.getLongAt(e,224,this.littleEndian);this.slice_end=g.Utils.getLongAt(e,232,this.littleEndian);this.description=g.Utils.getStringAt(e,240,320);this.aux_file=g.Utils.getStringAt(e,320,344);this.qform_code=g.Utils.getIntAt(e,344,this.littleEndian);this.sform_code=g.Utils.getIntAt(e,348,this.littleEndian);this.quatern_b=g.Utils.getDoubleAt(e,352,this.littleEndian);this.quatern_c=g.Utils.getDoubleAt(e,360,this.littleEndian);
-this.quatern_d=g.Utils.getDoubleAt(e,368,this.littleEndian);this.qoffset_x=g.Utils.getDoubleAt(e,376,this.littleEndian);this.qoffset_y=g.Utils.getDoubleAt(e,384,this.littleEndian);this.qoffset_z=g.Utils.getDoubleAt(e,392,this.littleEndian);for(a=0;3>a;a+=1)for(b=0;4>b;b+=1)c=400+8*(4*a+b),this.affine[a][b]=g.Utils.getDoubleAt(e,c,this.littleEndian);this.affine[3][0]=0;this.affine[3][1]=0;this.affine[3][2]=0;this.affine[3][3]=1;this.slice_code=g.Utils.getIntAt(e,496,this.littleEndian);this.xyzt_units=
-g.Utils.getIntAt(e,500,this.littleEndian);this.intent_code=g.Utils.getIntAt(e,504,this.littleEndian);this.intent_name=g.Utils.getStringAt(e,508,524);this.dim_info=g.Utils.getByteAt(e,524);e.byteLength>g.NIFTI2.MAGIC_COOKIE&&(this.extensionFlag[0]=g.Utils.getByteAt(e,540),this.extensionFlag[1]=g.Utils.getByteAt(e,541),this.extensionFlag[2]=g.Utils.getByteAt(e,542),this.extensionFlag[3]=g.Utils.getByteAt(e,543),this.extensionFlag[0]&&(this.extensionSize=this.getExtensionSize(e),this.extensionCode=this.getExtensionCode(e)))};
-g.NIFTI2.prototype.toFormattedString=function(){var e=g.Utils.formatNumber;var c=""+("Datatype = "+ +this.datatypeCode+" ("+this.getDatatypeCodeString(this.datatypeCode)+")\n");c+="Bits Per Voxel =  = "+this.numBitsPerVoxel+"\n";c+="Image Dimensions (1-8): "+this.dims[0]+", "+this.dims[1]+", "+this.dims[2]+", "+this.dims[3]+", "+this.dims[4]+", "+this.dims[5]+", "+this.dims[6]+", "+this.dims[7]+"\n";c+="Intent Parameters (1-3): "+this.intent_p1+", "+this.intent_p2+", "+this.intent_p3+"\n";c+="Voxel Dimensions (1-8): "+
-e(this.pixDims[0])+", "+e(this.pixDims[1])+", "+e(this.pixDims[2])+", "+e(this.pixDims[3])+", "+e(this.pixDims[4])+", "+e(this.pixDims[5])+", "+e(this.pixDims[6])+", "+e(this.pixDims[7])+"\n";c+="Image Offset = "+this.vox_offset+"\n";c+="Data Scale:  Slope = "+e(this.scl_slope)+"  Intercept = "+e(this.scl_inter)+"\n";c+="Display Range:  Max = "+e(this.cal_max)+"  Min = "+e(this.cal_min)+"\n";c+="Slice Duration = "+this.slice_duration+"\n";c+="Time Axis Shift = "+this.toffset+"\n";c+="Slice Start = "+
-this.slice_start+"\n";c+="Slice End = "+this.slice_end+"\n";c+='Description: "'+this.description+'"\n';c+='Auxiliary File: "'+this.aux_file+'"\n';c+="Q-Form Code = "+this.qform_code+" ("+this.getTransformCodeString(this.qform_code)+")\n";c+="S-Form Code = "+this.sform_code+" ("+this.getTransformCodeString(this.sform_code)+")\n";c+="Quaternion Parameters:  b = "+e(this.quatern_b)+"  c = "+e(this.quatern_c)+"  d = "+e(this.quatern_d)+"\n";c+="Quaternion Offsets:  x = "+this.qoffset_x+"  y = "+this.qoffset_y+
-"  z = "+this.qoffset_z+"\n";c+="S-Form Parameters X: "+e(this.affine[0][0])+", "+e(this.affine[0][1])+", "+e(this.affine[0][2])+", "+e(this.affine[0][3])+"\n";c+="S-Form Parameters Y: "+e(this.affine[1][0])+", "+e(this.affine[1][1])+", "+e(this.affine[1][2])+", "+e(this.affine[1][3])+"\n";c+="S-Form Parameters Z: "+e(this.affine[2][0])+", "+e(this.affine[2][1])+", "+e(this.affine[2][2])+", "+e(this.affine[2][3])+"\n";c+="Slice Code = "+this.slice_code+"\n";c+="Units Code = "+this.xyzt_units+" ("+
-this.getUnitsCodeString(g.NIFTI1.SPATIAL_UNITS_MASK&this.xyzt_units)+", "+this.getUnitsCodeString(g.NIFTI1.TEMPORAL_UNITS_MASK&this.xyzt_units)+")\n";c+="Intent Code = "+this.intent_code+"\n";c+='Intent Name: "'+this.intent_name+'"\n';return c+="Dim Info = "+this.dim_info+"\n"};g.NIFTI2.prototype.getExtensionLocation=function(){return g.NIFTI2.MAGIC_COOKIE+4};g.NIFTI2.prototype.getExtensionSize=g.NIFTI1.prototype.getExtensionSize;g.NIFTI2.prototype.getExtensionCode=g.NIFTI1.prototype.getExtensionCode;
-g.NIFTI2.prototype.getDatatypeCodeString=g.NIFTI1.prototype.getDatatypeCodeString;g.NIFTI2.prototype.getTransformCodeString=g.NIFTI1.prototype.getTransformCodeString;g.NIFTI2.prototype.getUnitsCodeString=g.NIFTI1.prototype.getUnitsCodeString;g.NIFTI2.prototype.getQformMat=g.NIFTI1.prototype.getQformMat;g.NIFTI2.prototype.convertNiftiQFormToNiftiSForm=g.NIFTI1.prototype.convertNiftiQFormToNiftiSForm;g.NIFTI2.prototype.convertNiftiSFormToNEMA=g.NIFTI1.prototype.convertNiftiSFormToNEMA;g.NIFTI2.prototype.nifti_mat33_mul=
-g.NIFTI1.prototype.nifti_mat33_mul;g.NIFTI2.prototype.nifti_mat33_determ=g.NIFTI1.prototype.nifti_mat33_determ;"undefined"!==typeof m&&m.exports&&(m.exports=g.NIFTI2)},function(m,e,l){function g(a){return Object(c.a)(Object(b.a)(a))}Object.defineProperty(e,"__esModule",{value:!0});var f=l(28),c=l(108);m=l(44);var a=l(10),b=l(45);Object(m.a)("vtk",{description:"VTK",getMesh:function(b,c,e,k){return f.a.getData(b.addRef(),g,c,e,k).then(function(b){var c={info:{numTriangles:b.numTriangles,numVertices:b.numVertices,
-vertexAttributes:[]},indices:b.indices,vertexPositions:b.vertexPositions,vertexAttributes:[]};b=$jscomp.makeIterator(b.vertexAttributes);for(var d=b.next();!d.done;d=b.next())d=d.value,c.info.vertexAttributes.push({name:d.name,dataType:a.b.FLOAT32,numComponents:d.numComponents}),c.vertexAttributes.push(d.data);return c})}})},function(m,e,l){e.a=function(a){var b=(new TextDecoder).decode(new Uint8Array(a.buffer,a.byteOffset,Math.min(a.byteLength,1E3))).match(g);if(null===b)throw Error("Failed to parse VTK file header.");
-var c=b[0].length,d=b[4],e=b[3];b={version:b[1],comment:b[2],datasetType:d,dataFormat:e};a=new Uint8Array(a.buffer,a.byteOffset+c,a.byteLength-c);if("ASCII"===e){e=u.get(d);if(void 0===e)throw Error("VTK dataset type "+JSON.stringify(d)+" is not supported.");return e(b,a)}throw Error("VTK data format "+JSON.stringify(e)+" is not supported.");};var g=/^[ \t]*#[ \t]+vtk[ \t]+DataFile[ \t]+Version[ \t]+([^\s]+)[ \t]*\n(.*)\n[ \t]*(ASCII|BINARY)[ \t]*\n[ \t]*DATASET[ \t]+([^ ]+)[ \t]*\n/,f=/^[ \t]*POINT_DATA[ \t]+([0-9]+)[ \t]*$/,
-c=/^[ \t]*POINTS[ \t]+([0-9]+)[ \t]+([^\s]+)[ \t]*$/,a=/^[ \t]*SCALARS[ \t]+([^\s]+)[ \t]+([^\s]+)(?:[ \t]+([0-9]+))?[ \t]*$/,b=/^[ \t]*LOOKUP_TABLE[ \t]+([^\s]+)[ \t]*$/,d=/^[ \t]*POLYGONS[ \t]+([0-9]+)[ \t]+([0-9]+)[ \t]*$/,q=/^[ \t]*3[ \t]+([0-9]+)[ \t]+([0-9]+)[ \t]+([0-9]+)[ \t]*$/,h=/^[ \t]*$/,k=function x(a,b,c,d,e,f){if(!(this instanceof x))throw new TypeError("Cannot call a class as a function");this.header=a;this.numVertices=b;this.vertexPositions=c;this.numTriangles=d;this.indices=e;this.vertexAttributes=
-f},u=new Map([["POLYDATA",function(e,g){function l(a,b,c,d){d=RegExp("^[ \t]*"+"([^s]+)[ \t]+".repeat(c-1)+"([^s]+)[ \t]*$");if(B-H<b)throw Error("VTK data ended unexpectedly while parsing "+a+".");for(var e=new Float32Array(b*c),f=0,g=0;g<b;++g){var h=x[H++],k=h.match(d);if(null===k)throw Error("Failed to parse "+a+" line "+g+": "+JSON.stringify(h)+".");for(h=0;h<c;++h)e[f++]=parseFloat(k[h+1])}return e}function m(a,b){if(void 0!==r)throw Error("POINTS specified more than once.");w=a;A=l("POINTS",
-a,3,b)}function n(a,b){if(void 0!==r)throw Error("VERTICES specified more than once.");if(B-H<a)throw Error("VTK data ended unexpectedly");if(b!==4*a)throw Error("Only triangular faces are supported.");K=a;r=new Uint32Array(3*a);for(var c=b=0;c<a;++c){var d=x[H++].match(q);if(null===d)throw Error("Failed to parse indices for face "+c);r[b++]=parseInt(d[1],10);r[b++]=parseInt(d[2],10);r[b++]=parseInt(d[3],10)}}function u(c){if(w!==c)throw Error("Number of vertices specified in POINT_DATA section ("+
-c+") "+("must match number of points ("+w+")."));for(;H<B;)if(c=x[H],c.match(h))++H;else{var d=c.match(a);if(null!==d){var e=void 0===d[3]?1:parseInt(d[3],10);++H;c=d[1];d=d[2];if(H===B)throw Error("Expected LOOKUP_TABLE directive.");var f=x[H++],g=f.match(b);if(null===g)throw Error("Expected LOOKUP_TABLE directive in "+JSON.stringify(f)+".");f=g[1];g=l("SCALARS("+c+")",w,e,d);z.push({name:c,data:g,numComponents:e,dataType:d,tableName:f})}}}for(var x=(new TextDecoder).decode(g).split("\n"),B=x.length,
-H=0,w=-1,A=void 0,K=-1,r=void 0,z=[];H<B;)if(g=x[H],g.match(h))++H;else{var G=void 0;G=g.match(c);if(null!==G)++H,m(parseInt(G[1],10),G[2]);else if(G=g.match(d),null!==G)++H,n(parseInt(G[1],10),parseInt(G[2],10));else{G=g.match(f);if(null!==G){++H;u(parseInt(G[1],10));break}throw Error("Failed to parse VTK line "+JSON.stringify(g)+".");}}if(void 0===A)throw Error("Vertex positions not specified.");if(void 0===r)throw Error("Indices not specified.");return new k(e,w,A,K,r,z)}]])},function(m,e,l){function g(a,
-b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function f(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}l.d(e,"d",function(){return c});e.c="single_mesh/SingleMeshLayer";e.a="single_mesh/getSingleMeshInfo";e.b=
-"";var c=function(a){function b(){f(this,b);var a=(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!a||"object"!==typeof a&&"function"!==typeof a?this:a}g(b,a);return b}(function b(){f(this,b)});c.RPC_ID="single_mesh/SingleMeshSource"},function(m,e,l){function g(b){b=(new TextDecoder).decode(Object(a.a)(b)).trim().split(/\n+/);if(!b)throw Error("CSV file is empty.");var d=b[0].split(","),
-e=d.map(function(a){return{name:a.trim(),dataType:c.b.FLOAT32,numComponents:1}}),f=b.length-1,g=d.length;d=d.map(function(){return new Float32Array(f)});for(var l=0;l<f;++l)for(var m=b[l+1].split(","),x=0;x<g;++x)d[x][l]=parseFloat(m[x]);return{numVertices:f,attributeInfo:e,attributes:d}}Object.defineProperty(e,"__esModule",{value:!0});var f=l(28);m=l(44);var c=l(10),a=l(45);Object(m.b)("csv",{description:"Comma separated value text file",getMeshVertexAttributes:function(a,c,e,h){return f.a.getData(a.addRef(),
-g,c,e,h)}})}])});
+x.get(a.type).toJSON(a);b.type=I[a.type].toLowerCase();b.id=a.id;b.description=a.description||void 0;a=a.segments;void 0!==a&&0<a.length&&(b.segments=a.map(function(a){return a.toString()}));return b}function b(a,b){b=void 0===b?!1:b;Object(g.i)(a);var c=Object(g.j)(a,"type",function(a){return Object(g.h)(a,I)});b={id:Object(g.j)(a,"id",b?g.k:g.l)||Object(r.a)(160),description:Object(g.j)(a,"description",g.k),segments:Object(g.j)(a,"segments",function(a){return void 0===a?void 0:Object(g.a)(a,function(a){return w.a.parseString(a)})}),
+type:c};x.get(c).restoreState(b,a);return b}function d(a,b){return a.id<b.id?-1:a.id===b.id?0:1}function n(a){for(var b=0,c=[],g=0,h=0,q=$jscomp.makeIterator(u),l=q.next();!l.done;l=q.next()){l=l.value;c[l]=b;for(var n=a[l],r=0,f=$jscomp.makeIterator(n),w=f.next();!w.done;w=f.next())w=w.value.segments,void 0!==w&&(r+=w.length);h+=n.length;g+=r;n.sort(d);n=n.length;l=x.get(l);b+=l.serializedBytes*n}var k=new Uint32Array(h+1),e=new Uint32Array(2*g);g=[];b=new ArrayBuffer(b);var C=0,m=0;h={};q=$jscomp.makeIterator(u);
+for(l=q.next();!l.done;h={serializer:h.serializer},l=q.next())l=l.value,n=a[l],g[l]=n.map(function(a){return a.id}),r=n.length,f=x.get(l),h.serializer=f.serializer(b,c[l],r),n.forEach(function(a){return function(b,c){a.serializer(b,c);k[m++]=C;b=b.segments;if(void 0!==b)for(b=$jscomp.makeIterator(b),c=b.next();!c.done;c=b.next())c=c.value,e[2*C]=c.low,e[2*C+1]=c.high,++C}}(h));return{data:new Uint8Array(b),typeToIds:g,typeToOffset:c,segmentListIndex:k,segmentList:e}}m.d(e,"b",function(){return I});
+m.d(e,"a",function(){return J});e.c=function(a){if(null==a)return a;var b=a.segments;void 0!==b&&(a.segments=b.map(function(a){return new w.a(a.low,a.high)}));return a};p=m(13);var l=m(1),g=m(3),r=m(80),C=m(8),w=m(5),h=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),B=function(a){function b(a){k(this,b);var c=
+f(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.id=a;c.changed=new C.a;return c}c(b,a);return b}(p.a),I;(function(a){a[a.POINT=0]="POINT";a[a.LINE=1]="LINE";a[a.AXIS_ALIGNED_BOUNDING_BOX=2]="AXIS_ALIGNED_BOUNDING_BOX";a[a.ELLIPSOID=3]="ELLIPSOID"})(I||(I={}));var u=[I.POINT,I.LINE,I.AXIS_ALIGNED_BOUNDING_BOX,I.ELLIPSOID],x=new Map;x.set(I.LINE,{icon:"\ua579",description:"Line",toJSON:function(a){return{pointA:Array.from(a.pointA),pointB:Array.from(a.pointB)}},restoreState:function(a,
+b){a.pointA=Object(g.j)(b,"pointA",g.g);a.pointB=Object(g.j)(b,"pointB",g.g)},serializedBytes:24,serializer:function(a,b,c){var d=new Float32Array(a,b,6*c);return function(a,b){var c=a.pointA;a=a.pointB;b*=6;d[b]=c[0];d[b+1]=c[1];d[b+2]=c[2];d[b+3]=a[0];d[b+4]=a[1];d[b+5]=a[2]}}});x.set(I.POINT,{icon:"\u26ac",description:"Point",toJSON:function(a){return{point:Array.from(a.point)}},restoreState:function(a,b){a.point=Object(g.j)(b,"point",g.g)},serializedBytes:12,serializer:function(a,b,c){var d=new Float32Array(a,
+b,3*c);return function(a,b){a=a.point;b*=3;d[b]=a[0];d[b+1]=a[1];d[b+2]=a[2]}}});x.set(I.AXIS_ALIGNED_BOUNDING_BOX,{icon:"\u2751",description:"Bounding Box",toJSON:function(a){return{pointA:Array.from(a.pointA),pointB:Array.from(a.pointB)}},restoreState:function(a,b){a.pointA=Object(g.j)(b,"pointA",g.g);a.pointB=Object(g.j)(b,"pointB",g.g)},serializedBytes:24,serializer:function(a,b,c){var d=new Float32Array(a,b,6*c);return function(a,b){var c=a.pointA;a=a.pointB;b*=6;d[b]=Math.min(c[0],a[0]);d[b+
+1]=Math.min(c[1],a[1]);d[b+2]=Math.min(c[2],a[2]);d[b+3]=Math.max(c[0],a[0]);d[b+4]=Math.max(c[1],a[1]);d[b+5]=Math.max(c[2],a[2])}}});x.set(I.ELLIPSOID,{icon:"\u25ce",description:"Ellipsoid",toJSON:function(a){return{center:Array.from(a.center),radii:Array.from(a.radii)}},restoreState:function(a,b){a.center=Object(g.j)(b,"center",g.g);a.radii=Object(g.j)(b,"radii",g.f)},serializedBytes:24,serializer:function(a,b,c){var d=new Float32Array(a,b,6*c);return function(a,b){var c=a.radii;b*=6;d.set(a.center,
+b);d.set(c,b+3)}}});(function(a){function b(){k(this,b);return f(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}c(b,a);return b})(function(d){function n(a){a=void 0===a?l.h.create():a;k(this,n);var b=f(this,(n.__proto__||Object.getPrototypeOf(n)).call(this));b.objectToLocal=a;b.annotationMap=new Map;b.changed=new C.a;b.readonly=!1;b.pending=new Set;b.references=new Map;return b}c(n,d);$jscomp.initSymbol();$jscomp.initSymbolIterator();h(n,[{key:"add",value:function(a,b){b=void 0===
+b?!0:b;if(!a.id)a.id=Object(r.a)(160);else if(this.annotationMap.has(a.id))throw Error("Annotation id already exists: "+JSON.stringify(a.id)+".");this.annotationMap.set(a.id,a);this.changed.dispatch();b||this.pending.add(a.id);return this.getReference(a.id)}},{key:"commit",value:function(a){this.pending.delete(a.id)}},{key:"update",value:function(a,b){if(null===a.value)throw Error("Annotation already deleted.");a.value=b;this.annotationMap.set(b.id,b);a.changed.dispatch();this.changed.dispatch()}},
+{key:Symbol.iterator,value:function(){return this.annotationMap.values()}},{key:"get",value:function(a){return this.annotationMap.get(a)}},{key:"delete",value:function(a){null!==a.value&&(a.value=null,this.annotationMap.delete(a.id),this.pending.delete(a.id),a.changed.dispatch(),this.changed.dispatch())}},{key:"getReference",value:function(a){var b=this,c=this.references.get(a);if(void 0!==c)return c.addRef();c=new B(a);c.value=this.annotationMap.get(a)||null;this.references.set(a,c);c.registerDisposer(function(){b.references.delete(a)});
+return c}},{key:"toJSON",value:function(){for(var b=[],c=this.pending,d=$jscomp.makeIterator(this),g=d.next();!g.done;g=d.next())g=g.value,c.has(g.id)||b.push(a(g));return b}},{key:"clear",value:function(){this.annotationMap.clear();this.pending.clear();this.changed.dispatch()}},{key:"restoreState",value:function(a){var c=this.annotationMap;c.clear();this.pending.clear();void 0!==a&&Object(g.a)(a,function(a){a=b(a);c.set(a.id,a)});a=$jscomp.makeIterator(this.references.values());for(var d=a.next();!d.done;d=
+a.next()){d=d.value;var h=c.get(d.id);d.value=h||null;d.changed.dispatch()}this.changed.dispatch()}},{key:"reset",value:function(){this.clear()}}]);return n}(p.a));var J=function(){function a(){k(this,a);this.annotations=[[],[],[],[]]}h(a,[{key:"add",value:function(a){this.annotations[a.type].push(a)}},{key:"serialize",value:function(){return n(this.annotations)}}]);return a}()},function(p,e,m){function k(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
+return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function f(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}m.d(e,"a",function(){return c});m(90);m(92);p=m(2);e=m(10);m=m(0);var c=function(a){function b(a,c){if(!(this instanceof b))throw new TypeError("Cannot call a class as a function");
+var d=k(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a,c));d.visibleSegments=a.get(c.visibleSegments);d.clipBounds=a.get(c.clipBounds);d.segmentEquivalences=a.get(c.segmentEquivalences);a=function(){d.chunkManager.scheduleUpdateChunkPriorities()};d.registerDisposer(d.visibleSegments.changed.add(a));d.registerDisposer(d.segmentEquivalences.changed.add(a));d.registerDisposer(d.clipBounds.changed.add(a));return d}f(b,a);return b}(Object(e.c)(Object(p.withChunkManager)(m.c)))},function(p,e,
+m){function k(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function f(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function c(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});
+b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}m.d(e,"a",function(){return h});e.b=function(b,c,d,g,h,l,n){Object(a.e)(b,2,c,d,g,h,l,n)};e=m(2);var a=m(17),b=m(42),d=m(21);p=m(95);var n=m(5),l=m(10);m=m(0);var g=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),r=function I(a,b,c){null===
+a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return I(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},C=this&&this.__decorate||function(a,b,c,d){var g=arguments.length,h=3>g?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d,l;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)h=Reflect.decorate(a,b,c,d);else for(var n=a.length-1;0<=n;n--)if(l=a[n])h=(3>g?l(h):3<g?
+l(b,c,h):l(b,c))||h;return 3<g&&h&&Object.defineProperty(b,c,h),h},w=function(a){function b(){k(this,b);var a=f(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));a.objectId=new n.a;a.vertexPositions=null;a.vertexAttributes=null;a.indices=null;return a}c(b,a);g(b,[{key:"initializeSkeletonChunk",value:function(a,c){r(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"initialize",this).call(this,a);this.objectId.assign(c)}},{key:"freeSystemMemory",value:function(){this.vertexPositions=
+this.indices=null}},{key:"getVertexAttributeBytes",value:function(){var a=this.vertexPositions.byteLength,b=this.vertexAttributes;null!=b&&b.forEach(function(b){a+=b.byteLength});return a}},{key:"serialize",value:function(a,c){r(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"serialize",this).call(this,a,c);var d=this.vertexPositions,g=this.indices;a.indices=g;c.push(g.buffer);g=this.vertexAttributes;if(null!=g&&0<g.length){var h=new Uint8Array(this.getVertexAttributeBytes());h.set(new Uint8Array(d.buffer,
+d.byteOffset,d.byteLength));var l=a.vertexAttributeOffsets=new Uint32Array(g.length+1);l[0]=0;var n=d.byteLength;g.forEach(function(a,b){l[b+1]=n;h.set(new Uint8Array(a.buffer,a.byteOffset,a.byteLength),n);n+=a.byteLength});c.push(h.buffer);a.vertexAttributes=h}else a.vertexAttributes=new Uint8Array(d.buffer,d.byteOffset,d.byteLength),a.vertexAttributeOffsets=Uint32Array.of(0),d.buffer!==c[0]&&c.push(d.buffer);this.vertexPositions=this.indices=this.vertexAttributes=null}},{key:"downloadSucceeded",
+value:function(){this.systemMemoryBytes=this.gpuMemoryBytes=this.indices.byteLength+this.getVertexAttributeBytes();r(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"downloadSucceeded",this).call(this)}}]);return b}(e.Chunk),h=function(a){function b(){k(this,b);return f(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}c(b,a);g(b,[{key:"getChunk",value:function(a){var b=Object(d.b)(a),c=this.chunks.get(b);void 0===c&&(c=this.getNewChunk_(w),c.initializeSkeletonChunk(b,
+a),this.addChunk(c));return c}}]);return b}(e.ChunkSource);e=function(a){function b(a,c){k(this,b);var d=f(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a,c));d.source=d.registerDisposer(a.getRef(c.source));d.registerDisposer(d.chunkManager.recomputeChunkPriorities.add(function(){d.updateChunkPriorities()}));return d}c(b,a);g(b,[{key:"updateChunkPriorities",value:function(){var a=this.visibility.value;if(a!==Number.NEGATIVE_INFINITY){var b=Object(l.b)(a),c=Object(l.a)(a),g=this.source,h=
+this.chunkManager;Object(d.a)(this,function(a){a=g.getChunk(a);h.requestChunk(a,b,c+60)})}}}]);return b}(b.a);e=C([Object(m.g)(p.a)],e)},function(p,e,m){function k(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}m.d(e,"c",function(){return n});
+m.d(e,"b",function(){return l});var f=m(9),c=m(14),a=m(1);m.d(e,"a",function(){return c.b});var b=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),d=function r(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return r(a,
+b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},n;(function(a){a[a.UNKNOWN=0]="UNKNOWN";a[a.IMAGE=1]="IMAGE";a[a.SEGMENTATION=2]="SEGMENTATION"})(n||(n={}));var l=function(l){function r(b){if(!(this instanceof r))throw new TypeError("Cannot call a class as a function");for(var d=void 0===b.lowerVoxelBound?a.g:b.lowerVoxelBound,l=b.upperVoxelBound,n=b.chunkDataSize,f=b.voxelSize,k=b.transform,e=void 0===b.baseVoxelOffset?a.g:b.baseVoxelOffset,w=void 0===b.lowerClipBound?
+a.m.multiply(a.m.create(),f,d):b.lowerClipBound,m=void 0===b.upperClipBound?a.m.multiply(a.m.create(),f,l):b.upperClipBound,t=a.m.multiply(a.m.create(),n,f),C=a.m.create(),p=a.m.create(),q=0;3>q;++q)C[q]=Math.floor(d[q]/n[q]),p[q]=Math.floor((l[q]-1)/n[q]+1);f=(r.__proto__||Object.getPrototypeOf(r)).call(this,{voxelSize:f,transform:k,lowerChunkBound:C,upperChunkBound:p,chunkSize:t});if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");f=!f||"object"!==typeof f&&
+"function"!==typeof f?this:f;f.baseVoxelOffset=e;f.lowerClipBound=w;f.upperClipBound=m;f.lowerVoxelBound=d;f.upperVoxelBound=l;f.chunkDataSize=n;d=f.dataType=b.dataType;l=f.numChannels=b.numChannels;f.chunkBytes=Object(a.i)(n)*c.a[d]*l;f.compressedSegmentationBlockSize=b.compressedSegmentationBlockSize;return f}k(r,l);b(r,[{key:"toObject",value:function(){return Object.assign({},d(r.prototype.__proto__||Object.getPrototypeOf(r.prototype),"toObject",this).call(this),{numChannels:this.numChannels,chunkDataSize:this.chunkDataSize,
+dataType:this.dataType,lowerVoxelBound:this.lowerVoxelBound,upperVoxelBound:this.upperVoxelBound,lowerClipBound:this.lowerClipBound,upperClipBound:this.upperClipBound,baseVoxelOffset:this.baseVoxelOffset,compressedSegmentationBlockSize:this.compressedSegmentationBlockSize})}}],[{key:"make",value:function(a){return new r(Object.assign({},a,{transform:Object(f.k)(a.transform,a.volumeSourceOptions)}))}},{key:"fromObject",value:function(a){return new r(a)}},{key:"withDefaultCompression",value:function(a){var b=
+a.compressedSegmentationBlockSize,d=a.dataType,l=a.voxelSize,k=a.transform,e=a.lowerVoxelBound,w=a.upperVoxelBound;k=Object(f.k)(k,a.volumeSourceOptions);void 0!==b||a.volumeType!==n.SEGMENTATION||d!==c.b.UINT32&&d!==c.b.UINT64||(b=Object(f.l)({voxelSize:l,transform:k,lowerVoxelBound:e,upperVoxelBound:w,maxVoxelsPerChunkLog2:9}));return new r(Object.assign({},a,{compressedSegmentationBlockSize:b,transform:k}))}},{key:"getDefaults",value:function(a){var b=Object.assign({},a,{transform:Object(f.k)(a.transform,
+a.volumeSourceOptions)});return(void 0===a.chunkDataSizes?Object(f.j)(b):a.chunkDataSizes).map(function(b){return r.withDefaultCompression(Object.assign({},a,{chunkDataSize:b}))})}}]);return r}(f.i)},function(p,e,m){function k(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,
+b):a.__proto__=b)}Object.defineProperty(e,"__esModule",{value:!0});m.d(e,"NDStoreVolumeChunkSource",function(){return r});p=m(2);e=m(101);var f=m(18),c=m(102),a=m(23),b=m(16),d=m(15);m=m(0);var n=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),l=this&&this.__decorate||function(a,b,c,d){var g=arguments.length,
+h=3>g?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d,l;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)h=Reflect.decorate(a,b,c,d);else for(var n=a.length-1;0<=n;n--)if(l=a[n])h=(3>g?l(h):3<g?l(b,c,h):l(b,c))||h;return 3<g&&h&&Object.defineProperty(b,c,h),h},g=new Map;g.set("npz",c.a);g.set("jpeg",f.a);g.set("raw",a.a);var r=function(a){function b(){if(!(this instanceof b))throw new TypeError("Cannot call a class as a function");var a=(b.__proto__||Object.getPrototypeOf(b)).apply(this,
+arguments);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");a=!a||"object"!==typeof a&&"function"!==typeof a?this:a;a.chunkDecoder=g.get(a.parameters.encoding);return a}k(b,a);n(b,[{key:"download",value:function(a,b){for(var c=this,g=this.parameters,h=g.urlPrefix+"/"+g.key+"/"+g.channel+"/"+(g.encoding+"/"+g.resolution),l=this.computeChunkBounds(a),n=a.chunkDataSize,r=0;3>r;++r)h+="/"+l[r]+","+(l[r]+n[r]);g.neariso&&(h+="/neariso/");return Object(d.e)(Object(d.c)(g.baseUrls,
+h),"arraybuffer",b).then(function(b){return c.chunkDecoder(a,b)})}}]);return b}(Object(p.WithParameters)(b.a,e.a));r=l([Object(m.g)()],r)},function(p,e,m){p.exports=function(k,f,c,a){var b=k&65535|0;k=k>>>16&65535|0;for(var d;0!==c;){d=2E3<c?2E3:c;c-=d;do b=b+f[a++]|0,k=k+b|0;while(--d);b%=65521;k%=65521}return b|k<<16|0}},function(p,e,m){var k=function(){for(var f,c=[],a=0;256>a;a++){f=a;for(var b=0;8>b;b++)f=f&1?3988292384^f>>>1:f>>>1;c[a]=f}return c}();p.exports=function(f,c,a,b){a=b+a;for(f^=
+-1;b<a;b++)f=f>>>8^k[(f^c[b])&255];return f^-1}},function(p,e,m){function k(b,n){if(65537>n&&(b.subarray&&a||!b.subarray&&c))return String.fromCharCode.apply(null,f.shrinkBuf(b,n));for(var d="",g=0;g<n;g++)d+=String.fromCharCode(b[g]);return d}var f=m(6),c=!0,a=!0;try{String.fromCharCode.apply(null,[0])}catch(d){c=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(d){a=!1}var b=new f.Buf8(256);for(p=0;256>p;p++)b[p]=252<=p?6:248<=p?5:240<=p?4:224<=p?3:192<=p?2:1;b[254]=b[254]=1;e.string2buf=
+function(a){var b,c,d=a.length,r=0;for(b=0;b<d;b++){var k=a.charCodeAt(b);if(55296===(k&64512)&&b+1<d){var e=a.charCodeAt(b+1);56320===(e&64512)&&(k=65536+(k-55296<<10)+(e-56320),b++)}r+=128>k?1:2048>k?2:65536>k?3:4}var h=new f.Buf8(r);for(b=c=0;c<r;b++)k=a.charCodeAt(b),55296===(k&64512)&&b+1<d&&(e=a.charCodeAt(b+1),56320===(e&64512)&&(k=65536+(k-55296<<10)+(e-56320),b++)),128>k?h[c++]=k:(2048>k?h[c++]=192|k>>>6:(65536>k?h[c++]=224|k>>>12:(h[c++]=240|k>>>18,h[c++]=128|k>>>12&63),h[c++]=128|k>>>6&
+63),h[c++]=128|k&63);return h};e.buf2binstring=function(a){return k(a,a.length)};e.binstring2buf=function(a){for(var b=new f.Buf8(a.length),c=0,d=b.length;c<d;c++)b[c]=a.charCodeAt(c);return b};e.buf2string=function(a,c){var d,g=c||a.length,n=Array(2*g);for(c=d=0;c<g;){var f=a[c++];if(128>f)n[d++]=f;else{var e=b[f];if(4<e)n[d++]=65533,c+=e-1;else{for(f&=2===e?31:3===e?15:7;1<e&&c<g;)f=f<<6|a[c++]&63,e--;1<e?n[d++]=65533:65536>f?n[d++]=f:(f-=65536,n[d++]=55296|f>>10&1023,n[d++]=56320|f&1023)}}}return k(n,
+d)};e.utf8border=function(a,c){var d;c=c||a.length;c>a.length&&(c=a.length);for(d=c-1;0<=d&&128===(a[d]&192);)d--;return 0>d||0===d?c:d+b[a[d]]>c?d:c}},function(p,e,m){p.exports=function(){this.input=null;this.total_in=this.avail_in=this.next_in=0;this.output=null;this.total_out=this.avail_out=this.next_out=0;this.msg="";this.state=null;this.data_type=2;this.adler=0}},function(p,e,m){p.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,
+Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},function(p,e,m){var k=k||{};k.Utils=k.Utils||m(30);k.NIFTI1=k.NIFTI1||function(){this.littleEndian=!1;this.dim_info=0;this.dims=[];this.slice_code=this.slice_end=this.slice_start=this.numBitsPerVoxel=this.datatypeCode=this.intent_code=
+this.intent_p3=this.intent_p2=this.intent_p1=0;this.pixDims=[];this.vox_offset=0;this.scl_slope=1;this.toffset=this.slice_duration=this.cal_min=this.cal_max=this.xyzt_units=this.scl_inter=0;this.intent_name=this.aux_file=this.description="";this.qoffset_z=this.qoffset_y=this.qoffset_x=this.quatern_d=this.quatern_c=this.quatern_b=this.sform_code=this.qform_code=0;this.affine=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]];this.magic=0;this.isHDR=!1;this.extensionFlag=[0,0,0,0];this.extensionCode=this.extensionSize=
+0};k.NIFTI1.TYPE_NONE=0;k.NIFTI1.TYPE_BINARY=1;k.NIFTI1.TYPE_UINT8=2;k.NIFTI1.TYPE_INT16=4;k.NIFTI1.TYPE_INT32=8;k.NIFTI1.TYPE_FLOAT32=16;k.NIFTI1.TYPE_COMPLEX64=32;k.NIFTI1.TYPE_FLOAT64=64;k.NIFTI1.TYPE_RGB24=128;k.NIFTI1.TYPE_INT8=256;k.NIFTI1.TYPE_UINT16=512;k.NIFTI1.TYPE_UINT32=768;k.NIFTI1.TYPE_INT64=1024;k.NIFTI1.TYPE_UINT64=1280;k.NIFTI1.TYPE_FLOAT128=1536;k.NIFTI1.TYPE_COMPLEX128=1792;k.NIFTI1.TYPE_COMPLEX256=2048;k.NIFTI1.XFORM_UNKNOWN=0;k.NIFTI1.XFORM_SCANNER_ANAT=1;k.NIFTI1.XFORM_ALIGNED_ANAT=
+2;k.NIFTI1.XFORM_TALAIRACH=3;k.NIFTI1.XFORM_MNI_152=4;k.NIFTI1.SPATIAL_UNITS_MASK=7;k.NIFTI1.TEMPORAL_UNITS_MASK=56;k.NIFTI1.UNITS_UNKNOWN=0;k.NIFTI1.UNITS_METER=1;k.NIFTI1.UNITS_MM=2;k.NIFTI1.UNITS_MICRON=3;k.NIFTI1.UNITS_SEC=8;k.NIFTI1.UNITS_MSEC=16;k.NIFTI1.UNITS_USEC=24;k.NIFTI1.UNITS_HZ=32;k.NIFTI1.UNITS_PPM=40;k.NIFTI1.UNITS_RADS=48;k.NIFTI1.MAGIC_COOKIE=348;k.NIFTI1.STANDARD_HEADER_SIZE=348;k.NIFTI1.MAGIC_NUMBER_LOCATION=344;k.NIFTI1.MAGIC_NUMBER=[110,43,49];k.NIFTI1.MAGIC_NUMBER2=[110,105,
+49];k.NIFTI1.EXTENSION_HEADER_SIZE=8;k.NIFTI1.prototype.readHeader=function(f){f=new DataView(f);var c=k.Utils.getIntAt(f,0,this.littleEndian),a,b;c!==k.NIFTI1.MAGIC_COOKIE&&(this.littleEndian=!0,c=k.Utils.getIntAt(f,0,this.littleEndian));if(c!==k.NIFTI1.MAGIC_COOKIE)throw Error("This does not appear to be a NIFTI file!");this.dim_info=k.Utils.getByteAt(f,39);for(a=0;8>a;a+=1)c=40+2*a,this.dims[a]=k.Utils.getShortAt(f,c,this.littleEndian);this.intent_p1=k.Utils.getFloatAt(f,56,this.littleEndian);
+this.intent_p2=k.Utils.getFloatAt(f,60,this.littleEndian);this.intent_p3=k.Utils.getFloatAt(f,64,this.littleEndian);this.intent_code=k.Utils.getShortAt(f,68,this.littleEndian);this.datatypeCode=k.Utils.getShortAt(f,70,this.littleEndian);this.numBitsPerVoxel=k.Utils.getShortAt(f,72,this.littleEndian);this.slice_start=k.Utils.getShortAt(f,74,this.littleEndian);for(a=0;8>a;a+=1)c=76+4*a,this.pixDims[a]=k.Utils.getFloatAt(f,c,this.littleEndian);this.vox_offset=k.Utils.getFloatAt(f,108,this.littleEndian);
+this.scl_slope=k.Utils.getFloatAt(f,112,this.littleEndian);this.scl_inter=k.Utils.getFloatAt(f,116,this.littleEndian);this.slice_end=k.Utils.getShortAt(f,120,this.littleEndian);this.slice_code=k.Utils.getByteAt(f,122);this.xyzt_units=k.Utils.getByteAt(f,123);this.cal_max=k.Utils.getFloatAt(f,124,this.littleEndian);this.cal_min=k.Utils.getFloatAt(f,128,this.littleEndian);this.slice_duration=k.Utils.getFloatAt(f,132,this.littleEndian);this.toffset=k.Utils.getFloatAt(f,136,this.littleEndian);this.description=
+k.Utils.getStringAt(f,148,228);this.aux_file=k.Utils.getStringAt(f,228,252);this.qform_code=k.Utils.getShortAt(f,252,this.littleEndian);this.sform_code=k.Utils.getShortAt(f,254,this.littleEndian);this.quatern_b=k.Utils.getFloatAt(f,256,this.littleEndian);this.quatern_c=k.Utils.getFloatAt(f,260,this.littleEndian);this.quatern_d=k.Utils.getFloatAt(f,264,this.littleEndian);this.qoffset_x=k.Utils.getFloatAt(f,268,this.littleEndian);this.qoffset_y=k.Utils.getFloatAt(f,272,this.littleEndian);this.qoffset_z=
+k.Utils.getFloatAt(f,276,this.littleEndian);for(a=0;3>a;a+=1)for(b=0;4>b;b+=1)c=280+4*(4*a+b),this.affine[a][b]=k.Utils.getFloatAt(f,c,this.littleEndian);this.affine[3][0]=0;this.affine[3][1]=0;this.affine[3][2]=0;this.affine[3][3]=1;this.intent_name=k.Utils.getStringAt(f,328,344);this.magic=k.Utils.getStringAt(f,344,348);this.isHDR=this.magic===k.NIFTI1.MAGIC_NUMBER2;f.byteLength>k.NIFTI1.MAGIC_COOKIE&&(this.extensionFlag[0]=k.Utils.getByteAt(f,348),this.extensionFlag[1]=k.Utils.getByteAt(f,349),
+this.extensionFlag[2]=k.Utils.getByteAt(f,350),this.extensionFlag[3]=k.Utils.getByteAt(f,351),this.extensionFlag[0]&&(this.extensionSize=this.getExtensionSize(f),this.extensionCode=this.getExtensionCode(f)))};k.NIFTI1.prototype.toFormattedString=function(){var f=k.Utils.formatNumber;var c=""+("Dim Info = "+this.dim_info+"\n");c+="Image Dimensions (1-8): "+this.dims[0]+", "+this.dims[1]+", "+this.dims[2]+", "+this.dims[3]+", "+this.dims[4]+", "+this.dims[5]+", "+this.dims[6]+", "+this.dims[7]+"\n";
+c+="Intent Parameters (1-3): "+this.intent_p1+", "+this.intent_p2+", "+this.intent_p3+"\n";c+="Intent Code = "+this.intent_code+"\n";c+="Datatype = "+this.datatypeCode+" ("+this.getDatatypeCodeString(this.datatypeCode)+")\n";c+="Bits Per Voxel = "+this.numBitsPerVoxel+"\n";c+="Slice Start = "+this.slice_start+"\n";c+="Voxel Dimensions (1-8): "+f(this.pixDims[0])+", "+f(this.pixDims[1])+", "+f(this.pixDims[2])+", "+f(this.pixDims[3])+", "+f(this.pixDims[4])+", "+f(this.pixDims[5])+", "+f(this.pixDims[6])+
+", "+f(this.pixDims[7])+"\n";c+="Image Offset = "+this.vox_offset+"\n";c+="Data Scale:  Slope = "+f(this.scl_slope)+"  Intercept = "+f(this.scl_inter)+"\n";c+="Slice End = "+this.slice_end+"\n";c+="Slice Code = "+this.slice_code+"\n";c+="Units Code = "+this.xyzt_units+" ("+this.getUnitsCodeString(k.NIFTI1.SPATIAL_UNITS_MASK&this.xyzt_units)+", "+this.getUnitsCodeString(k.NIFTI1.TEMPORAL_UNITS_MASK&this.xyzt_units)+")\n";c+="Display Range:  Max = "+f(this.cal_max)+"  Min = "+f(this.cal_min)+"\n";c+=
+"Slice Duration = "+this.slice_duration+"\n";c+="Time Axis Shift = "+this.toffset+"\n";c+='Description: "'+this.description+'"\n';c+='Auxiliary File: "'+this.aux_file+'"\n';c+="Q-Form Code = "+this.qform_code+" ("+this.getTransformCodeString(this.qform_code)+")\n";c+="S-Form Code = "+this.sform_code+" ("+this.getTransformCodeString(this.sform_code)+")\n";c+="Quaternion Parameters:  b = "+f(this.quatern_b)+"  c = "+f(this.quatern_c)+"  d = "+f(this.quatern_d)+"\n";c+="Quaternion Offsets:  x = "+this.qoffset_x+
+"  y = "+this.qoffset_y+"  z = "+this.qoffset_z+"\n";c+="S-Form Parameters X: "+f(this.affine[0][0])+", "+f(this.affine[0][1])+", "+f(this.affine[0][2])+", "+f(this.affine[0][3])+"\n";c+="S-Form Parameters Y: "+f(this.affine[1][0])+", "+f(this.affine[1][1])+", "+f(this.affine[1][2])+", "+f(this.affine[1][3])+"\n";c+="S-Form Parameters Z: "+f(this.affine[2][0])+", "+f(this.affine[2][1])+", "+f(this.affine[2][2])+", "+f(this.affine[2][3])+"\n";c+='Intent Name: "'+this.intent_name+'"\n';this.extensionFlag[0]&&
+(c+="Extension: Size = "+this.extensionSize+"  Code = "+this.extensionCode+"\n");return c};k.NIFTI1.prototype.getDatatypeCodeString=function(f){return f===k.NIFTI1.TYPE_UINT8?"1-Byte Unsigned Integer":f===k.NIFTI1.TYPE_INT16?"2-Byte Signed Integer":f===k.NIFTI1.TYPE_INT32?"4-Byte Signed Integer":f===k.NIFTI1.TYPE_FLOAT32?"4-Byte Float":f===k.NIFTI1.TYPE_FLOAT64?"8-Byte Float":f===k.NIFTI1.TYPE_RGB24?"RGB":f===k.NIFTI1.TYPE_INT8?"1-Byte Signed Integer":f===k.NIFTI1.TYPE_UINT16?"2-Byte Unsigned Integer":
+f===k.NIFTI1.TYPE_UINT32?"4-Byte Unsigned Integer":f===k.NIFTI1.TYPE_INT64?"8-Byte Signed Integer":f===k.NIFTI1.TYPE_UINT64?"8-Byte Unsigned Integer":"Unknown"};k.NIFTI1.prototype.getTransformCodeString=function(f){return f===k.NIFTI1.XFORM_SCANNER_ANAT?"Scanner":f===k.NIFTI1.XFORM_ALIGNED_ANAT?"Aligned":f===k.NIFTI1.XFORM_TALAIRACH?"Talairach":f===k.NIFTI1.XFORM_MNI_152?"MNI":"Unknown"};k.NIFTI1.prototype.getUnitsCodeString=function(f){return f===k.NIFTI1.UNITS_METER?"Meters":f===k.NIFTI1.UNITS_MM?
+"Millimeters":f===k.NIFTI1.UNITS_MICRON?"Microns":f===k.NIFTI1.UNITS_SEC?"Seconds":f===k.NIFTI1.UNITS_MSEC?"Milliseconds":f===k.NIFTI1.UNITS_USEC?"Microseconds":f===k.NIFTI1.UNITS_HZ?"Hz":f===k.NIFTI1.UNITS_PPM?"PPM":f===k.NIFTI1.UNITS_RADS?"Rads":"Unknown"};k.NIFTI1.prototype.getQformMat=function(){return this.convertNiftiQFormToNiftiSForm(this.quatern_b,this.quatern_c,this.quatern_d,this.qoffset_x,this.qoffset_y,this.qoffset_z,this.pixDims[1],this.pixDims[2],this.pixDims[3],this.pixDims[0])};k.NIFTI1.prototype.convertNiftiQFormToNiftiSForm=
+function(f,c,a,b,d,n,l,g,r,k){var e=[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],h=a;e[3][0]=e[3][1]=e[3][2]=0;e[3][3]=1;a=1-(f*f+c*c+h*h);1E-7>a?(a=1/Math.sqrt(f*f+c*c+h*h),f*=a,c*=a,h*=a,a=0):a=Math.sqrt(a);l=0<l?l:1;g=0<g?g:1;r=0<r?r:1;0>k&&(r=-r);e[0][0]=(a*a+f*f-c*c-h*h)*l;e[0][1]=2*(f*c-a*h)*g;e[0][2]=2*(f*h+a*c)*r;e[1][0]=2*(f*c+a*h)*l;e[1][1]=(a*a+c*c-f*f-h*h)*g;e[1][2]=2*(c*h-a*f)*r;e[2][0]=2*(f*h-a*c)*l;e[2][1]=2*(c*h+a*f)*g;e[2][2]=(a*a+h*h-c*c-f*f)*r;e[0][3]=b;e[1][3]=d;e[2][3]=n;return e};
+k.NIFTI1.prototype.convertNiftiSFormToNEMA=function(f){var c,a,b,d;var n=[[0,0,0],[0,0,0],[0,0,0]];var l=[[0,0,0],[0,0,0],[0,0,0]];var g=f[0][0];var r=f[0][1];var e=f[0][2];var k=f[1][0];var h=f[1][1];var m=f[1][2];var p=f[2][0];var u=f[2][1];var x=f[2][2];f=Math.sqrt(g*g+k*k+p*p);if(0===f)return null;g/=f;k/=f;p/=f;f=Math.sqrt(r*r+h*h+u*u);if(0===f)return null;r/=f;h/=f;u/=f;f=g*r+k*h+p*u;if(1E-4<Math.abs(f)){r-=f*g;h-=f*k;u-=f*p;f=Math.sqrt(r*r+h*h+u*u);if(0===f)return null;r/=f;h/=f;u/=f}f=Math.sqrt(e*
+e+m*m+x*x);0===f?(e=k*u-p*h,m=p*r-u*g,x=g*h-k*r):(e/=f,m/=f,x/=f);f=g*e+k*m+p*x;if(1E-4<Math.abs(f)){e-=f*g;m-=f*k;x-=f*p;f=Math.sqrt(e*e+m*m+x*x);if(0===f)return null;e/=f;m/=f;x/=f}f=r*e+h*m+u*x;if(1E-4<Math.abs(f)){e-=f*r;m-=f*h;x-=f*u;f=Math.sqrt(e*e+m*m+x*x);if(0===f)return null;e/=f;m/=f;x/=f}n[0][0]=g;n[0][1]=r;n[0][2]=e;n[1][0]=k;n[1][1]=h;n[1][2]=m;n[2][0]=p;n[2][1]=u;n[2][2]=x;p=this.nifti_mat33_determ(n);if(0===p)return null;var J=-666;g=k=h=m=1;r=2;e=3;for(u=1;3>=u;u+=1)for(x=1;3>=x;x+=
+1)if(u!==x)for(c=1;3>=c;c+=1)if(u!==c&&x!==c)for(l[0][0]=l[0][1]=l[0][2]=l[1][0]=l[1][1]=l[1][2]=l[2][0]=l[2][1]=l[2][2]=0,a=-1;1>=a;a+=2)for(b=-1;1>=b;b+=2)for(d=-1;1>=d;d+=2)l[0][u-1]=a,l[1][x-1]=b,l[2][c-1]=d,f=this.nifti_mat33_determ(l),0<f*p&&(f=this.nifti_mat33_mul(l,n),f=f[0][0]+f[1][1]+f[2][2],f>J&&(J=f,g=u,r=x,e=c,k=a,h=b,m=d));n=l=f=p=u=x=0;switch(g*k){case 1:n="X";p="+";break;case -1:n="X";p="-";break;case 2:n="Y";p="+";break;case -2:n="Y";p="-";break;case 3:n="Z";p="+";break;case -3:n=
+"Z",p="-"}switch(r*h){case 1:l="X";u="+";break;case -1:l="X";u="-";break;case 2:l="Y";u="+";break;case -2:l="Y";u="-";break;case 3:l="Z";u="+";break;case -3:l="Z",u="-"}switch(e*m){case 1:f="X";x="+";break;case -1:f="X";x="-";break;case 2:f="Y";x="+";break;case -2:f="Y";x="-";break;case 3:f="Z";x="+";break;case -3:f="Z",x="-"}return n+l+f+p+u+x};k.NIFTI1.prototype.nifti_mat33_mul=function(f,c){var a=[[0,0,0],[0,0,0],[0,0,0]],b,d;for(b=0;3>b;b+=1)for(d=0;3>d;d+=1)a[b][d]=f[b][0]*c[0][d]+f[b][1]*c[1][d]+
+f[b][2]*c[2][d];return a};k.NIFTI1.prototype.nifti_mat33_determ=function(f){var c=f[0][0];var a=f[0][1];var b=f[0][2];var d=f[1][0];var n=f[1][1];var l=f[1][2];var g=f[2][0];var r=f[2][1];f=f[2][2];return c*n*f-c*r*l-d*a*f+d*r*b+g*a*l-g*n*b};k.NIFTI1.prototype.getExtensionLocation=function(){return k.NIFTI1.MAGIC_COOKIE+4};k.NIFTI1.prototype.getExtensionSize=function(f){return k.Utils.getIntAt(f,this.getExtensionLocation(),this.littleEndian)};k.NIFTI1.prototype.getExtensionCode=function(f){return k.Utils.getIntAt(f,
+this.getExtensionLocation()+4,this.littleEndian)};"undefined"!==typeof p&&p.exports&&(p.exports=k.NIFTI1)},function(p,e,m){function k(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function f(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function c(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+
+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function a(a,b){b=b.match(v);if(null===b||void 0===b[1])throw Error('Data source URL must have the form "<protocol>://<path>".');var c=b[1];a=a.get(c);if(void 0===a)throw Error("Unsupported data source: "+JSON.stringify(c)+".");return[a,b[2],c]}function b(b,c,d,g){var h=$jscomp.makeIterator(a(x,c));c=h.next().value;
+h=h.next().value;return c.getMesh(b,h,d,g)}function d(b,c,d,g){var h=$jscomp.makeIterator(a(J,c));c=h.next().value;h=h.next().value;return c.getMeshVertexAttributes(b,h,d,g)}function n(a){var b=Number.POSITIVE_INFINITY,c=Number.NEGATIVE_INFINITY;a=$jscomp.makeIterator(a);for(var d=a.next();!d.done;d=a.next())d=d.value,b=Math.min(b,d),c=Math.max(c,d);return[b,c]}function l(a,c,g,h){for(var q=[b(a,c.meshSourceUrl,g,h)],l=$jscomp.makeIterator(c.attributeSourceUrls),f=l.next();!f.done;f=l.next())q.push(d(a,
+f.value,g,h));return Promise.all(q).then(function(a){function b(a,b,c){for(var d=a.length,h=0;h<d;++h){var q=a[h],l=b[h],f=c,r=$jscomp.makeIterator(n(l)),e=r.next().value;r=r.next().value;g.info.vertexAttributes.push({name:q.name,source:f,numComponents:q.numComponents,dataType:q.dataType,min:e,max:r});g.vertexAttributes.push(l)}}var d=a[0],g={info:{numVertices:d.info.numVertices,numTriangles:d.info.numTriangles,vertexAttributes:[]},vertexPositions:d.vertexPositions,indices:d.indices,vertexNormals:d.vertexNormals,
+vertexAttributes:[]};b(d.info.vertexAttributes,d.vertexAttributes);c.attributeSourceUrls.forEach(function(c,g){g=a[g+1];if(g.numVertices!==d.info.numVertices)throw Error("Vertex attribute source "+JSON.stringify(c)+" specifies attributes for "+(g.numVertices+" vertices, but mesh has "+d.info.numVertices+" vertices."));b(g.attributeInfo,g.attributes,c)});return g})}e.a=function(a,b){x.set(a,b)};e.b=function(a,b){J.set(a,b)};p=m(2);var g=m(7),r=m(17),C=m(130),w=m(3),h=m(10);m=m(0);var B=function(){function a(a,
+b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),I=function z(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return z(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};e=this&&this.__decorate||function(a,
+b,c,d){var g=arguments.length,h=3>g?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d,q;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)h=Reflect.decorate(a,b,c,d);else for(var l=a.length-1;0<=l;l--)if(q=a[l])h=(3>g?q(h):3<g?q(b,c,h):q(b,c))||h;return 3<g&&h&&Object.defineProperty(b,c,h),h};var u=function(a){function b(){k(this,b);var a=f(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));a.data=null;return a}c(b,a);B(b,[{key:"freeSystemMemory",value:function(){this.data=
+null}},{key:"serialize",value:function(a,c){I(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"serialize",this).call(this,a,c);var d=this.data,g=d.vertexPositions,h=d.indices,l=d.vertexNormals;d=d.vertexAttributes;a.vertexPositions=g;a.indices=h;a.vertexNormals=l;a.vertexAttributes=d;a=new Set;a.add(g.buffer);a.add(h.buffer);a.add(l.buffer);g=$jscomp.makeIterator(d);for(h=g.next();!h.done;h=g.next())a.add(h.value.buffer);c.push.apply(c,[].concat($jscomp.arrayFromIterable(a)));this.data=
+null}},{key:"downloadSucceeded",value:function(){var a=this.data,c=a.vertexAttributes;a=this.gpuMemoryBytes=a.vertexPositions.byteLength+a.indices.byteLength+a.vertexNormals.byteLength;c=$jscomp.makeIterator(c);for(var d=c.next();!d.done;d=c.next())a+=d.value.byteLength;this.systemMemoryBytes=this.gpuMemoryBytes=a;I(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"downloadSucceeded",this).call(this)}}]);return b}(p.Chunk),x=new Map,J=new Map,v=/^(?:([a-zA-Z-+_]+):\/\/)?(.*)$/,A=function(a){function b(){k(this,
+b);return f(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}c(b,a);B(b,[{key:"getChunk",value:function(){var a=C.b,b=this.chunks.get(a);void 0===b&&(b=this.getNewChunk_(u),b.initialize(a),this.addChunk(b));return b}},{key:"download",value:function(a,b){var c=this;return l(this.chunkManager,this.parameters,function(){return{priorityTier:a.priorityTier,priority:a.priority}},b).then(function(b){if(Object(w.e)(b.info)!==Object(w.e)(c.parameters.info))throw Error("Mesh info has changed.");
+void 0===b.vertexNormals&&(b.vertexNormals=Object(r.b)(b.vertexPositions,b.indices));a.data=b})}}]);return b}(Object(p.WithParameters)(p.ChunkSource,C.d));A=e([Object(m.g)()],A);p=function(a){function b(a,c){k(this,b);var d=f(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a,c));d.source=d.registerDisposer(a.getRef(c.source));d.registerDisposer(d.chunkManager.recomputeChunkPriorities.add(function(){d.updateChunkPriorities()}));return d}c(b,a);B(b,[{key:"updateChunkPriorities",value:function(){var a=
+this.visibility.value;if(a!==Number.NEGATIVE_INFINITY){var b=Object(h.b)(a);a=Object(h.a)(a);var c=this.chunkManager,d=this.source.getChunk();c.requestChunk(d,b,a+50)}}}]);return b}(Object(h.c)(Object(p.withChunkManager)(m.c)));p=e([Object(m.g)(C.c)],p);Object(m.e)(C.a,function(a,b){var c=this.getRef(a.chunkManager);try{return l(c,a.parameters,function(){return{priorityTier:g.d.VISIBLE,priority:1E3}},b).then(function(a){return{value:a.info}})}finally{c.dispose()}})},function(p,e,m){e.a=function(f){f=
+f instanceof ArrayBuffer?new Uint8Array(f):new Uint8Array(f.buffer,f.byteOffset,f.byteLength);var c=new Uint8Array(f.buffer,f.byteOffset,f.byteLength);return 2<c.length&&31===c[0]&&139===c[1]?Object(k.inflate)(f):f};var k=m(27);m.n(k)},function(p,e,m){m(55);m(2);m(19);m(39);m(40);m(82);m(45);m(112);m(115);m(120);m(121);m(123);m(128);p.exports=m(131)},function(p,e,m){Object.defineProperty(e,"__esModule",{value:!0});m.d(e,"rpc",function(){return k});var k=new (m(0).a)(self);self.rpc=k},function(p,e,
+m){var k=function(){function f(c,a){for(var b=0;b<a.length;b++){var d=a[b];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(c,d.key,d)}}return function(c,a,b){a&&f(c.prototype,a);b&&f(c,b);return c}}();p=function(){function f(){if(!(this instanceof f))throw new TypeError("Cannot call a class as a function");}k(f,null,[{key:"insertAfter",value:function(c,a){var b=c.next0;a.next0=b;a.prev0=c;c.next0=a;b.prev0=a}},{key:"insertBefore",value:function(c,
+a){var b=c.prev0;a.prev0=b;a.next0=c;c.prev0=a;b.next0=a}},{key:"front",value:function(c){var a=c.next0;return a===c?null:a}},{key:"back",value:function(c){var a=c.prev0;return a===c?null:a}},{key:"pop",value:function(c){var a=c.next0,b=c.prev0;a.prev0=b;b.next0=a;c.next0=null;c.prev0=null;return c}},{key:"iterator",value:function(c){function a(a,g){for(;;)switch(b){case 0:d=c.next0;case 1:if(d===c){b=3;break}b=4;return{value:d,done:!1};case 4:if(void 0===g){b=5;break}b=-1;throw g;case 5:case 2:d=
+d.next0;b=1;break;case 3:b=-1;default:return{value:void 0,done:!0}}}var b=0,d,n={next:function(b){return a(b,void 0)},throw:function(b){return a(void 0,b)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();n[Symbol.iterator]=function(){return this};return n}},{key:"reverseIterator",value:function(c){function a(a,g){for(;;)switch(b){case 0:d=c.prev0;case 1:if(d===c){b=3;break}b=4;return{value:d,done:!1};case 4:if(void 0===g){b=5;break}b=-1;throw g;case 5:case 2:d=
+d.prev0;b=1;break;case 3:b=-1;default:return{value:void 0,done:!0}}}var b=0,d,n={next:function(b){return a(b,void 0)},throw:function(b){return a(void 0,b)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();n[Symbol.iterator]=function(){return this};return n}},{key:"initializeHead",value:function(c){c.next0=c.prev0=c}}]);return f}();e.a=p},function(p,e,m){var k=function(){function f(c,a){for(var b=0;b<a.length;b++){var d=a[b];d.enumerable=d.enumerable||!1;d.configurable=
+!0;"value"in d&&(d.writable=!0);Object.defineProperty(c,d.key,d)}}return function(c,a,b){a&&f(c.prototype,a);b&&f(c,b);return c}}();p=function(){function f(){if(!(this instanceof f))throw new TypeError("Cannot call a class as a function");}k(f,null,[{key:"insertAfter",value:function(c,a){var b=c.next1;a.next1=b;a.prev1=c;c.next1=a;b.prev1=a}},{key:"insertBefore",value:function(c,a){var b=c.prev1;a.prev1=b;a.next1=c;c.prev1=a;b.next1=a}},{key:"front",value:function(c){var a=c.next1;return a===c?null:
+a}},{key:"back",value:function(c){var a=c.prev1;return a===c?null:a}},{key:"pop",value:function(c){var a=c.next1,b=c.prev1;a.prev1=b;b.next1=a;c.next1=null;c.prev1=null;return c}},{key:"iterator",value:function(c){function a(a,g){for(;;)switch(b){case 0:d=c.next1;case 1:if(d===c){b=3;break}b=4;return{value:d,done:!1};case 4:if(void 0===g){b=5;break}b=-1;throw g;case 5:case 2:d=d.next1;b=1;break;case 3:b=-1;default:return{value:void 0,done:!0}}}var b=0,d,n={next:function(b){return a(b,void 0)},throw:function(b){return a(void 0,
+b)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();n[Symbol.iterator]=function(){return this};return n}},{key:"reverseIterator",value:function(c){function a(a,g){for(;;)switch(b){case 0:d=c.prev1;case 1:if(d===c){b=3;break}b=4;return{value:d,done:!1};case 4:if(void 0===g){b=5;break}b=-1;throw g;case 5:case 2:d=d.prev1;b=1;break;case 3:b=-1;default:return{value:void 0,done:!0}}}var b=0,d,n={next:function(b){return a(b,void 0)},throw:function(b){return a(void 0,
+b)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();n[Symbol.iterator]=function(){return this};return n}},{key:"initializeHead",value:function(c){c.next1=c.prev1=c}}]);return f}();e.a=p},function(p,e,m){m(4)},function(p,e,m){m(4)},function(p,e,m){function k(a,b,c){var d=b[0],l=b[1],g=b[2],f=b[3],e=b[4],k=b[5],h=b[6],m=b[7],p=b[8],u=b[9],x=b[10],J=b[11],v=b[12],A=b[13],t=b[14];b=b[15];var z=c[0],H=c[1],q=c[2],G=c[3];a[0]=z*d+H*e+q*p+G*v;a[1]=z*l+H*k+q*u+G*A;a[2]=
+z*g+H*h+q*x+G*t;a[3]=z*f+H*m+q*J+G*b;z=c[4];H=c[5];q=c[6];G=c[7];a[4]=z*d+H*e+q*p+G*v;a[5]=z*l+H*k+q*u+G*A;a[6]=z*g+H*h+q*x+G*t;a[7]=z*f+H*m+q*J+G*b;z=c[8];H=c[9];q=c[10];G=c[11];a[8]=z*d+H*e+q*p+G*v;a[9]=z*l+H*k+q*u+G*A;a[10]=z*g+H*h+q*x+G*t;a[11]=z*f+H*m+q*J+G*b;z=c[12];H=c[13];q=c[14];G=c[15];a[12]=z*d+H*e+q*p+G*v;a[13]=z*l+H*k+q*u+G*A;a[14]=z*g+H*h+q*x+G*t;a[15]=z*f+H*m+q*J+G*b;return a}function f(a,b,c){a[0]=b[0]-c[0];a[1]=b[1]-c[1];a[2]=b[2]-c[2];a[3]=b[3]-c[3];a[4]=b[4]-c[4];a[5]=b[5]-c[5];
+a[6]=b[6]-c[6];a[7]=b[7]-c[7];a[8]=b[8]-c[8];a[9]=b[9]-c[9];a[10]=b[10]-c[10];a[11]=b[11]-c[11];a[12]=b[12]-c[12];a[13]=b[13]-c[13];a[14]=b[14]-c[14];a[15]=b[15]-c[15];return a}Object.defineProperty(e,"__esModule",{value:!0});e.create=function(){var a=new c.a(16);a[0]=1;a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=1;a[6]=0;a[7]=0;a[8]=0;a[9]=0;a[10]=1;a[11]=0;a[12]=0;a[13]=0;a[14]=0;a[15]=1;return a};e.clone=function(a){var b=new c.a(16);b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];b[4]=a[4];b[5]=a[5];b[6]=a[6];b[7]=
+a[7];b[8]=a[8];b[9]=a[9];b[10]=a[10];b[11]=a[11];b[12]=a[12];b[13]=a[13];b[14]=a[14];b[15]=a[15];return b};e.copy=function(a,b){a[0]=b[0];a[1]=b[1];a[2]=b[2];a[3]=b[3];a[4]=b[4];a[5]=b[5];a[6]=b[6];a[7]=b[7];a[8]=b[8];a[9]=b[9];a[10]=b[10];a[11]=b[11];a[12]=b[12];a[13]=b[13];a[14]=b[14];a[15]=b[15];return a};e.fromValues=function(a,b,d,n,l,g,f,e,k,h,m,p,u,x,J,v){var r=new c.a(16);r[0]=a;r[1]=b;r[2]=d;r[3]=n;r[4]=l;r[5]=g;r[6]=f;r[7]=e;r[8]=k;r[9]=h;r[10]=m;r[11]=p;r[12]=u;r[13]=x;r[14]=J;r[15]=v;
+return r};e.set=function(a,b,c,n,l,g,f,e,k,h,m,p,u,x,J,v,A){a[0]=b;a[1]=c;a[2]=n;a[3]=l;a[4]=g;a[5]=f;a[6]=e;a[7]=k;a[8]=h;a[9]=m;a[10]=p;a[11]=u;a[12]=x;a[13]=J;a[14]=v;a[15]=A;return a};e.identity=function(a){a[0]=1;a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=1;a[6]=0;a[7]=0;a[8]=0;a[9]=0;a[10]=1;a[11]=0;a[12]=0;a[13]=0;a[14]=0;a[15]=1;return a};e.transpose=function(a,b){if(a===b){var c=b[1],n=b[2],l=b[3],g=b[6],f=b[7],e=b[11];a[1]=b[4];a[2]=b[8];a[3]=b[12];a[4]=c;a[6]=b[9];a[7]=b[13];a[8]=n;a[9]=g;a[11]=
+b[14];a[12]=l;a[13]=f;a[14]=e}else a[0]=b[0],a[1]=b[4],a[2]=b[8],a[3]=b[12],a[4]=b[1],a[5]=b[5],a[6]=b[9],a[7]=b[13],a[8]=b[2],a[9]=b[6],a[10]=b[10],a[11]=b[14],a[12]=b[3],a[13]=b[7],a[14]=b[11],a[15]=b[15];return a};e.invert=function(a,b){var c=b[0],n=b[1],l=b[2],g=b[3],f=b[4],e=b[5],k=b[6],h=b[7],m=b[8],p=b[9],u=b[10],x=b[11],J=b[12],v=b[13],A=b[14];b=b[15];var t=c*e-n*f,z=c*k-l*f,H=c*h-g*f,q=n*k-l*e,G=n*h-g*e,L=l*h-g*k,K=m*v-p*J,D=m*A-u*J,E=m*b-x*J,Q=p*A-u*v,N=p*b-x*v,O=u*b-x*A,F=t*O-z*N+H*Q+q*
+E-G*D+L*K;if(!F)return null;F=1/F;a[0]=(e*O-k*N+h*Q)*F;a[1]=(l*N-n*O-g*Q)*F;a[2]=(v*L-A*G+b*q)*F;a[3]=(u*G-p*L-x*q)*F;a[4]=(k*E-f*O-h*D)*F;a[5]=(c*O-l*E+g*D)*F;a[6]=(A*H-J*L-b*z)*F;a[7]=(m*L-u*H+x*z)*F;a[8]=(f*N-e*E+h*K)*F;a[9]=(n*E-c*N-g*K)*F;a[10]=(J*G-v*H+b*t)*F;a[11]=(p*H-m*G-x*t)*F;a[12]=(e*D-f*Q-k*K)*F;a[13]=(c*Q-n*D+l*K)*F;a[14]=(v*z-J*q-A*t)*F;a[15]=(m*q-p*z+u*t)*F;return a};e.adjoint=function(a,b){var c=b[0],n=b[1],l=b[2],g=b[3],f=b[4],e=b[5],k=b[6],h=b[7],m=b[8],p=b[9],u=b[10],x=b[11],J=
+b[12],v=b[13],A=b[14];b=b[15];a[0]=e*(u*b-x*A)-p*(k*b-h*A)+v*(k*x-h*u);a[1]=-(n*(u*b-x*A)-p*(l*b-g*A)+v*(l*x-g*u));a[2]=n*(k*b-h*A)-e*(l*b-g*A)+v*(l*h-g*k);a[3]=-(n*(k*x-h*u)-e*(l*x-g*u)+p*(l*h-g*k));a[4]=-(f*(u*b-x*A)-m*(k*b-h*A)+J*(k*x-h*u));a[5]=c*(u*b-x*A)-m*(l*b-g*A)+J*(l*x-g*u);a[6]=-(c*(k*b-h*A)-f*(l*b-g*A)+J*(l*h-g*k));a[7]=c*(k*x-h*u)-f*(l*x-g*u)+m*(l*h-g*k);a[8]=f*(p*b-x*v)-m*(e*b-h*v)+J*(e*x-h*p);a[9]=-(c*(p*b-x*v)-m*(n*b-g*v)+J*(n*x-g*p));a[10]=c*(e*b-h*v)-f*(n*b-g*v)+J*(n*h-g*e);a[11]=
+-(c*(e*x-h*p)-f*(n*x-g*p)+m*(n*h-g*e));a[12]=-(f*(p*A-u*v)-m*(e*A-k*v)+J*(e*u-k*p));a[13]=c*(p*A-u*v)-m*(n*A-l*v)+J*(n*u-l*p);a[14]=-(c*(e*A-k*v)-f*(n*A-l*v)+J*(n*k-l*e));a[15]=c*(e*u-k*p)-f*(n*u-l*p)+m*(n*k-l*e);return a};e.determinant=function(a){var b=a[0],c=a[1],n=a[2],l=a[3],g=a[4],f=a[5],e=a[6],k=a[7],h=a[8],m=a[9],p=a[10],u=a[11],x=a[12],J=a[13],v=a[14];a=a[15];return(b*f-c*g)*(p*a-u*v)-(b*e-n*g)*(m*a-u*J)+(b*k-l*g)*(m*v-p*J)+(c*e-n*f)*(h*a-u*x)-(c*k-l*f)*(h*v-p*x)+(n*k-l*e)*(h*J-m*x)};e.multiply=
+k;e.translate=function(a,b,c){var d=c[0],l=c[1];c=c[2];if(b===a)a[12]=b[0]*d+b[4]*l+b[8]*c+b[12],a[13]=b[1]*d+b[5]*l+b[9]*c+b[13],a[14]=b[2]*d+b[6]*l+b[10]*c+b[14],a[15]=b[3]*d+b[7]*l+b[11]*c+b[15];else{var g=b[0];var f=b[1];var e=b[2];var k=b[3];var h=b[4];var m=b[5];var p=b[6];var u=b[7];var x=b[8];var J=b[9];var v=b[10];var A=b[11];a[0]=g;a[1]=f;a[2]=e;a[3]=k;a[4]=h;a[5]=m;a[6]=p;a[7]=u;a[8]=x;a[9]=J;a[10]=v;a[11]=A;a[12]=g*d+h*l+x*c+b[12];a[13]=f*d+m*l+J*c+b[13];a[14]=e*d+p*l+v*c+b[14];a[15]=
+k*d+u*l+A*c+b[15]}return a};e.scale=function(a,b,c){var d=c[0],l=c[1];c=c[2];a[0]=b[0]*d;a[1]=b[1]*d;a[2]=b[2]*d;a[3]=b[3]*d;a[4]=b[4]*l;a[5]=b[5]*l;a[6]=b[6]*l;a[7]=b[7]*l;a[8]=b[8]*c;a[9]=b[9]*c;a[10]=b[10]*c;a[11]=b[11]*c;a[12]=b[12];a[13]=b[13];a[14]=b[14];a[15]=b[15];return a};e.rotate=function(a,b,d,n){var l=n[0],g=n[1];n=n[2];var f=Math.sqrt(l*l+g*g+n*n);if(Math.abs(f)<c.b)return null;f=1/f;l*=f;g*=f;n*=f;var e=Math.sin(d);var k=Math.cos(d);var h=1-k;d=b[0];f=b[1];var m=b[2];var p=b[3];var u=
+b[4];var x=b[5];var J=b[6];var v=b[7];var A=b[8];var t=b[9];var z=b[10];var H=b[11];var q=l*l*h+k;var G=g*l*h+n*e;var L=n*l*h-g*e;var K=l*g*h-n*e;var D=g*g*h+k;var E=n*g*h+l*e;var Q=l*n*h+g*e;l=g*n*h-l*e;g=n*n*h+k;a[0]=d*q+u*G+A*L;a[1]=f*q+x*G+t*L;a[2]=m*q+J*G+z*L;a[3]=p*q+v*G+H*L;a[4]=d*K+u*D+A*E;a[5]=f*K+x*D+t*E;a[6]=m*K+J*D+z*E;a[7]=p*K+v*D+H*E;a[8]=d*Q+u*l+A*g;a[9]=f*Q+x*l+t*g;a[10]=m*Q+J*l+z*g;a[11]=p*Q+v*l+H*g;b!==a&&(a[12]=b[12],a[13]=b[13],a[14]=b[14],a[15]=b[15]);return a};e.rotateX=function(a,
+b,c){var d=Math.sin(c);c=Math.cos(c);var l=b[4],g=b[5],f=b[6],e=b[7],k=b[8],h=b[9],m=b[10],p=b[11];b!==a&&(a[0]=b[0],a[1]=b[1],a[2]=b[2],a[3]=b[3],a[12]=b[12],a[13]=b[13],a[14]=b[14],a[15]=b[15]);a[4]=l*c+k*d;a[5]=g*c+h*d;a[6]=f*c+m*d;a[7]=e*c+p*d;a[8]=k*c-l*d;a[9]=h*c-g*d;a[10]=m*c-f*d;a[11]=p*c-e*d;return a};e.rotateY=function(a,b,c){var d=Math.sin(c);c=Math.cos(c);var l=b[0],g=b[1],f=b[2],e=b[3],k=b[8],h=b[9],m=b[10],p=b[11];b!==a&&(a[4]=b[4],a[5]=b[5],a[6]=b[6],a[7]=b[7],a[12]=b[12],a[13]=b[13],
+a[14]=b[14],a[15]=b[15]);a[0]=l*c-k*d;a[1]=g*c-h*d;a[2]=f*c-m*d;a[3]=e*c-p*d;a[8]=l*d+k*c;a[9]=g*d+h*c;a[10]=f*d+m*c;a[11]=e*d+p*c;return a};e.rotateZ=function(a,b,c){var d=Math.sin(c);c=Math.cos(c);var l=b[0],g=b[1],f=b[2],e=b[3],k=b[4],h=b[5],m=b[6],p=b[7];b!==a&&(a[8]=b[8],a[9]=b[9],a[10]=b[10],a[11]=b[11],a[12]=b[12],a[13]=b[13],a[14]=b[14],a[15]=b[15]);a[0]=l*c+k*d;a[1]=g*c+h*d;a[2]=f*c+m*d;a[3]=e*c+p*d;a[4]=k*c-l*d;a[5]=h*c-g*d;a[6]=m*c-f*d;a[7]=p*c-e*d;return a};e.fromTranslation=function(a,
+b){a[0]=1;a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=1;a[6]=0;a[7]=0;a[8]=0;a[9]=0;a[10]=1;a[11]=0;a[12]=b[0];a[13]=b[1];a[14]=b[2];a[15]=1;return a};e.fromScaling=function(a,b){a[0]=b[0];a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=b[1];a[6]=0;a[7]=0;a[8]=0;a[9]=0;a[10]=b[2];a[11]=0;a[12]=0;a[13]=0;a[14]=0;a[15]=1;return a};e.fromRotation=function(a,b,d){var f=d[0],l=d[1];d=d[2];var g=Math.sqrt(f*f+l*l+d*d);if(Math.abs(g)<c.b)return null;g=1/g;f*=g;l*=g;d*=g;g=Math.sin(b);b=Math.cos(b);var e=1-b;a[0]=f*f*e+b;a[1]=l*f*
+e+d*g;a[2]=d*f*e-l*g;a[3]=0;a[4]=f*l*e-d*g;a[5]=l*l*e+b;a[6]=d*l*e+f*g;a[7]=0;a[8]=f*d*e+l*g;a[9]=l*d*e-f*g;a[10]=d*d*e+b;a[11]=0;a[12]=0;a[13]=0;a[14]=0;a[15]=1;return a};e.fromXRotation=function(a,b){var c=Math.sin(b);b=Math.cos(b);a[0]=1;a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=b;a[6]=c;a[7]=0;a[8]=0;a[9]=-c;a[10]=b;a[11]=0;a[12]=0;a[13]=0;a[14]=0;a[15]=1;return a};e.fromYRotation=function(a,b){var c=Math.sin(b);b=Math.cos(b);a[0]=b;a[1]=0;a[2]=-c;a[3]=0;a[4]=0;a[5]=1;a[6]=0;a[7]=0;a[8]=c;a[9]=0;a[10]=
+b;a[11]=0;a[12]=0;a[13]=0;a[14]=0;a[15]=1;return a};e.fromZRotation=function(a,b){var c=Math.sin(b);b=Math.cos(b);a[0]=b;a[1]=c;a[2]=0;a[3]=0;a[4]=-c;a[5]=b;a[6]=0;a[7]=0;a[8]=0;a[9]=0;a[10]=1;a[11]=0;a[12]=0;a[13]=0;a[14]=0;a[15]=1;return a};e.fromRotationTranslation=function(a,b,c){var d=b[0],l=b[1],g=b[2],f=b[3],e=d+d,k=l+l,h=g+g;b=d*e;var m=d*k;d*=h;var p=l*k;l*=h;g*=h;e*=f;k*=f;f*=h;a[0]=1-(p+g);a[1]=m+f;a[2]=d-k;a[3]=0;a[4]=m-f;a[5]=1-(b+g);a[6]=l+e;a[7]=0;a[8]=d+k;a[9]=l-e;a[10]=1-(b+p);a[11]=
+0;a[12]=c[0];a[13]=c[1];a[14]=c[2];a[15]=1;return a};e.getTranslation=function(a,b){a[0]=b[12];a[1]=b[13];a[2]=b[14];return a};e.getScaling=function(a,b){var c=b[0],f=b[1],l=b[2],g=b[4],e=b[5],k=b[6],m=b[8],h=b[9];b=b[10];a[0]=Math.sqrt(c*c+f*f+l*l);a[1]=Math.sqrt(g*g+e*e+k*k);a[2]=Math.sqrt(m*m+h*h+b*b);return a};e.getRotation=function(a,b){var c=b[0]+b[5]+b[10];0<c?(c=2*Math.sqrt(c+1),a[3]=.25*c,a[0]=(b[6]-b[9])/c,a[1]=(b[8]-b[2])/c,a[2]=(b[1]-b[4])/c):b[0]>b[5]&b[0]>b[10]?(c=2*Math.sqrt(1+b[0]-
+b[5]-b[10]),a[3]=(b[6]-b[9])/c,a[0]=.25*c,a[1]=(b[1]+b[4])/c,a[2]=(b[8]+b[2])/c):b[5]>b[10]?(c=2*Math.sqrt(1+b[5]-b[0]-b[10]),a[3]=(b[8]-b[2])/c,a[0]=(b[1]+b[4])/c,a[1]=.25*c,a[2]=(b[6]+b[9])/c):(c=2*Math.sqrt(1+b[10]-b[0]-b[5]),a[3]=(b[1]-b[4])/c,a[0]=(b[8]+b[2])/c,a[1]=(b[6]+b[9])/c,a[2]=.25*c);return a};e.fromRotationTranslationScale=function(a,b,c,f){var d=b[0],g=b[1],e=b[2],k=b[3],n=d+d,h=g+g,m=e+e;b=d*n;var p=d*h;d*=m;var u=g*h;g*=m;e*=m;n*=k;h*=k;k*=m;m=f[0];var x=f[1];f=f[2];a[0]=(1-(u+e))*
+m;a[1]=(p+k)*m;a[2]=(d-h)*m;a[3]=0;a[4]=(p-k)*x;a[5]=(1-(b+e))*x;a[6]=(g+n)*x;a[7]=0;a[8]=(d+h)*f;a[9]=(g-n)*f;a[10]=(1-(b+u))*f;a[11]=0;a[12]=c[0];a[13]=c[1];a[14]=c[2];a[15]=1;return a};e.fromRotationTranslationScaleOrigin=function(a,b,c,f,l){var d=b[0],e=b[1],k=b[2],n=b[3],h=d+d,m=e+e,p=k+k;b=d*h;var u=d*m;d*=p;var x=e*m;e*=p;k*=p;h*=n;m*=n;n*=p;p=f[0];var J=f[1];f=f[2];var v=l[0],A=l[1];l=l[2];a[0]=(1-(x+k))*p;a[1]=(u+n)*p;a[2]=(d-m)*p;a[3]=0;a[4]=(u-n)*J;a[5]=(1-(b+k))*J;a[6]=(e+h)*J;a[7]=0;
+a[8]=(d+m)*f;a[9]=(e-h)*f;a[10]=(1-(b+x))*f;a[11]=0;a[12]=c[0]+v-(a[0]*v+a[4]*A+a[8]*l);a[13]=c[1]+A-(a[1]*v+a[5]*A+a[9]*l);a[14]=c[2]+l-(a[2]*v+a[6]*A+a[10]*l);a[15]=1;return a};e.fromQuat=function(a,b){var c=b[0],f=b[1],l=b[2];b=b[3];var g=c+c,e=f+f,k=l+l;c*=g;var m=f*g;f*=e;var h=l*g,p=l*e;l*=k;g*=b;e*=b;b*=k;a[0]=1-f-l;a[1]=m+b;a[2]=h-e;a[3]=0;a[4]=m-b;a[5]=1-c-l;a[6]=p+g;a[7]=0;a[8]=h+e;a[9]=p-g;a[10]=1-c-f;a[11]=0;a[12]=0;a[13]=0;a[14]=0;a[15]=1;return a};e.frustum=function(a,b,c,f,l,g,e){var d=
+1/(c-b),k=1/(l-f),h=1/(g-e);a[0]=2*g*d;a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=2*g*k;a[6]=0;a[7]=0;a[8]=(c+b)*d;a[9]=(l+f)*k;a[10]=(e+g)*h;a[11]=-1;a[12]=0;a[13]=0;a[14]=e*g*2*h;a[15]=0;return a};e.perspective=function(a,b,c,f,l){b=1/Math.tan(b/2);var d=1/(f-l);a[0]=b/c;a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=b;a[6]=0;a[7]=0;a[8]=0;a[9]=0;a[10]=(l+f)*d;a[11]=-1;a[12]=0;a[13]=0;a[14]=2*l*f*d;a[15]=0;return a};e.perspectiveFromFieldOfView=function(a,b,c,f){var d=Math.tan(b.upDegrees*Math.PI/180),g=Math.tan(b.downDegrees*
+Math.PI/180),e=Math.tan(b.leftDegrees*Math.PI/180);b=Math.tan(b.rightDegrees*Math.PI/180);var k=2/(e+b),n=2/(d+g);a[0]=k;a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=n;a[6]=0;a[7]=0;a[8]=-((e-b)*k*.5);a[9]=(d-g)*n*.5;a[10]=f/(c-f);a[11]=-1;a[12]=0;a[13]=0;a[14]=f*c/(c-f);a[15]=0;return a};e.ortho=function(a,b,c,f,l,g,e){var d=1/(b-c),k=1/(f-l),h=1/(g-e);a[0]=-2*d;a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=-2*k;a[6]=0;a[7]=0;a[8]=0;a[9]=0;a[10]=2*h;a[11]=0;a[12]=(b+c)*d;a[13]=(l+f)*k;a[14]=(e+g)*h;a[15]=1;return a};e.lookAt=
+function(a,b,d,f){var l=b[0],g=b[1];b=b[2];var e=f[0];var k=f[1];var n=f[2];var h=d[0];f=d[1];var m=d[2];if(Math.abs(l-h)<c.b&&Math.abs(g-f)<c.b&&Math.abs(b-m)<c.b)return mat4.identity(a);d=l-h;f=g-f;h=b-m;var p=1/Math.sqrt(d*d+f*f+h*h);d*=p;f*=p;h*=p;m=k*h-n*f;n=n*d-e*h;e=e*f-k*d;(p=Math.sqrt(m*m+n*n+e*e))?(p=1/p,m*=p,n*=p,e*=p):e=n=m=0;k=f*e-h*n;var u=h*m-d*e;var x=d*n-f*m;(p=Math.sqrt(k*k+u*u+x*x))?(p=1/p,k*=p,u*=p,x*=p):x=u=k=0;a[0]=m;a[1]=k;a[2]=d;a[3]=0;a[4]=n;a[5]=u;a[6]=f;a[7]=0;a[8]=e;a[9]=
+x;a[10]=h;a[11]=0;a[12]=-(m*l+n*g+e*b);a[13]=-(k*l+u*g+x*b);a[14]=-(d*l+f*g+h*b);a[15]=1;return a};e.targetTo=function(a,b,c,f){var d=b[0],g=b[1];b=b[2];var e=f[0],k=f[1],m=f[2];f=d-c[0];var h=g-c[1];c=b-c[2];var n=f*f+h*h+c*c;0<n&&(n=1/Math.sqrt(n),f*=n,h*=n,c*=n);n=k*c-m*h;m=m*f-e*c;e=e*h-k*f;a[0]=n;a[1]=m;a[2]=e;a[3]=0;a[4]=h*e-c*m;a[5]=c*n-f*e;a[6]=f*m-h*n;a[7]=0;a[8]=f;a[9]=h;a[10]=c;a[11]=0;a[12]=d;a[13]=g;a[14]=b;a[15]=1;return a};e.str=function(a){return"mat4("+a[0]+", "+a[1]+", "+a[2]+", "+
+a[3]+", "+a[4]+", "+a[5]+", "+a[6]+", "+a[7]+", "+a[8]+", "+a[9]+", "+a[10]+", "+a[11]+", "+a[12]+", "+a[13]+", "+a[14]+", "+a[15]+")"};e.frob=function(a){return Math.sqrt(Math.pow(a[0],2)+Math.pow(a[1],2)+Math.pow(a[2],2)+Math.pow(a[3],2)+Math.pow(a[4],2)+Math.pow(a[5],2)+Math.pow(a[6],2)+Math.pow(a[7],2)+Math.pow(a[8],2)+Math.pow(a[9],2)+Math.pow(a[10],2)+Math.pow(a[11],2)+Math.pow(a[12],2)+Math.pow(a[13],2)+Math.pow(a[14],2)+Math.pow(a[15],2))};e.add=function(a,b,c){a[0]=b[0]+c[0];a[1]=b[1]+c[1];
+a[2]=b[2]+c[2];a[3]=b[3]+c[3];a[4]=b[4]+c[4];a[5]=b[5]+c[5];a[6]=b[6]+c[6];a[7]=b[7]+c[7];a[8]=b[8]+c[8];a[9]=b[9]+c[9];a[10]=b[10]+c[10];a[11]=b[11]+c[11];a[12]=b[12]+c[12];a[13]=b[13]+c[13];a[14]=b[14]+c[14];a[15]=b[15]+c[15];return a};e.subtract=f;e.multiplyScalar=function(a,b,c){a[0]=b[0]*c;a[1]=b[1]*c;a[2]=b[2]*c;a[3]=b[3]*c;a[4]=b[4]*c;a[5]=b[5]*c;a[6]=b[6]*c;a[7]=b[7]*c;a[8]=b[8]*c;a[9]=b[9]*c;a[10]=b[10]*c;a[11]=b[11]*c;a[12]=b[12]*c;a[13]=b[13]*c;a[14]=b[14]*c;a[15]=b[15]*c;return a};e.multiplyScalarAndAdd=
+function(a,b,c,f){a[0]=b[0]+c[0]*f;a[1]=b[1]+c[1]*f;a[2]=b[2]+c[2]*f;a[3]=b[3]+c[3]*f;a[4]=b[4]+c[4]*f;a[5]=b[5]+c[5]*f;a[6]=b[6]+c[6]*f;a[7]=b[7]+c[7]*f;a[8]=b[8]+c[8]*f;a[9]=b[9]+c[9]*f;a[10]=b[10]+c[10]*f;a[11]=b[11]+c[11]*f;a[12]=b[12]+c[12]*f;a[13]=b[13]+c[13]*f;a[14]=b[14]+c[14]*f;a[15]=b[15]+c[15]*f;return a};e.exactEquals=function(a,b){return a[0]===b[0]&&a[1]===b[1]&&a[2]===b[2]&&a[3]===b[3]&&a[4]===b[4]&&a[5]===b[5]&&a[6]===b[6]&&a[7]===b[7]&&a[8]===b[8]&&a[9]===b[9]&&a[10]===b[10]&&a[11]===
+b[11]&&a[12]===b[12]&&a[13]===b[13]&&a[14]===b[14]&&a[15]===b[15]};e.equals=function(a,b){var d=a[0],f=a[1],l=a[2],g=a[3],e=a[4],k=a[5],m=a[6],h=a[7],p=a[8],I=a[9],u=a[10],x=a[11],J=a[12],v=a[13],A=a[14];a=a[15];var t=b[0],z=b[1],H=b[2],q=b[3],G=b[4],L=b[5],K=b[6],D=b[7],E=b[8],Q=b[9],N=b[10],O=b[11],F=b[12],y=b[13],M=b[14];b=b[15];return Math.abs(d-t)<=c.b*Math.max(1,Math.abs(d),Math.abs(t))&&Math.abs(f-z)<=c.b*Math.max(1,Math.abs(f),Math.abs(z))&&Math.abs(l-H)<=c.b*Math.max(1,Math.abs(l),Math.abs(H))&&
+Math.abs(g-q)<=c.b*Math.max(1,Math.abs(g),Math.abs(q))&&Math.abs(e-G)<=c.b*Math.max(1,Math.abs(e),Math.abs(G))&&Math.abs(k-L)<=c.b*Math.max(1,Math.abs(k),Math.abs(L))&&Math.abs(m-K)<=c.b*Math.max(1,Math.abs(m),Math.abs(K))&&Math.abs(h-D)<=c.b*Math.max(1,Math.abs(h),Math.abs(D))&&Math.abs(p-E)<=c.b*Math.max(1,Math.abs(p),Math.abs(E))&&Math.abs(I-Q)<=c.b*Math.max(1,Math.abs(I),Math.abs(Q))&&Math.abs(u-N)<=c.b*Math.max(1,Math.abs(u),Math.abs(N))&&Math.abs(x-O)<=c.b*Math.max(1,Math.abs(x),Math.abs(O))&&
+Math.abs(J-F)<=c.b*Math.max(1,Math.abs(J),Math.abs(F))&&Math.abs(v-y)<=c.b*Math.max(1,Math.abs(v),Math.abs(y))&&Math.abs(A-M)<=c.b*Math.max(1,Math.abs(A),Math.abs(M))&&Math.abs(a-b)<=c.b*Math.max(1,Math.abs(a),Math.abs(b))};var c=m(4);e.mul=k;e.sub=f},function(p,e,m){function k(){var a=new d.a(4);a[0]=0;a[1]=0;a[2]=0;a[3]=1;return a}function f(a,b,c){c*=.5;var d=Math.sin(c);a[0]=d*b[0];a[1]=d*b[1];a[2]=d*b[2];a[3]=Math.cos(c);return a}function c(a,b,c){var d=b[0],g=b[1],l=b[2];b=b[3];var f=c[0],e=
+c[1],k=c[2];c=c[3];a[0]=d*c+b*f+g*k-l*e;a[1]=g*c+b*e+l*f-d*k;a[2]=l*c+b*k+d*e-g*f;a[3]=b*c-d*f-g*e-l*k;return a}function a(a,b,c,d){var g=b[0],h=b[1],l=b[2];b=b[3];var f=c[0],e=c[1],k=c[2];c=c[3];var m=g*f+h*e+l*k+b*c;0>m&&(m=-m,f=-f,e=-e,k=-k,c=-c);if(1E-6<1-m){var n=Math.acos(m);var r=Math.sin(n);m=Math.sin((1-d)*n)/r;d=Math.sin(d*n)/r}else m=1-d;a[0]=m*g+d*f;a[1]=m*h+d*e;a[2]=m*l+d*k;a[3]=m*b+d*c;return a}function b(a,b){var c=b[0]+b[4]+b[8];if(0<c)c=Math.sqrt(c+1),a[3]=.5*c,c=.5/c,a[0]=(b[5]-
+b[7])*c,a[1]=(b[6]-b[2])*c,a[2]=(b[1]-b[3])*c;else{var d=0;b[4]>b[0]&&(d=1);b[8]>b[3*d+d]&&(d=2);var g=(d+1)%3,l=(d+2)%3;c=Math.sqrt(b[3*d+d]-b[3*g+g]-b[3*l+l]+1);a[d]=.5*c;c=.5/c;a[3]=(b[3*g+l]-b[3*l+g])*c;a[g]=(b[3*g+d]+b[3*d+g])*c;a[l]=(b[3*l+d]+b[3*d+l])*c}return a}Object.defineProperty(e,"__esModule",{value:!0});e.create=k;e.identity=function(a){a[0]=0;a[1]=0;a[2]=0;a[3]=1;return a};e.setAxisAngle=f;e.getAxisAngle=function(a,b){var c=2*Math.acos(b[3]),d=Math.sin(c/2);0!=d?(a[0]=b[0]/d,a[1]=b[1]/
+d,a[2]=b[2]/d):(a[0]=1,a[1]=0,a[2]=0);return c};e.multiply=c;e.rotateX=function(a,b,c){c*=.5;var d=b[0],g=b[1],l=b[2];b=b[3];var f=Math.sin(c);c=Math.cos(c);a[0]=d*c+b*f;a[1]=g*c+l*f;a[2]=l*c-g*f;a[3]=b*c-d*f;return a};e.rotateY=function(a,b,c){c*=.5;var d=b[0],g=b[1],l=b[2];b=b[3];var f=Math.sin(c);c=Math.cos(c);a[0]=d*c-l*f;a[1]=g*c+b*f;a[2]=l*c+d*f;a[3]=b*c-g*f;return a};e.rotateZ=function(a,b,c){c*=.5;var d=b[0],g=b[1],l=b[2];b=b[3];var f=Math.sin(c);c=Math.cos(c);a[0]=d*c+g*f;a[1]=g*c-d*f;a[2]=
+l*c+b*f;a[3]=b*c-l*f;return a};e.calculateW=function(a,b){var c=b[0],d=b[1];b=b[2];a[0]=c;a[1]=d;a[2]=b;a[3]=Math.sqrt(Math.abs(1-c*c-d*d-b*b));return a};e.slerp=a;e.invert=function(a,b){var c=b[0],d=b[1],g=b[2];b=b[3];var l=c*c+d*d+g*g+b*b;l=l?1/l:0;a[0]=-c*l;a[1]=-d*l;a[2]=-g*l;a[3]=b*l;return a};e.conjugate=function(a,b){a[0]=-b[0];a[1]=-b[1];a[2]=-b[2];a[3]=b[3];return a};e.fromMat3=b;e.fromEuler=function(a,b,c,d){var g=.5*Math.PI/180;b*=g;c*=g;d*=g;g=Math.sin(b);b=Math.cos(b);var h=Math.sin(c);
+c=Math.cos(c);var l=Math.sin(d);d=Math.cos(d);a[0]=g*c*d-b*h*l;a[1]=b*h*d+g*c*l;a[2]=b*c*l-g*h*d;a[3]=b*c*d+g*h*l;return a};e.str=function(a){return"quat("+a[0]+", "+a[1]+", "+a[2]+", "+a[3]+")"};var d=m(4),n=m(33),l=m(34);p=m(35);e.clone=p.b;e.fromValues=p.g;e.copy=p.c;e.set=p.l;e.add=p.a;e.mul=c;e.scale=p.k;e.dot=p.d;e.lerp=p.i;m=p.h;e.length=m;e.len=m;m=p.m;e.squaredLength=m;e.sqrLen=m;var g=p.j;e.normalize=g;e.exactEquals=p.f;e.equals=p.e;p=function(){var a=l.create(),b=l.fromValues(1,0,0),c=
+l.fromValues(0,1,0);return function(d,e,k){var h=l.dot(e,k);if(-.999999>h)return l.cross(a,b,e),1E-6>l.len(a)&&l.cross(a,c,e),l.normalize(a,a),f(d,a,Math.PI),d;if(.999999<h)return d[0]=0,d[1]=0,d[2]=0,d[3]=1,d;l.cross(a,e,k);d[0]=a[0];d[1]=a[1];d[2]=a[2];d[3]=1+h;return g(d,d)}}();e.rotationTo=p;p=function(){var b=k(),c=k();return function(d,g,l,f,e,k){a(b,g,e,k);a(c,l,f,k);a(d,b,c,2*k*(1-k));return d}}();e.sqlerp=p;p=function(){var a=n.a();return function(c,d,h,l){a[0]=h[0];a[3]=h[1];a[6]=h[2];a[1]=
+l[0];a[4]=l[1];a[7]=l[2];a[2]=-d[0];a[5]=-d[1];a[8]=-d[2];return g(c,b(c,a))}}();e.setAxes=p},function(p,e,m){function k(){var c=new f.a(2);c[0]=0;c[1]=0;return c}var f=m(4);(function(){var c=k();return function(a,b,d,f,l,g){b||(b=2);d||(d=0);for(f=f?Math.min(f*b+d,a.length):a.length;d<f;d+=b)c[0]=a[d],c[1]=a[d+1],l(c,c,g),a[d]=c[0],a[d+1]=c[1];return a}})()},function(p,e,m){var k=function(){function f(c,a){for(var b=0;b<a.length;b++){var d=a[b];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in
+d&&(d.writable=!0);Object.defineProperty(c,d.key,d)}}return function(c,a,b){a&&f(c.prototype,a);b&&f(c,b);return c}}();p=function(){function f(c){if(!(this instanceof f))throw new TypeError("Cannot call a class as a function");this.compare=c}k(f,[{key:"meld",value:function(c,a){if(null===a)return c;if(null===c)return a;var b=this.compare;b(a,c)&&(b=c,c=a,a=b);b=c.child0;a.next0=b;a.prev0=c;null!==b&&(b.prev0=a);c.child0=a;return c}},{key:"combineChildren",value:function(c){var a=c.child0;if(null===
+a)return null;for(c=null;;){var b=a.next0;if(null===b)var d=null;else d=b.next0,a=this.meld(a,b);a.next0=c;c=a;if(null===d)break;a=d}d=c;for(c=c.next0;null!==c;)a=c.next0,d=this.meld(d,c),c=a;d.prev0=null;d.next0=null;return d}},{key:"removeMin",value:function(c){var a=this.combineChildren(c);c.next0=null;c.prev0=null;c.child0=null;return a}},{key:"remove",value:function(c,a){if(c===a)return this.removeMin(c);var b=a.prev0,d=a.next0;b.child0===a?b.child0=d:b.next0=d;null!==d&&(d.prev0=b);c=this.meld(c,
+this.combineChildren(a));a.next0=null;a.prev0=null;a.child0=null;return c}},{key:"entries",value:function(c){function a(a,h){for(;;)switch(b){case 0:if(null===c){b=1;break}g=c.child0;b=2;return{value:c,done:!1};case 2:if(void 0===h){b=3;break}b=-1;throw h;case 3:case 4:if(null===g){b=5;break}l=g.next0;f=$jscomp.makeIterator(e.entries(g));case 6:if((d=f.next(a)).done){b=7;break}b=8;return{value:d.value,done:!1};case 8:if(void 0===h){b=9;break}b=-1;throw h;case 9:b=6;break;case 7:g=l;b=4;break;case 5:case 1:b=
+-1;default:return{value:void 0,done:!0}}}var b=0,d,f,l,g,e=this,k={next:function(b){return a(b,void 0)},throw:function(b){return a(void 0,b)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();k[Symbol.iterator]=function(){return this};return k}},{key:"removedEntries",value:function(c){function a(a,h){for(;;)switch(b){case 0:if(null===c){b=1;break}g=c.child0;c.child0=null;c.next0=null;c.prev0=null;b=2;return{value:c,done:!1};case 2:if(void 0===h){b=3;break}b=-1;
+throw h;case 3:case 4:if(null===g){b=5;break}l=g.next0;g.child0=null;g.next0=null;g.prev0=null;f=$jscomp.makeIterator(e.entries(g));case 6:if((d=f.next(a)).done){b=7;break}b=8;return{value:d.value,done:!1};case 8:if(void 0===h){b=9;break}b=-1;throw h;case 9:b=6;break;case 7:g=l;b=4;break;case 5:case 1:b=-1;default:return{value:void 0,done:!0}}}var b=0,d,f,l,g,e=this,k={next:function(b){return a(b,void 0)},throw:function(b){return a(void 0,b)},return:function(a){throw Error("Not yet implemented");
+}};$jscomp.initSymbolIterator();k[Symbol.iterator]=function(){return this};return k}}]);return f}();e.a=p},function(p,e,m){var k=function(){function f(c,a){for(var b=0;b<a.length;b++){var d=a[b];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(c,d.key,d)}}return function(c,a,b){a&&f(c.prototype,a);b&&f(c,b);return c}}();p=function(){function f(c){if(!(this instanceof f))throw new TypeError("Cannot call a class as a function");this.compare=c}k(f,[{key:"meld",
+value:function(c,a){if(null===a)return c;if(null===c)return a;var b=this.compare;b(a,c)&&(b=c,c=a,a=b);b=c.child1;a.next1=b;a.prev1=c;null!==b&&(b.prev1=a);c.child1=a;return c}},{key:"combineChildren",value:function(c){var a=c.child1;if(null===a)return null;for(c=null;;){var b=a.next1;if(null===b)var d=null;else d=b.next1,a=this.meld(a,b);a.next1=c;c=a;if(null===d)break;a=d}d=c;for(c=c.next1;null!==c;)a=c.next1,d=this.meld(d,c),c=a;d.prev1=null;d.next1=null;return d}},{key:"removeMin",value:function(c){var a=
+this.combineChildren(c);c.next1=null;c.prev1=null;c.child1=null;return a}},{key:"remove",value:function(c,a){if(c===a)return this.removeMin(c);var b=a.prev1,d=a.next1;b.child1===a?b.child1=d:b.next1=d;null!==d&&(d.prev1=b);c=this.meld(c,this.combineChildren(a));a.next1=null;a.prev1=null;a.child1=null;return c}},{key:"entries",value:function(c){function a(a,h){for(;;)switch(b){case 0:if(null===c){b=1;break}g=c.child1;b=2;return{value:c,done:!1};case 2:if(void 0===h){b=3;break}b=-1;throw h;case 3:case 4:if(null===
+g){b=5;break}l=g.next1;f=$jscomp.makeIterator(e.entries(g));case 6:if((d=f.next(a)).done){b=7;break}b=8;return{value:d.value,done:!1};case 8:if(void 0===h){b=9;break}b=-1;throw h;case 9:b=6;break;case 7:g=l;b=4;break;case 5:case 1:b=-1;default:return{value:void 0,done:!0}}}var b=0,d,f,l,g,e=this,k={next:function(b){return a(b,void 0)},throw:function(b){return a(void 0,b)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();k[Symbol.iterator]=function(){return this};
+return k}},{key:"removedEntries",value:function(c){function a(a,h){for(;;)switch(b){case 0:if(null===c){b=1;break}g=c.child1;c.child1=null;c.next1=null;c.prev1=null;b=2;return{value:c,done:!1};case 2:if(void 0===h){b=3;break}b=-1;throw h;case 3:case 4:if(null===g){b=5;break}l=g.next1;g.child1=null;g.next1=null;g.prev1=null;f=$jscomp.makeIterator(e.entries(g));case 6:if((d=f.next(a)).done){b=7;break}b=8;return{value:d.value,done:!1};case 8:if(void 0===h){b=9;break}b=-1;throw h;case 9:b=6;break;case 7:g=
+l;b=4;break;case 5:case 1:b=-1;default:return{value:void 0,done:!0}}}var b=0,d,f,l,g,e=this,k={next:function(b){return a(b,void 0)},throw:function(b){return a(void 0,b)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();k[Symbol.iterator]=function(){return this};return k}}]);return f}();e.a=p},function(p,e,m){m.d(e,"a",function(){return b});var k=m(1),f=m(3),c=m(8),a=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;
+d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),b=function(){function b(a){a=void 0===a?k.h.create():a;if(!(this instanceof b))throw new TypeError("Cannot call a class as a function");this.transform=a;this.changed=new c.a}a(b,[{key:"reset",value:function(){k.h.copy(this.transform,k.c);this.changed.dispatch()}},{key:"toJSON",value:function(){if(!k.h.equals(k.c,this.transform)){var a=this.transform;return[[a[0],
+a[4],a[8],a[12]],[a[1],a[5],a[9],a[13]],[a[2],a[6],a[10],a[14]],[a[3],a[7],a[11],a[15]]]}}},{key:"restoreState",value:function(a){if(null==a)this.reset();else if(Array.isArray(a))if(4===a.length)try{for(var b=0;4>b;++b)Object(f.b)(this.transform.subarray(4*b,4*(b+1)),a[b]);k.h.transpose(this.transform,this.transform)}catch(C){this.reset()}else if(16===a.length)try{Object(f.b)(this.transform,a),k.h.transpose(this.transform,this.transform)}catch(C){this.reset()}else this.reset();else if("object"===
+typeof a){b=k.j.create();var c=k.m.create(),d=k.m.fromValues(1,1,1);try{Object(f.b)(b,a.rotation),k.j.normalize(b,b)}catch(C){k.j.identity(b)}try{Object(f.b)(c,a.translation)}catch(C){k.m.copy(c,k.g)}try{Object(f.b)(d,a.scale)}catch(C){k.m.copy(d,k.f)}k.h.fromRotationTranslationScale(this.transform,b,c,d);this.changed.dispatch()}else this.reset()}},{key:"clone",value:function(){return new b(k.h.clone(this.transform))}}]);return b}()},function(p,e,m){m.d(e,"a",function(){return c});var k=m(1),f=function(){function a(a,
+c){for(var b=0;b<c.length;b++){var d=c[b];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,f){c&&a(b.prototype,c);f&&a(b,f);return b}}(),c=function(){function a(b,c){c=void 0===c?k.c:c;if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");this.size=k.m.clone(b);this.transform=k.h.clone(c);this.invTransform=k.h.invert(k.h.create(),c)}f(a,[{key:"toObject",value:function(a){a.size=this.size;a.transform=
+this.transform}},{key:"localSpatialToGlobal",value:function(a,c){return k.m.transformMat4(a,c,this.transform)}},{key:"globalToLocalSpatial",value:function(a,c){return k.m.transformMat4(a,c,this.invTransform)}},{key:"globalToLocalGrid",value:function(a,c){this.globalToLocalSpatial(a,c);k.m.divide(a,a,this.size);return a}},{key:"localSpatialVectorToGlobal",value:function(a,c){return Object(k.l)(a,c,this.transform)}},{key:"globalToLocalSpatialVector",value:function(a,c){return Object(k.l)(a,c,this.invTransform)}},
+{key:"assignLocalSpatialToGlobalMat4",value:function(a){return k.h.copy(a,this.transform)}}],[{key:"get",value:function(b,c){c=void 0===c?k.c:c;var d=a.cache,f=JSON.stringify([Array.from(b),Array.from(c)]),g=d.get(f);void 0===g&&(g=new a(b,c),d.set(f,g));return g}},{key:"fromObject",value:function(b){return a.get(b.size,b.transform)}}]);return a}();c.cache=new Map},function(p,e,m){e.a=function(e,f){return e===f?!0:1E-6>Math.abs(e-f)/Math.min(Math.abs(e),Math.abs(f))}},function(p,e,m){function k(a,
+b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}var f=m(24);p=m(0);var c=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,
+d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),a=function n(a,b,c){null===a&&(a=Function.prototype);var g=Object.getOwnPropertyDescriptor(a,b);if(void 0===g){if(a=Object.getPrototypeOf(a),null!==a)return n(a,b,c)}else{if("value"in g)return g.value;b=g.get;return void 0===b?void 0:b.call(c)}};e=this&&this.__decorate||function(a,b,c,f){var g=arguments.length,l=3>g?b:null===f?f=Object.getOwnPropertyDescriptor(b,c):f,h;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)l=
+Reflect.decorate(a,b,c,f);else for(var e=a.length-1;0<=e;e--)if(h=a[e])l=(3>g?h(l):3<g?h(b,c,l):h(b,c))||l;return 3<g&&l&&Object.defineProperty(b,c,l),l};m=b=function(e){function l(a,b){b=void 0===b?{}:b;if(!(this instanceof l))throw new TypeError("Cannot call a class as a function");var c=(l.__proto__||Object.getPrototypeOf(l)).call(this,a,b);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");c=!c||"object"!==typeof c&&"function"!==typeof c?this:c;c.updatingValue_=
+!1;void 0!==a&&(c.base=new f.b(b.value),c.setupChangedHandler());return c}k(l,e);c(l,[{key:"initializeCounterpart",value:function(b,c){c=void 0===c?{}:c;c.value=this.value;a(l.prototype.__proto__||Object.getPrototypeOf(l.prototype),"initializeCounterpart",this).call(this,b,c)}},{key:"setupChangedHandler",value:function(){var a=this;this.registerDisposer(this.base.changed.add(function(){if(a.updatingValue_)a.updatingValue_=!1;else{var b=a.rpc;null!==b&&b.invoke("SharedWatchableValue.changed",{id:a.rpcId,
+value:a.value})}}))}},{key:"value",get:function(){return this.base.value},set:function(a){this.base.value=a}},{key:"changed",get:function(){return this.base.changed}}],[{key:"makeFromExisting",value:function(a,c){var g=new b;g.base=c;g.setupChangedHandler();g.initializeCounterpart(a);return g}},{key:"make",value:function(a,c){return b.makeFromExisting(a,new f.b(c))}}]);return l}(p.c);m=b=e([Object(p.g)("SharedWatchableValue")],m);Object(p.f)("SharedWatchableValue.changed",function(a){var b=this.get(a.id);
+b.updatingValue_=!0;b.base.value=a.value;b.updatingValue_=!1});var b},function(p,e,m){var k=m(36),f=m(70),c=m(73),a=Math.max,b=Math.min;p.exports=function(d,e,l){function g(a){var b=B,c=I;B=I=void 0;v=a;return u=d.apply(c,b)}function m(a){var b=a-J;a-=v;return void 0===J||b>=e||0>b||t&&a>=H}function n(){var a=f();if(m(a))return p(a);var c=setTimeout;var d=a-v;a=e-(a-J);d=t?b(a,H-d):a;x=c(n,d)}function p(a){x=void 0;if(z&&B)return g(a);B=I=void 0;return u}function h(){var a=f(),b=m(a);B=arguments;
+I=this;J=a;if(b){if(void 0===x)return v=a=J,x=setTimeout(n,e),A?g(a):u;if(t)return x=setTimeout(n,e),g(J)}void 0===x&&(x=setTimeout(n,e));return u}var B,I,u,x,J,v=0,A=!1,t=!1,z=!0;if("function"!=typeof d)throw new TypeError("Expected a function");e=c(e)||0;if(k(l)){A=!!l.leading;var H=(t="maxWait"in l)?a(c(l.maxWait)||0,e):H;z="trailing"in l?!!l.trailing:z}h.cancel=function(){void 0!==x&&clearTimeout(x);v=0;B=J=I=x=void 0};h.flush=function(){return void 0===x?u:p(f())};return h}},function(p,e,m){var k=
+m(37);p.exports=function(){return k.Date.now()}},function(p,e,m){e=m(72);p.exports="object"==typeof e&&e&&e.Object===Object&&e},function(p,e){e=function(){return this}();try{e=e||Function("return this")()||(0,eval)("this")}catch(m){"object"===typeof window&&(e=window)}p.exports=e},function(p,e,m){var k=m(36),f=m(74),c=0/0,a=/^\s+|\s+$/g,b=/^[-+]0x[0-9a-f]+$/i,d=/^0b[01]+$/i,n=/^0o[0-7]+$/i,l=parseInt;p.exports=function(g){if("number"==typeof g)return g;if(f(g))return c;k(g)&&(g="function"==typeof g.valueOf?
+g.valueOf():g,g=k(g)?g+"":g);if("string"!=typeof g)return 0===g?g:+g;g=g.replace(a,"");var e=d.test(g);return e||n.test(g)?l(g.slice(2),e?2:8):b.test(g)?c:+g}},function(p,e,m){var k=m(75),f=m(78);p.exports=function(c){return"symbol"==typeof c||f(c)&&"[object Symbol]"==k(c)}},function(p,e,m){e=m(38);var k=m(76),f=m(77),c=e?e.toStringTag:void 0;p.exports=function(a){return null==a?void 0===a?"[object Undefined]":"[object Null]":c&&c in Object(a)?k(a):f(a)}},function(p,e,m){e=m(38);m=Object.prototype;
+var k=m.hasOwnProperty,f=m.toString,c=e?e.toStringTag:void 0;p.exports=function(a){var b=k.call(a,c),d=a[c];try{a[c]=void 0;var e=!0}catch(g){}var l=f.call(a);e&&(b?a[c]=d:delete a[c]);return l}},function(p,e){var m=Object.prototype.toString;p.exports=function(e){return m.call(e)}},function(p,e){p.exports=function(e){return null!=e&&"object"==typeof e}},function(p,e,m){e.c="perspective_view/PerspectiveView";e.a="perspective_view/addLayer";e.b="perspective_view/removeLayer"},function(p,e,m){e.a=function(e){e=
+Math.ceil((void 0===e?128:e)/32);var f=new Uint32Array(e);crypto.getRandomValues(f);for(var c="",a=0;a<e;++a)c+=("00000000"+f[a].toString(16)).slice(-8);return c}},function(p,e,m){function k(c,a){if("function"!==typeof a&&null!==a)throw new TypeError("Super expression must either be null or a function, not "+typeof a);c.prototype=Object.create(a&&a.prototype,{constructor:{value:c,enumerable:!1,writable:!0,configurable:!0}});a&&(Object.setPrototypeOf?Object.setPrototypeOf(c,a):c.__proto__=a)}m.d(e,
+"k",function(){return f});p=m(9);e.d="annotation.MetadataChunkSource";e.c="annotation.GeometryChunkSource";e.j="annotation.SubsetGeometryChunkSource";e.f="annotation.reference.add";e.g="annotation.reference.delete";e.b="annotation.commit";e.a="annotation.commit";var f=function(c){function a(){if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");var b=(a.__proto__||Object.getPrototypeOf(a)).apply(this,arguments);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
+return!b||"object"!==typeof b&&"function"!==typeof b?this:b}k(a,c);return a}(p.i);e.e="annotation/PerspectiveRenderLayer";e.h="annotation/RenderLayer";e.i="annotation/RenderLayer.updateSegmentation"},function(p,e,m){function k(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function f(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function c(a,b){if("function"!==
+typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function a(a,b){a&&(b.change_spec={change_stack_id:a.changeStackId},a.timeStamp&&(b.change_spec.time_stamp=a.timeStamp),a.skipEquivalences&&(b.change_spec.skip_equivalences=a.skipEquivalences))}function b(a,b){return Object(H.WithParameters)(Object(q.a)()(a),
+b)}function d(a,b){Object(K.c)(a,b,"fragmentKey");a.clipBounds&&(a.fragmentIds=n(a.fragmentIds,a.clipBounds));a.fragmentIds=r(a.fragmentIds);return a}function n(a,b){b;if(!a)return a;var c=[];a=$jscomp.makeIterator(a);for(var d=a.next();!d.done;d=a.next()){d=d.value;var g=O.m.clone([500,500,500]),h=d;var f=g;var q=new y.a;if(!q.tryParseString(h,16))throw Error("Couldn't parse fragmentId "+h+" as hex-encoded Uint64");if(q.high)throw Error("Fragment ids > 2^32 not supported yet");h=Object(O.a)(q);q=
+O.m.create();f=O.m.mul(q,h,f);h=O.m.create();O.m.scale(h,g,.5);q=O.m.create();O.m.add(q,f,h);l({center:q,size:g},b)&&c.push(d)}return c}function l(a,b){function c(a,b,c){return[].concat($jscomp.arrayFromIterable(a.map(function(a,d){return a+c*b[d]/2}).values()))}function d(a){return{min:O.m.clone(c(a.center,a.size,-1)),max:O.m.clone(c(a.center,a.size,1))}}a=d(a);b=d(b);return a.min[0]<=b.max[0]&&a.max[0]>=b.min[0]&&a.min[1]<=b.max[1]&&a.max[1]>=b.min[1]&&a.min[2]<=b.max[2]&&a.max[2]>=b.min[2]}function g(a,
+b){Object(F.i)(b);var c=Object(F.j)(b,"fragmentKey",F.m);b=Object(F.j)(b,"supervoxelId",F.m);if(c.length!==b.length)throw Error("Expected fragmentKey and supervoxelId arrays to have the same length.");b=b.map(function(a,b){return a+"\x00"+c[b]});a.clipBounds&&(b=n(b,a.clipBounds));a.fragmentIds=r(b)}function r(a){for(var b=[],c=0,d=a.length;c<d;)b.push(JSON.stringify(a.slice(c,c+100))),c+=100;return b}function C(a){var b=a.match(/(-?[0-9]+),(-?[0-9]+),(-?[0-9]+)/);if(null===b)throw Error("Error parsing number triplet: "+
+JSON.stringify(a)+".");return O.m.fromValues(parseFloat(b[1]),parseFloat(b[2]),parseFloat(b[3]))}function w(a){return a.volumeId+":"+a.changestack+":"}function h(a,b){if(!b.startsWith(a))throw Error("Received annotation id "+JSON.stringify(b)+" does not have expected prefix of "+JSON.stringify(a)+".");return b.substring(a.length)}function B(a){if(null!=a)return Object(F.a)(a,function(a){return y.a.parseString(""+a,10)})}function I(a,b,c){var d=Object(F.j)(a,"corner",function(a){return C(Object(F.l)(a))}),
+g=Object(F.j)(a,"size",function(a){return C(Object(F.l)(a))}),f=Object(F.j)(a,"payload",F.k),l=Object(F.j)(a,"type",F.l),q=Object(F.j)(a,"id",F.l);b=h(b,q);a=Object(F.j)(a,"objectLabels",B);if(void 0!==c&&b!==c)throw Error("Received annotation has unexpected id "+JSON.stringify(q)+".");switch(l){case "LOCATION":if(O.m.equals(g,O.g))return{type:t.b.POINT,id:b,point:d,description:f,segments:a};c=O.m.scale(O.m.create(),g,.5);d=O.m.add(O.m.create(),d,c);return{type:t.b.ELLIPSOID,id:b,center:d,radii:c,
+description:f,segments:a};case "LINE":return{type:t.b.LINE,id:b,pointA:d,pointB:O.m.add(O.m.create(),d,g),description:f,segments:a};case "VOLUME":return{type:t.b.AXIS_ALIGNED_BOUNDING_BOX,id:b,pointA:d,pointB:O.m.add(O.m.create(),d,g),description:f,segments:a};default:throw Error("Unknown spatial annotation type: "+JSON.stringify(l)+".");}}function u(a,b,c){Object(F.i)(a);a=Object(F.j)(a,"annotations",function(a){return Object(F.c)([void 0],a,F.i)})[0];return I(a,b,c)}function x(a,b){var c=new t.a,
+d=w(a.source.parent.parameters);b.forEach(function(a,b){try{Object(F.i)(a);var g=Object(F.j)(a,"annotations",function(a){return void 0===a?[]:a});if(!Array.isArray(g))throw Error("Expected array, but received "+JSON.stringify(typeof g)+".");for(var h=$jscomp.makeIterator(g),f=h.next();!f.done;f=h.next()){var l=f.value;try{c.add(I(l,d))}catch(Ja){throw Error("Error parsing annotation: "+Ja.message);}}}catch(Ja){throw Error("Error parsing "+jb[b]+" annotations: "+Ja.message);}});a.data=Object.assign(new z.AnnotationGeometryData,
+c.serialize())}function J(a){var b=a.indexOf(".");return a.substring(0,b)}function v(a){return Math.round(a[0])+","+Math.round(a[1])+","+Math.round(a[2])}function A(a){var b=a.description||"",c=void 0===a.segments?void 0:a.segments.map(function(a){return a.toString()});switch(a.type){case t.b.LINE:case t.b.AXIS_ALIGNED_BOUNDING_BOX:var d=a.pointA,g=a.pointB,h=O.m.min(O.m.create(),d,g);d=O.m.max(O.m.create(),d,g);d=O.m.subtract(d,d,h);return{type:a.type===t.b.LINE?"LINE":"VOLUME",corner:v(h),size:v(d),
+object_labels:c,payload:b};case t.b.POINT:return{type:"LOCATION",corner:v(a.point),size:"0,0,0",object_labels:c,payload:b};case t.b.ELLIPSOID:return h=O.m.subtract(O.m.create(),a.center,a.radii),a=O.m.scale(O.m.create(),a.radii,2),{type:"LOCATION",corner:v(h),size:v(a),object_labels:c,payload:b}}}Object.defineProperty(e,"__esModule",{value:!0});m.d(e,"BrainmapsVolumeChunkSource",function(){return ba});m.d(e,"BrainmapsMeshSource",function(){return kb});m.d(e,"BrainmapsSkeletonSource",function(){return P});
+m.d(e,"BrainmapsAnnotationSource",function(){return ib});var t=m(41),z=m(40),H=m(2),q=m(83),G=m(86),L=m(88),K=m(17),D=m(43);p=m(25);e=m(18);var E=m(23),Q=m(16),N=m(11),O=m(1),F=m(3),y=m(5);m=m(0);var M=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),R=this&&this.__decorate||function(a,b,c,d){var g=arguments.length,
+h=3>g?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d,f;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)h=Reflect.decorate(a,b,c,d);else for(var l=a.length-1;0<=l;l--)if(f=a[l])h=(3>g?f(h):3<g?f(b,c,h):f(b,c))||h;return 3<g&&h&&Object.defineProperty(b,c,h),h},X=new Map([[L.d.RAW,E.a],[L.d.JPEG,e.a],[L.d.COMPRESSED_SEGMENTATION,p.a]]),ba=function(b){function d(){k(this,d);var a=f(this,(d.__proto__||Object.getPrototypeOf(d)).apply(this,arguments));a.chunkDecoder=X.get(a.parameters.encoding);
+return a}c(d,b);M(d,[{key:"applyEncodingParams",value:function(a){var b=this.parameters.encoding;switch(b){case L.d.RAW:a.subvolume_format="RAW";break;case L.d.JPEG:a.subvolume_format="SINGLE_IMAGE";a.image_format_options={image_format:"JPEG",jpeg_quality:70};break;case L.d.COMPRESSED_SEGMENTATION:a.subvolume_format="RAW";a.image_format_options={compressed_segmentation_block_size:Object(O.n)(this.spec.compressedSegmentationBlockSize)};break;default:throw Error("Invalid encoding: "+b);}}},{key:"download",
+value:function(b,c){var d=this,g=this.parameters,h=this.computeChunkBounds(b),f=b.chunkDataSize;var l="/v1/volumes/"+g.volumeId+"/subvolume:binary";h={geometry:{corner:Object(O.n)(h),size:Object(O.n)(f),scale:g.scaleIndex}};this.applyEncodingParams(h);a(g.changeSpec,h);return Object(G.a)(g.instance,this.credentialsProvider,{method:"POST",payload:JSON.stringify(h),path:l,responseType:"arraybuffer"},c).then(function(a){return d.chunkDecoder(b,a)})}}]);return d}(b(Q.a,L.e));ba=R([Object(m.g)()],ba);
+var kb=function(a){function b(){k(this,b);var a=f(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments));a.manifestDecoder=void 0!==a.parameters.changeSpec?g:d;var c=a.parameters.changeSpec;c=void 0!==c?"&header.changeStackId="+c.changeStackId+"&return_supervoxel_ids=true":"";a.listFragmentsParams=c;return a}c(b,a);M(b,[{key:"download",value:function(a,b){var c=this,d=this.parameters;return Object(G.a)(d.instance,this.credentialsProvider,{method:"GET",path:"/v1/objects/"+d.volumeId+"/meshes/"+
+(d.meshName+":listfragments?object_id="+a.objectId)+this.listFragmentsParams,responseType:"json"},b).then(function(b){return c.manifestDecoder(a,b)})}},{key:"downloadFragment",value:function(a,b){function c(b){for(var c=b.byteLength,e=0,k=new DataView(b);e<c;){if(e+32>c)throw Error("Invalid batch mesh fragment response.");if(void 0!==g.changeSpec){var m=k.getUint32(e,!0);var t=k.getUint32(e+4,!0);t=(new y.a(m,t)).toString()+"\x00"}else t="";e+=8;m=k.getUint32(e,!0);var n=k.getUint32(e+4,!0);e+=8;
+if(0!==n)throw Error("Invalid batch mesh fragment response.");if(e+m+8+8>c)throw Error("Invalid batch mesh fragment response.");n=(new TextDecoder).decode(new Uint8Array(b,e,m));t+=n;if(!h.delete(t))throw Error("Received unexpected fragment key: "+JSON.stringify(t)+".");e+=m;m=k.getUint32(e,!0);n=k.getUint32(e+4,!0);e+=8;t=k.getUint32(e,!0);var r=k.getUint32(e+4,!0);e+=8;if(0!==n||0!==r)throw Error("Invalid batch mesh fragment response.");n=e+12*t+12*m;if(n>c)throw Error("Invalid batch mesh fragment response.");
+f+=m;l+=3*t;q.push({buffer:b,verticesOffset:e,numVertices:m,indicesOffset:e+12*m,numIndices:3*t});e=n}if(0!==h.size)return d();b=new Float32Array(3*f);c=new Uint32Array(l);k=e=0;m=$jscomp.makeIterator(q);for(t=m.next();!t.done;t=m.next()){t=t.value;b.set(new Float32Array(t.buffer,t.verticesOffset,3*t.numVertices),3*e);n=t.numIndices;r=new Uint32Array(t.buffer,t.indicesOffset,n);Object(N.d)(r,N.b.LITTLE);for(var p=0;p<n;++p)c[k++]=r[p]+e;e+=t.numVertices}Object(N.d)(b,N.b.LITTLE);a.vertexPositions=
+b;a.indices=c;a.vertexNormals=Object(K.b)(b,c)}function d(){var d=[];if(void 0!==g.changeSpec)for(var f=$jscomp.makeIterator(h),l=f.next();!l.done;l=f.next()){var q=l.value,k=q.indexOf("\x00");l=q.substring(0,k);q=q.substring(k+1);void 0!==l&&d.push({object_id:l,fragment_keys:[]});d[d.length-1].fragment_keys.push(q)}else d.push({object_id:a.manifestChunk.objectId.toString(),fragment_keys:Array.from(h)});return Object(G.a)(g.instance,e,{method:"POST",path:"/v1/objects/meshes:batch",payload:JSON.stringify({volume_id:g.volumeId,
+mesh_name:g.meshName,batches:d}),responseType:"arraybuffer"},b).then(c)}var g=this.parameters,h=new Set(JSON.parse(a.fragmentId)),f=0,l=0,q=[],e=this.credentialsProvider;return d()}}]);return b}(b(K.a,L.b));kb=R([Object(m.g)()],kb);var P=function(b){function d(){k(this,d);return f(this,(d.__proto__||Object.getPrototypeOf(d)).apply(this,arguments))}c(d,b);M(d,[{key:"download",value:function(b,c){var d=this.parameters,g={object_id:""+b.objectId},h="/v1/objects/"+d.volumeId+("/meshes/"+d.meshName)+"/skeleton:binary";
+a(d.changeSpec,g);return Object(G.a)(d.instance,this.credentialsProvider,{method:"POST",path:h,payload:JSON.stringify(g),responseType:"arraybuffer"},c).then(function(a){var c=new DataView(a),d=c.getUint32(0,!0);if(0!==c.getUint32(4,!0))throw Error("The number of vertices should not exceed 2^32-1.");var g=c.getUint32(8,!0);if(0!==c.getUint32(12,!0))throw Error("The number of edges should not exceed 2^32-1.");Object(D.b)(b,a,N.b.LITTLE,16,d,void 0,g)})}}]);return d}(b(D.a,L.c));P=R([Object(m.g)()],
+P);var jb=["LOCATION","LINE","VOLUME"],ib=function(a){function b(){k(this,b);return f(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}c(b,a);M(b,[{key:"downloadGeometry",value:function(a,b){var c=this,d=this.parameters;return Promise.all(jb.map(function(a){return Object(G.a)(d.instance,c.credentialsProvider,{method:"POST",path:"/v1/changes/"+d.volumeId+"/"+d.changestack+"/spatials:get",payload:JSON.stringify({type:a,ignore_payload:!0}),responseType:"json"},b)})).then(function(b){x(a,
+b)})}},{key:"downloadSegmentFilteredGeometry",value:function(a,b){var c=this,d=this.parameters;return Promise.all(jb.map(function(g){return Object(G.a)(d.instance,c.credentialsProvider,{method:"POST",path:"/v1/changes/"+d.volumeId+"/"+d.changestack+"/spatials:get",payload:JSON.stringify({type:g,object_labels:[a.objectId.toString()],ignore_payload:!0}),responseType:"json"},b)})).then(function(b){x(a,b)})}},{key:"downloadMetadata",value:function(a,b){var c=this.parameters,d=a.key;return Object(G.a)(c.instance,
+this.credentialsProvider,{method:"POST",path:"/v1/changes/"+c.volumeId+"/"+c.changestack+"/spatials:get",payload:JSON.stringify({type:J(d),id:c.volumeId+":"+c.changestack+":"+d}),responseType:"json"},b).then(function(b){a.annotation=u(b,w(c),d)},function(){a.annotation=null})}},{key:"add",value:function(a){var b=this,c=this.parameters;a=A(a);return Object(G.a)(c.instance,this.credentialsProvider,{method:"POST",path:"/v1/changes/"+c.volumeId+"/"+c.changestack+"/spatials:push",payload:JSON.stringify({annotations:[a]}),
+responseType:"json"}).then(function(a){Object(F.i)(a);a=Object(F.j)(a,"ids",F.m);if(1!==a.length)throw Error("Expected list of 1 id, but received "+JSON.stringify(a)+".");var c=w(b.parameters);return h(c,a[0])})}},{key:"update",value:function(a,b){var c=this.parameters;b=A(b);b.id=c.volumeId+":"+c.changestack+":"+a;return Object(G.a)(c.instance,this.credentialsProvider,{method:"POST",path:"/v1/changes/"+c.volumeId+"/"+c.changestack+"/spatials:push",payload:JSON.stringify({annotations:[b]}),responseType:"json"})}},
+{key:"delete",value:function(a){var b=this.parameters;return Object(G.a)(b.instance,this.credentialsProvider,{method:"POST",path:"/v1/changes/"+b.volumeId+"/"+b.changestack+"/spatials:delete",payload:JSON.stringify({type:J(a),ids:[b.volumeId+":"+b.changestack+":"+a]}),responseType:"json"})}}]);return b}(b(z.AnnotationSource,L.a));ib=R([Object(m.g)()],ib)},function(p,e,m){function k(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function f(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
+return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function c(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}e.a=function(){return function(a){return function(a){function b(a){for(var c=[],d=0;d<arguments.length;++d)c[d-0]=arguments[d];k(this,
+b);var g;d=f(this,(g=b.__proto__||Object.getPrototypeOf(b)).call.apply(g,[].concat([this],$jscomp.arrayFromIterable(c))));d.credentialsProvider=d.rpc.getRef(c[1].credentialsProvider);return d}c(b,a);return b}(a)}};var a=m(84),b=m(85);p=m(0);e=this&&this.__decorate||function(a,b,c,g){var d=arguments.length,f=3>d?b:null===g?g=Object.getOwnPropertyDescriptor(b,c):g,l;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)f=Reflect.decorate(a,b,c,g);else for(var h=a.length-1;0<=h;h--)if(l=
+a[h])f=(3>d?l(f):3<d?l(b,c,f):l(b,c))||f;return 3<d&&f&&Object.defineProperty(b,c,f),f};m=function(d){function e(){k(this,e);var c=f(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments));c.get=Object(a.a)(function(a,d){return c.rpc.promiseInvoke(b.a,{providerId:c.rpcId,invalidCredentials:a},d)});return c}c(e,d);return e}(p.c);m=e([Object(p.g)(b.b)],m)},function(p,e,m){function k(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function f(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
+return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function c(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}e.a=function(b){var c,d,f;return function(g,h){if(void 0!==d&&(void 0===c||void 0===g||c.generation!==g.generation))return void 0===
+c&&f.addConsumer(h),d;c=void 0;f=new a.c;return d=b(g,f).then(function(a){c=a;f=void 0;return a},function(a){f.isCanceled&&(d=f=void 0);throw a;})}};var a=m(12);p=m(13);var b=m(31),d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();(function(a){function b(){k(this,b);return f(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,
+arguments))}c(b,a);return b})(p.a);var n=function(){function a(){k(this,a);this.providers=new Map}d(a,[{key:"register",value:function(a,b){this.providers.set(a,b)}},{key:"getCredentialsProvider",value:function(a,b){var c=this.providers.get(a);if(void 0===c)throw Error("No registered credentials provider: "+JSON.stringify(a));return c(b)}}]);return a}();(function(a){function b(){k(this,b);return f(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,new n))}c(b,a);d(b,[{key:"register",value:function(a,
+b){this.base.register(a,b)}}]);return b})(function(a){function g(a){k(this,g);var c=f(this,(g.__proto__||Object.getPrototypeOf(g)).call(this));c.base=a;c.memoize=new b.a;return c}c(g,a);d(g,[{key:"getCredentialsProvider",value:function(a,b){var c=this;return this.memoize.get({key:a,parameters:b},function(){return c.registerDisposer(c.base.getCredentialsProvider(a,b).addRef())})}}]);return g}(p.a))},function(p,e,m){e.b="CredentialsProvider";e.a="CredentialsProvider.get"},function(p,e,m){e.a=function(c,
+a,b,d){d=void 0===d?k.e:d;var e=void 0;return new Promise(function(l,g){function m(k){null!==e&&(e=Object(f.c)(c.serverUrls,b.path,b.method),e.responseType=b.responseType,e.setRequestHeader("Authorization",k.credentials.tokenType+" "+k.credentials.accessToken),e.onloadend=function(){if(null!==e){var b=this.status;200<=b&&300>b?(d.remove(n),l(this.response)):401===b?a.get(k,d).then(m):504===b||503===b?a.get(void 0,d).then(m):(d.remove(n),g(f.a.fromXhr(this)))}},e.send(b.payload))}var n=function(){var a=
+e;e=null;null!=a&&a.abort();g(k.a)};d.add(n);a.get(void 0,d).then(m)})};var k=m(12),f=m(15)},function(p,e,m){e.a=function(e){for(var f=0,c=e.length,a=0;a<c;++a)f=31*f+e.charCodeAt(a)|0;return f}},function(p,e,m){function k(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,
+b):a.__proto__=b)}function f(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}m.d(e,"d",function(){return c});m.d(e,"e",function(){return a});m.d(e,"b",function(){return b});m.d(e,"c",function(){return d});m.d(e,"a",function(){return n});var c;(function(a){a[a.RAW=0]="RAW";a[a.JPEG=1]="JPEG";a[a.COMPRESSED_SEGMENTATION=2]="COMPRESSED_SEGMENTATION"})(c||(c={}));var a=function g(){f(this,g)};a.RPC_ID="brainmaps/VolumeChunkSource";var b=function r(){f(this,r)};b.RPC_ID=
+"brainmaps/MeshSource";var d=function(a){function b(){f(this,b);var a=(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!a||"object"!==typeof a&&"function"!==typeof a?this:a}k(b,a);return b}(b);d.RPC_ID="brainmaps/SkeletonSource";var n=function C(){f(this,C)};n.RPC_ID="brainmaps/Annotation"},function(p,e,m){e.b="mesh/MeshLayer";e.a="mesh/FragmentSource"},function(p,e,m){function k(a,b){if("function"!==
+typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}var f=m(91),c=m(3),a=m(8),b=m(5);p=m(0);var d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,
+d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),n=function C(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return C(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};e=this&&this.__decorate||function(a,b,c,d){var g=arguments.length,f=3>g?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d,h;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)f=
+Reflect.decorate(a,b,c,d);else for(var e=a.length-1;0<=e;e--)if(h=a[e])f=(3>g?h(f):3<g?h(b,c,f):h(b,c))||f;return 3<g&&f&&Object.defineProperty(b,c,f),f};m=function(g){function e(){if(!(this instanceof e))throw new TypeError("Cannot call a class as a function");var b=(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");b=!b||"object"!==typeof b&&"function"!==typeof b?this:b;b.disjointSets=new f.a;
+b.changed=new a.a;return b}k(e,g);d(e,[{key:"disposed",value:function(){this.changed=this.disjointSets=void 0;n(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"disposed",this).call(this)}},{key:"link",value:function(a,b){if(this.disjointSets.link(a,b)){var c=this.rpc;c&&c.invoke("DisjointUint64Sets.add",{id:this.rpcId,al:a.low,ah:a.high,bl:b.low,bh:b.high});this.changed.dispatch()}}},{key:"get",value:function(a){return this.disjointSets.get(a)}},{key:"clear",value:function(){if(this.disjointSets.clear()){var a=
+this.rpc;a&&a.invoke("DisjointUint64Sets.clear",{id:this.rpcId});this.changed.dispatch()}}},{key:"setElements",value:function(a){return this.disjointSets.setElements(a)}},{key:"toJSON",value:function(){return this.disjointSets.toJSON()}},{key:"restoreState",value:function(a){var d=this;this.clear();if(void 0!==a){var g=[new b.a,new b.a];Object(c.a)(a,function(a){Object(c.a)(a,function(a,b){g[b%2].parseString(String(a),10);0!==b&&d.link(g[0],g[1])})})}}},{key:"size",get:function(){return this.disjointSets.size}}],
+[{key:"makeWithCounterpart",value:function(a){var b=new this;b.initializeCounterpart(a);return b}}]);return e}(p.c);m=e([Object(p.g)("DisjointUint64Sets")],m);var l=new b.a,g=new b.a;Object(p.f)("DisjointUint64Sets.add",function(a){var b=this.get(a.id);l.low=a.al;l.high=a.ah;g.low=a.bl;g.high=a.bh;b.disjointSets.link(l,g)&&b.changed.dispatch()});Object(p.f)("DisjointUint64Sets.clear",function(a){a=this.get(a.id);a.disjointSets.clear()&&a.changed.dispatch()})},function(p,e,m){function k(a){for(var b=
+a,c=a[d];c!==a;)a=c,c=a[d];for(a=b[d];c!==a;)b[d]=c,b=a,a=b[d];return c}function f(a){function b(b,f){for(;;)switch(c){case 0:g=!0,d=a;case 1:if(!g&&d===a){c=3;break}c=4;return{value:d,done:!1};case 4:if(void 0===f){c=5;break}c=-1;throw f;case 5:d=d[n];case 2:g=!1;c=1;break;case 3:c=-1;default:return{value:void 0,done:!0}}}var c=0,d,g,f={next:function(a){return b(a,void 0)},throw:function(a){return b(void 0,a)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();
+f[Symbol.iterator]=function(){return this};return f}m.d(e,"a",function(){return r});var c=m(5),a=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();$jscomp.initSymbol();var b=Symbol("disjoint_sets:rank");$jscomp.initSymbol();var d=Symbol("disjoint_sets:parent");$jscomp.initSymbol();var n=Symbol("disjoint_sets:next");
+$jscomp.initSymbol();var l=Symbol("disjoint_sets:prev");$jscomp.initSymbol();var g=Symbol("disjoint_sets:min"),r=function(){function e(){if(!(this instanceof e))throw new TypeError("Cannot call a class as a function");this.map=new Map;this.generation=0}$jscomp.initSymbol();$jscomp.initSymbolIterator();a(e,[{key:"get",value:function(a){var b=this.map.get(a.toString());return void 0===b?a:k(b)[g]}},{key:"isMinElement",value:function(a){var b=this.get(a);return b===a||c.a.equal(b,a)}},{key:"makeSet",
+value:function(a){var c=a.toString(),f=this.map,e=f.get(c);return void 0===e?(a=e=a.clone(),a[d]=a,a[b]=0,a[n]=a[l]=a,e[g]=e,f.set(c,e),e):k(e)}},{key:"link",value:function(a,f){a=this.makeSet(a);f=this.makeSet(f);if(a===f)return!1;this.generation++;var e=a;var h=f,k=e[b],m=h[b];k>m?h[d]=e:(e[d]=h,k===m&&(h[b]=m+1),e=h);h=a;k=f;m=h[l];var p=k[l];k[l]=m;m[n]=k;h[l]=p;p[n]=h;a=a[g];f=f[g];e[g]=c.a.less(a,f)?a:f;return!0}},{key:"setElements",value:function(a){function b(b,h){for(;;)switch(c){case 0:l=
+a.toString();e=k.map.get(l);if(void 0!==e){c=1;break}c=3;return{value:a,done:!1};case 3:if(void 0===h){c=4;break}c=-1;throw h;case 4:c=2;break;case 1:g=$jscomp.makeIterator(f(e));case 5:if((d=g.next(b)).done){c=6;break}c=7;return{value:d.value,done:!1};case 7:if(void 0===h){c=8;break}c=-1;throw h;case 8:c=5;break;case 6:case 2:c=-1;default:return{value:void 0,done:!0}}}var c=0,d,g,e,l,k=this,m={next:function(a){return b(a,void 0)},throw:function(a){return b(void 0,a)},return:function(a){throw Error("Not yet implemented");
+}};$jscomp.initSymbolIterator();m[Symbol.iterator]=function(){return this};return m}},{key:"clear",value:function(){var a=this.map;if(0===a.size)return!1;++this.generation;a.clear();return!0}},{key:"mappings",value:function(a){function b(b,h){for(;;)switch(c){case 0:a=void 0===a?Array(2):a,e=$jscomp.makeIterator(l.map.values()),f=e.next();case 1:if(f.done){c=3;break}d=f.value;a[0]=d;a[1]=k(d)[g];c=4;return{value:a,done:!1};case 4:if(void 0===h){c=5;break}c=-1;throw h;case 5:case 2:f=e.next();c=1;
+break;case 3:c=-1;default:return{value:void 0,done:!0}}}var c=0,d,f,e,l=this,m={next:function(a){return b(a,void 0)},throw:function(a){return b(void 0,a)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();m[Symbol.iterator]=function(){return this};return m}},{key:Symbol.iterator,value:function(){return this.mappings()}},{key:"toJSON",value:function(){for(var a=[],b=$jscomp.makeIterator(this.map.values()),g=b.next();!g.done;g=b.next()){var e=g.value;if(e[d]===e){g=
+[];e=$jscomp.makeIterator(f(e));for(var l=e.next();!l.done;l=e.next())g.push(l.value);g.sort(c.a.compare);a.push(g)}}a.sort(function(a,b){return c.a.compare(a[0],b[0])});return a.map(function(a){return a.map(function(a){return a.toString()})})}},{key:"size",get:function(){return this.map.size}}]);return e}()},function(p,e,m){function k(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,
+{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}var f=m(93),c=m(8);p=m(0);var a=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),b=function l(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,
+b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return l(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};e=this&&this.__decorate||function(a,b,c,d){var g=arguments.length,f=3>g?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d,e;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)f=Reflect.decorate(a,b,c,d);else for(var l=a.length-1;0<=l;l--)if(e=a[l])f=(3>g?e(f):3<g?e(b,c,f):e(b,c))||f;return 3<g&&f&&Object.defineProperty(b,c,f),f};
+m=d=function(e){function g(){if(!(this instanceof g))throw new TypeError("Cannot call a class as a function");var a=(g.__proto__||Object.getPrototypeOf(g)).apply(this,arguments);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");a=!a||"object"!==typeof a&&"function"!==typeof a?this:a;a.hashTable=new f.a;a.changed=new c.b;return a}k(g,e);$jscomp.initSymbol();$jscomp.initSymbolIterator();a(g,[{key:"disposed",value:function(){b(g.prototype.__proto__||Object.getPrototypeOf(g.prototype),
+"disposed",this).call(this);this.changed=this.hashTable=void 0}},{key:"add_",value:function(a){return this.hashTable.add(a)}},{key:"add",value:function(a){if(this.add_(a)){var b=this.rpc;b&&b.invoke("Uint64Set.add",{id:this.rpcId,value:a});this.changed.dispatch(a,!0)}}},{key:"has",value:function(a){return this.hashTable.has(a)}},{key:Symbol.iterator,value:function(){return this.hashTable.keys()}},{key:"delete_",value:function(a){return this.hashTable.delete(a)}},{key:"delete",value:function(a){if(this.delete_(a)){var b=
+this.rpc;b&&b.invoke("Uint64Set.delete",{id:this.rpcId,value:a});this.changed.dispatch(a,!1)}}},{key:"clear",value:function(){if(this.hashTable.clear()){var a=this.rpc;a&&a.invoke("Uint64Set.clear",{id:this.rpcId});this.changed.dispatch(null,!1)}}},{key:"toJSON",value:function(){for(var a=[],b=$jscomp.makeIterator(this),c=b.next();!c.done;c=b.next())a.push(c.value.toString());a.sort();return a}},{key:"size",get:function(){return this.hashTable.size}}],[{key:"makeWithCounterpart",value:function(a){var b=
+new d;b.initializeCounterpart(a);return b}}]);return g}(p.c);m=d=e([Object(p.g)("Uint64Set")],m);Object(p.f)("Uint64Set.add",function(a){var b=this.get(a.id);b.add_(a.value)&&b.changed.dispatch()});Object(p.f)("Uint64Set.delete",function(a){var b=this.get(a.id);b.delete_(a.value)&&b.changed.dispatch()});Object(p.f)("Uint64Set.clear",function(a){a=this.get(a.id);a.hashTable.clear()&&a.changed.dispatch()});var d},function(p,e,m){function k(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
+return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function f(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}m.d(e,"a",function(){return w});var a=
+m(94),b=m(5),d=function J(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return J(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},n=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),
+l=0,g=0,r=0,C=0;p=function(){function d(a){a=void 0===a?d.generateHashFunctions(3):a;c(this,d);this.loadFactor=.9;this.size=0;this.growFactor=1.2;this.maxHeight=8192;this.emptyHigh=this.emptyLow=4294967295;this.maxAttempts=this.maxRehashAttempts=5;this.maxWidth=4096/this.entryStride;this.generation=0;this.mungedEmptyKey=-1;this.hashFunctions=a;this.allocate(4,1)}n(d,[{key:"updateHashFunctions",value:function(a){this.hashFunctions=d.generateHashFunctions(a);this.mungedEmptyKey=-1}},{key:"tableWithMungedEmptyKey",
+value:function(a){for(var b=this.hashFunctions.length,c=Array(b),d=0;d<b;++d)c[d]=this.getHash(d,this.emptyLow,this.emptyHigh);d=this.mungedEmptyKey;if(-1===d)a:for(;;){d=16777216*Math.random()>>>0;for(var g=0;g<b;++g)for(var f=this.getHash(g,d,d),e=0;e<b;++e)if(c[e]===f)continue a;this.mungedEmptyKey=d;break}g=this.table;f=this.emptyLow;e=this.emptyHigh;for(var h=0;h<b;++h){var l=c[h];g[l]===f&&g[l+1]===e&&(g[l]=d,g[l+1]=d)}try{a(g)}finally{for(a=0;a<b;++a)h=c[a],g[h]===d&&g[h+1]===d&&(g[h]=f,g[h+
+1]=e)}}},{key:"getHash",value:function(a,b,c){a=this.hashFunctions[a];var d=this.width,g=this.height;d=a[0].compute(b,c)%d;b=a[1].compute(b,c)%g;return this.entryStride*(b*this.width+d)}},{key:"keys",value:function(a){function c(c,q){for(;;)switch(d){case 0:a=void 0===a?new b.a:a,r=v,p=r.emptyLow,n=r.emptyHigh,m=r.entryStride,k=v,l=k.table,h=0,e=l.length;case 1:if(!(h<e)){d=3;break}f=l[h];g=l[h+1];if(f===p&&g===n){d=4;break}a.low=f;a.high=g;d=5;return{value:a,done:!1};case 5:if(void 0===q){d=6;break}d=
+-1;throw q;case 6:case 4:case 2:h+=m;d=1;break;case 3:d=-1;default:return{value:void 0,done:!0}}}var d=0,g,f,e,h,l,k,m,n,p,r,v=this,u={next:function(a){return c(a,void 0)},throw:function(a){return c(void 0,a)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();u[Symbol.iterator]=function(){return this};return u}},{key:"indexOfPair",value:function(a,b){var c=this.table,d=this.emptyHigh;if(a===this.emptyLow&&b===d)return-1;d=0;for(var g=this.hashFunctions.length;d<
+g;++d){var f=this.getHash(d,a,b);if(c[f]===a&&c[f+1]===b)return f}return-1}},{key:"indexOf",value:function(a){return this.indexOfPair(a.low,a.high)}},{key:"chooseAnotherEmptyKey",value:function(){for(var a=this.emptyLow,b=this.emptyHigh,c=this.table,d=this.entryStride,g,f;g=4294967296*Math.random()>>>0,f=4294967296*Math.random()>>>0,g===a&&f===b||this.hasPair(g,f););this.emptyLow=g;this.emptyHigh=f;for(var e=0,h=c.length;e<h;e+=d)c[e]===a&&c[e+1]===b&&(c[e]=g,c[e+1]=f)}},{key:"has",value:function(a){return-1!==
+this.indexOf(a)}},{key:"hasPair",value:function(a,b){return-1!==this.indexOfPair(a,b)}},{key:"delete",value:function(a){a=this.indexOf(a);if(-1!==a){var b=this.table;b[a]=this.emptyLow;b[a+1]=this.emptyHigh;++this.generation;this.size--;return!0}return!1}},{key:"clearTable",value:function(){for(var a=this.table,b=this.entryStride,c=this.emptyLow,d=this.emptyHigh,g=a.length,f=0;f<g;f+=b)a[f]=c,a[f+1]=d}},{key:"clear",value:function(){if(0===this.size)return!1;this.size=0;++this.generation;this.clearTable();
+return!0}},{key:"swapPending",value:function(a,b){var c=l,d=g;this.storePending(a,b);a[b]=c;a[b+1]=d}},{key:"storePending",value:function(a,b){l=a[b];g=a[b+1]}},{key:"backupPending",value:function(){r=l;C=g}},{key:"restorePending",value:function(){l=r;g=C}},{key:"tryToInsert",value:function(){for(var a=0,b=this.emptyLow,c=this.emptyHigh,d=this.maxAttempts,f=this.table,e=this.hashFunctions.length,h=Math.floor(Math.random()*e);;){var k=this.getHash(h,l,g);this.swapPending(f,k);if(l===b&&g===c)return!0;
+if(++a===d)break;h=(h+Math.floor(Math.random()*(e-1))+1)%e}return!1}},{key:"allocate",value:function(a,b){var c=a*b;this.width=a;this.height=b;this.table=new Uint32Array(c*this.entryStride);this.maxAttempts=c;this.clearTable();this.capacity=c*this.loadFactor;this.mungedEmptyKey=-1}},{key:"rehash",value:function(a,b,c){this.allocate(b,c);this.updateHashFunctions(this.hashFunctions.length);b=this.emptyLow;c=this.emptyHigh;for(var d=this.entryStride,g=0,f=a.length;g<f;g+=d){var e=a[g+1];if(a[g]!==b||
+e!==c)if(this.storePending(a,g),!this.tryToInsert())return!1}return!0}},{key:"grow",value:function(a){for(var b=this.table,c=this.width,d=this.height,g=this.maxWidth,f=this.maxHeight;;){var e=c*d;c=Math.min(g,Math.ceil(a/this.height));c*d<a&&(d=Math.min(f,Math.ceil(a/c)));var h=c*d;if(h<a&&h===e)throw Error("Maximum table size exceeded");for(e=0;e<this.maxRehashAttempts;++e)if(this.rehash(b,c,d))return;a=Math.ceil(this.growFactor*a)}}},{key:"insertInternal",value:function(){++this.generation;l===
+this.emptyLow&&g===this.emptyHigh&&this.chooseAnotherEmptyKey();++this.size>this.capacity&&(this.backupPending(),this.grow(Math.ceil(this.growFactor*this.width*this.height)),this.restorePending());for(;!this.tryToInsert();)this.backupPending(),this.grow(this.width*this.height),this.restorePending()}}],[{key:"generateHashFunctions",value:function(b){b=void 0===b?3:b;for(var c=[],d=0;d<b;++d){var g=[a.a.generate(),a.a.generate()];c.push(g)}return c}}]);return d}();var w=function(a){function b(){c(this,
+b);return k(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}f(b,a);$jscomp.initSymbol();$jscomp.initSymbolIterator();n(b,[{key:"add",value:function(a){var b=a.low;a=a.high;if(this.hasPair(b,a))return!1;l=b;g=a;this.insertInternal();return!0}},{key:Symbol.iterator,value:function(){return this.keys()}}]);return b}(p);w.prototype.entryStride=2;var h=0,B=0,I=0,u=0;(function(a){function e(){c(this,e);return k(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}f(e,a);
+$jscomp.initSymbol();$jscomp.initSymbolIterator();n(e,[{key:"set",value:function(a,b){var c=a.low;a=a.high;if(this.hasPair(c,a))return!1;l=c;g=a;h=b.low;B=b.high;this.insertInternal();return!0}},{key:"get",value:function(a,b){a=this.indexOf(a);if(-1===a)return!1;var c=this.table;b.low=c[a+2];b.high=c[a+3];return!0}},{key:"swapPending",value:function(a,b){var c=h,g=B;d(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"swapPending",this).call(this,a,b);a[b+2]=c;a[b+3]=g}},{key:"storePending",
+value:function(a,b){d(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"storePending",this).call(this,a,b);h=a[b+2];B=a[b+3]}},{key:"backupPending",value:function(){d(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"backupPending",this).call(this);I=h;u=B}},{key:"restorePending",value:function(){d(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"restorePending",this).call(this);h=I;B=u}},{key:Symbol.iterator,value:function(){return this.entries()}},{key:"entries",value:function(a){function c(c,
+q){for(;;)switch(d){case 0:a=void 0===a?[new b.a,new b.a]:a,M=R,y=M.emptyLow,u=M.emptyHigh,r=M.entryStride,p=R,n=p.table,m=$jscomp.makeIterator(a),k=m.next().value,l=m.next().value,h=0,e=n.length;case 1:if(!(h<e)){d=3;break}f=n[h];g=n[h+1];if(f===y&&g===u){d=4;break}k.low=f;k.high=g;l.low=n[h+2];l.high=n[h+3];d=5;return{value:a,done:!1};case 5:if(void 0===q){d=6;break}d=-1;throw q;case 6:case 4:case 2:h+=r;d=1;break;case 3:d=-1;default:return{value:void 0,done:!0}}}var d=0,g,f,e,h,l,k,m,n,p,r,u,y,
+M,R=this,v={next:function(a){return c(a,void 0)},throw:function(a){return c(void 0,a)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();v[Symbol.iterator]=function(){return this};return v}}]);return e})(p).prototype.entryStride=4},function(p,e,m){m.d(e,"a",function(){return f});var k=function(){function c(a,b){for(var c=0;c<b.length;c++){var f=b[c];f.enumerable=f.enumerable||!1;f.configurable=!0;"value"in f&&(f.writable=!0);Object.defineProperty(a,f.key,f)}}return function(a,
+b,d){b&&c(a.prototype,b);d&&c(a,d);return a}}(),f=function(){function c(a,b,d,f){if(!(this instanceof c))throw new TypeError("Cannot call a class as a function");this.a0=a;this.a1=b;this.b=d;this.c=f}k(c,[{key:"computeDotProduct",value:function(a,b){var c=this.a0,f=this.a1;return c[0]*(a&255)+c[1]*(a>>8&255)+c[2]*(a>>16&255)+c[3]*(a>>24&255)+(f[0]*(b&255)+f[1]*(b>>8&255)+f[2]*(b>>16&255)+f[3]*(b>>24&255))}},{key:"compute",value:function(a,b){var c=this.b,f=this.c;a=this.computeDotProduct(a,b);return(a+
+a*a%4093*f+c)%4093}},{key:"toString",value:function(){return"new HashFunction(Float32Array.of("+this.a0+"), "+("Float32Array.of("+this.a1+"), "+this.b+", "+this.c+")")}}],[{key:"generate",value:function(){function a(){return Math.floor(4093*Math.random())}return new c(Float32Array.of(a(),a(),a(),a()),Float32Array.of(a(),a(),a(),a()),a(),a())}}]);return c}()},function(p,e,m){e.a="skeleton/SkeletonLayer"},function(p,e,m){function k(c,e,k,m,h,p,I,u){var g=h[0],r=h[1],v=h[2];h=m[0];var w=m[1];m=m[2];
+var t=k[0],z=k[1],C=k[2];C-=z*r;z-=t*g;if(0===g*r*v)return[0,0];k=h*w*m+31;if(void 0===a||a.length<k)a=new Uint32Array(k),b=new Uint32Array(1*k),d=new Uint32Array(1*k),n=new Uint32Array(k),l=new Uint32Array(k);k=a.subarray(0,k);k.fill(0);for(var q=b,G=d,L=n,K=l,D=0,E=c[e]+1>>>0,B=0,N=h-g,O=h*w-h*r,F=0;F<v;++F,e+=C,B+=O)for(var y=0;y<r;++y,e+=z,B+=N)for(var M=0;M<g;++M,e+=t){var R=c[e];R!==E&&(E=q[1*D]=R,L[D]=D++);k[B++]=D}L.subarray(0,D).sort(function(a,b){return q[a]-q[b]});c=-1;g=q[1*L[0]]+1>>>
+0;for(r=0;r<D;++r)v=L[r],t=q[1*v],t!==g&&(++c,g=G[1*c]=t),K[v+1]=c;++c;return Object(f.c)(u,p,I,h*w*m,c,G,k,K,1)}e.a=function(a,b,d,e,h,l){h=void 0===h?0:h;l=void 0===l?Object(c.a)(e,1):l;return Object(f.b)(a,b,d,e,h,l,k)};var f=m(22),c=m(20),a,b,d,n,l},function(p,e,m){function k(c,e,k,m,h,p,I,u){var g=h[0],r=h[1],v=h[2];h=m[0];var w=m[1];m=m[2];var t=k[0],z=k[1],H=k[2];H-=z*r;z-=t*g;if(0===g*r*v)return[0,0];k=h*w*m+31;if(void 0===a||a.length<k)a=new Uint32Array(k),b=new Uint32Array(2*k),d=new Uint32Array(2*
+k),n=new Uint32Array(k),l=new Uint32Array(k);k=a.subarray(0,k);k.fill(0);for(var q=b,G=d,L=n,K=l,D=0,C=c[e]+1>>>0,B=0,N=0,O=h-g,F=h*w-h*r,y=0;y<v;++y,e+=H,N+=F)for(var M=0;M<r;++M,e+=z,N+=O)for(var R=0;R<g;++R,e+=t){var X=c[e],ba=c[e+1];if(X!==C||ba!==B)C=q[2*D]=X,B=q[2*D+1]=ba,L[D]=D++;k[N++]=D}L.subarray(0,D).sort(function(a,b){var c=q[2*a],d=q[2*b];return q[2*a+1]-q[2*b+1]||c-d});c=-1;g=q[2*L[0]]+1>>>0;for(r=z=0;r<D;++r){v=L[r];H=2*v;t=q[H];H=q[H+1];if(t!==g||H!==z)++c,z=2*c,g=G[z]=t,z=G[z+1]=
+H;K[v+1]=c}++c;return Object(f.c)(u,p,I,h*w*m,c,G,k,K,2)}e.a=function(a,b,d,e,h,l){h=void 0===h?0:h;l=void 0===l?Object(c.a)(e,2):l;return Object(f.b)(a,b,d,e,h,l,k)};var f=m(22),c=m(20),a,b,d,n,l},function(p,e,m){m.d(e,"a",function(){return f});var k=function(){function c(a,b){for(var c=0;c<b.length;c++){var f=b[c];f.enumerable=f.enumerable||!1;f.configurable=!0;"value"in f&&(f.writable=!0);Object.defineProperty(a,f.key,f)}}return function(a,b,d){b&&c(a.prototype,b);d&&c(a,d);return a}}(),f=function(){function c(a){a=
+void 0===a?16:a;if(!(this instanceof c))throw new TypeError("Cannot call a class as a function");this.length=0;this.data=new Uint32Array(a)}k(c,[{key:"resize",value:function(a){var b=this.data;if(a>b.length){var c=new Uint32Array(Math.max(a,2*b.length));c.set(b.subarray(0,this.length));this.data=c}this.length=a}},{key:"shrinkToFit",value:function(){this.data=new Uint32Array(this.view)}},{key:"clear",value:function(){this.length=0}},{key:"appendArray",value:function(a){var b=this.length;this.resize(b+
+a.length);this.data.set(a,b)}},{key:"eraseRange",value:function(a,b){this.data.copyWithin(a,b,this.length);this.length-=b-a}},{key:"view",get:function(){var a=this.data;return new Uint32Array(a.buffer,a.byteOffset,this.length)}}]);return c}()},function(p,e,m){e.a=function(a,b,d){var e=new k.JpegDecoder;e.parse(a);if(e.width*e.height!==b[0]*b[1]*b[2])throw Error("JPEG data does not have the expected dimensions: "+("width="+e.width+", height="+e.height+", ")+("chunkDataSize="+c.m.str(b)));if(e.numComponents!==
+d)throw Error("JPEG data does not have the expected number of components: "+("components="+e.numComponents+", expected="+d));if(1===e.numComponents)return e.getData(e.width,e.height,!1);if(3===e.numComponents)return a=e.getData(e.width,e.height,!1),Object(f.c)(a,e.width*e.height,3);throw Error("JPEG data has an unsupported number of components: components="+e.numComponents);};var k=m(100);m.n(k);var f=m(20),c=m(1)},function(p,e,m){function k(c,a){if(0===c.indexOf("data:")){var b=c.indexOf("base64,")+
+7;c=atob(c.substring(b));b=new Uint8Array(c.length);for(var d=c.length-1;0<=d;d--)b[d]=c.charCodeAt(d);a(b.buffer)}else{var f=new XMLHttpRequest;f.open("GET",c,!0);f.responseType="arraybuffer";f.onload=function(){a(f.response)};f.send(null)}}e=function(){function c(){this._src=null;this._parser=new f.JpegImage;this.onload=null}c.prototype={get src(){return this._src},set src(a){this.load(a)},get width(){return this._parser.width},get height(){return this._parser.height},load:function(a){this._src=
+a;k(a,function(a){this.parse(new Uint8Array(a));if(this.onload)this.onload()}.bind(this))},parse:function(a){this._parser.parse(a)},getData:function(a,b){return this._parser.getData(a,b,!1)},copyToImageData:function(a){if(2===this._parser.numComponents||4<this._parser.numComponents)throw Error("Unsupported amount of components");var b=a.width,c=a.height,f=b*c*4;a=a.data;if(1===this._parser.numComponents){var e=this._parser.getData(b,c,!1);for(c=b=0;b<f;){var g=e[c++];a[b++]=g;a[b++]=g;a[b++]=g;a[b++]=
+255}}else for(e=this._parser.getData(b,c,!0),c=b=0;b<f;)a[b++]=e[c++],a[b++]=e[c++],a[b++]=e[c++],a[b++]=255}};return c}();var f;(function(c){function a(a){for(var b=1,c=0;a>b;)b<<=1,c++;return c}function b(a,b){return a[b]<<8|a[b+1]}function d(a,b){return(a[b]<<24|a[b+1]<<16|a[b+2]<<8|a[b+3])>>>0}function f(a,b,c){Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!1});return c}var e=function(){function a(){}function b(a,b){for(var c=0,d=[],g,f,e=16;0<e&&!a[e-1];)e--;d.push({children:[],
+index:0});var h=d[0],k;for(g=0;g<e;g++){for(f=0;f<a[g];f++){h=d.pop();for(h.children[h.index]=b[c];0<h.index;)h=d.pop();h.index++;for(d.push(h);d.length<=g;)d.push(k={children:[],index:0}),h.children[h.index]=k.children,h=k;c++}g+1<e&&(d.push(k={children:[],index:0}),h.children[h.index]=k.children,h=k)}return d[0].children}function c(a,b,c,d,g,e,h,k,l){function q(){if(0<K)return K--,v>>K&1;v=a[b++];if(255===v){var c=a[b++];if(c)throw"unexpected marker: "+(v<<8|c).toString(16);}K=7;return v>>>7}function m(a){for(;;){a=
+a[q()];if("number"===typeof a)return a;if("object"!==typeof a)throw"invalid huffman sequence";}}function t(a){for(var b=0;0<a;)b=b<<1|q(),a--;return b}function n(a){if(1===a)return 1===q()?1:-1;var b=t(a);return b>=1<<a-1?b:b+(-1<<a)+1}function y(a,b){var c=m(a.huffmanTableDC);c=0===c?0:n(c);a.blockData[b]=a.pred+=c;for(c=1;64>c;){var d=m(a.huffmanTableAC),g=d&15;d>>=4;if(0===g){if(15>d)break;c+=16}else c+=d,a.blockData[b+f[c]]=n(g),c++}}function p(a,b){var c=m(a.huffmanTableDC);c=0===c?0:n(c)<<l;
+a.blockData[b]=a.pred+=c}function r(a,b){a.blockData[b]|=q()<<l}function L(a,b){if(0<D)D--;else for(var c=e;c<=h;){var d=m(a.huffmanTableAC),g=d&15;d>>=4;if(0===g){if(15>d){D=t(d)+(1<<d)-1;break}c+=16}else c+=d,a.blockData[b+f[c]]=n(g)*(1<<l),c++}}function G(a,b){for(var c=e,d=0,g;c<=h;){g=f[c];switch(w){case 0:d=m(a.huffmanTableAC);g=d&15;d>>=4;if(0===g)15>d?(D=t(d)+(1<<d),w=4):(d=16,w=1);else{if(1!==g)throw"invalid ACn encoding";x=n(g);w=d?2:3}continue;case 1:case 2:a.blockData[b+g]?a.blockData[b+
+g]+=q()<<l:(d--,0===d&&(w=2===w?3:0));break;case 3:a.blockData[b+g]?a.blockData[b+g]+=q()<<l:(a.blockData[b+g]=x<<l,w=0);break;case 4:a.blockData[b+g]&&(a.blockData[b+g]+=q()<<l)}c++}4===w&&(D--,0===D&&(w=0))}var z=c.mcusPerLine,u=b,v=0,K=0,D=0,w=0,x,A=d.length,C,H,E,J;k=c.progressive?0===e?0===k?p:r:0===k?L:G:y;var B=0;c=1===A?d[0].blocksPerLine*d[0].blocksPerColumn:z*c.mcusPerColumn;g||(g=c);for(var I,Ja;B<c;){for(C=0;C<A;C++)d[C].pred=0;D=0;if(1===A){var Z=d[0];for(J=0;J<g;J++)k(Z,64*((Z.blocksPerLine+
+1)*(B/Z.blocksPerLine|0)+B%Z.blocksPerLine)),B++}else for(J=0;J<g;J++){for(C=0;C<A;C++)for(Z=d[C],I=Z.h,Ja=Z.v,H=0;H<Ja;H++)for(E=0;E<I;E++)k(Z,64*((Z.blocksPerLine+1)*((B/z|0)*Z.v+H)+(B%z*Z.h+E)));B++}K=0;Z=a[b]<<8|a[b+1];if(65280>=Z)throw"marker was not found";if(65488<=Z&&65495>=Z)b+=2;else break}return b-u}function d(a,b){a=b.blocksPerLine;for(var c=b.blocksPerColumn,d=new Int16Array(64),g=0;g<c;g++)for(var f=0;f<a;f++){for(var e,h,k,l,m,t,n,y,p,r,z,u,v=64*((b.blocksPerLine+1)*g+f),P=d,w=b.quantizationTable,
+x=b.blockData,A=0;64>A;A+=8)e=x[v+A],y=x[v+A+1],n=x[v+A+2],t=x[v+A+3],m=x[v+A+4],l=x[v+A+5],k=x[v+A+6],h=x[v+A+7],e*=w[A],0===(y|n|t|m|l|k|h)?(e=5793*e+512>>10,P[A]=e,P[A+1]=e,P[A+2]=e,P[A+3]=e,P[A+4]=e,P[A+5]=e,P[A+6]=e,P[A+7]=e):(y*=w[A+1],n*=w[A+2],t*=w[A+3],m*=w[A+4],l*=w[A+5],k*=w[A+6],h*=w[A+7],u=5793*e+128>>8,z=5793*m+128>>8,r=n,p=k,m=2896*(y-h)+128>>8,h=2896*(y+h)+128>>8,t<<=4,l<<=4,u=u+z+1>>1,z=u-z,e=3784*r+1567*p+128>>8,r=1567*r-3784*p+128>>8,p=e,m=m+l+1>>1,l=m-l,h=h+t+1>>1,t=h-t,u=u+p+
+1>>1,p=u-p,z=z+r+1>>1,r=z-r,e=2276*m+3406*h+2048>>12,m=3406*m-2276*h+2048>>12,h=e,e=799*t+4017*l+2048>>12,t=4017*t-799*l+2048>>12,l=e,P[A]=u+h,P[A+7]=u-h,P[A+1]=z+l,P[A+6]=z-l,P[A+2]=r+t,P[A+5]=r-t,P[A+3]=p+m,P[A+4]=p-m);for(w=0;8>w;++w)e=P[w],y=P[w+8],n=P[w+16],t=P[w+24],m=P[w+32],l=P[w+40],k=P[w+48],h=P[w+56],0===(y|n|t|m|l|k|h)?(e=5793*e+8192>>14,e=-2040>e?0:2024<=e?255:e+2056>>4,x[v+w]=e,x[v+w+8]=e,x[v+w+16]=e,x[v+w+24]=e,x[v+w+32]=e,x[v+w+40]=e,x[v+w+48]=e,x[v+w+56]=e):(u=5793*e+2048>>12,z=5793*
+m+2048>>12,r=n,p=k,m=2896*(y-h)+2048>>12,h=2896*(y+h)+2048>>12,u=(u+z+1>>1)+4112,z=u-z,e=3784*r+1567*p+2048>>12,r=1567*r-3784*p+2048>>12,p=e,m=m+l+1>>1,l=m-l,h=h+t+1>>1,t=h-t,u=u+p+1>>1,p=u-p,z=z+r+1>>1,r=z-r,e=2276*m+3406*h+2048>>12,m=3406*m-2276*h+2048>>12,h=e,e=799*t+4017*l+2048>>12,t=4017*t-799*l+2048>>12,l=e,e=u+h,h=u-h,y=z+l,k=z-l,n=r+t,l=r-t,t=p+m,m=p-m,e=16>e?0:4080<=e?255:e>>4,y=16>y?0:4080<=y?255:y>>4,n=16>n?0:4080<=n?255:n>>4,t=16>t?0:4080<=t?255:t>>4,m=16>m?0:4080<=m?255:m>>4,l=16>l?0:
+4080<=l?255:l>>4,k=16>k?0:4080<=k?255:k>>4,h=16>h?0:4080<=h?255:h>>4,x[v+w]=e,x[v+w+8]=y,x[v+w+16]=n,x[v+w+24]=t,x[v+w+32]=m,x[v+w+40]=l,x[v+w+48]=k,x[v+w+56]=h)}return b.blockData}function g(a){return 0>=a?0:255<=a?255:a}var f=new Uint8Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]);a.prototype={parse:function(a){function g(){var b=a[l]<<8|a[l+1];l+=2;return b}
+function e(){var b=g();b=a.subarray(l,l+b-2);l+=b.length;return b}function h(a){for(var b=Math.ceil(a.samplesPerLine/8/a.maxH),c=Math.ceil(a.scanLines/8/a.maxV),d=0;d<a.components.length;d++){P=a.components[d];var g=Math.ceil(Math.ceil(a.samplesPerLine/8)*P.h/a.maxH),e=Math.ceil(Math.ceil(a.scanLines/8)*P.v/a.maxV);P.blockData=new Int16Array(64*c*P.v*(b*P.h+1));P.blocksPerLine=g;P.blocksPerColumn=e}a.mcusPerLine=b;a.mcusPerColumn=c}var l=0,k=null,m=null,t=[],n=[],p=[];var r=g();if(65496!==r)throw"SOI not found";
+for(r=g();65497!==r;){switch(r){case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:case 65534:var u=e();65504===r&&74===u[0]&&70===u[1]&&73===u[2]&&70===u[3]&&0===u[4]&&(k={version:{major:u[5],minor:u[6]},densityUnits:u[7],xDensity:u[8]<<8|u[9],yDensity:u[10]<<8|u[11],thumbWidth:u[12],thumbHeight:u[13],thumbData:u.subarray(14,14+3*u[12]*u[13])});65518===r&&65===u[0]&&100===
+u[1]&&111===u[2]&&98===u[3]&&101===u[4]&&0===u[5]&&(m={version:u[6],flags0:u[7]<<8|u[8],flags1:u[9]<<8|u[10],transformCode:u[11]});break;case 65499:r=g()+l-2;for(var v;l<r;){var y=a[l++],M=new Uint16Array(64);if(0===y>>4)for(u=0;64>u;u++)v=f[u],M[v]=a[l++];else if(1===y>>4)for(u=0;64>u;u++)v=f[u],M[v]=g();else throw"DQT: invalid table spec";t[y&15]=M}break;case 65472:case 65473:case 65474:if(w)throw"Only single frame JPEGs supported";g();var w={};w.extended=65473===r;w.progressive=65474===r;w.precision=
+a[l++];w.scanLines=g();w.samplesPerLine=g();w.components=[];w.componentIds={};u=a[l++];for(r=M=y=0;r<u;r++){v=a[l];var X=a[l+1]>>4;var ba=a[l+1]&15;y<X&&(y=X);M<ba&&(M=ba);X=w.components.push({h:X,v:ba,quantizationTable:t[a[l+2]]});w.componentIds[v]=X-1;l+=3}w.maxH=y;w.maxV=M;h(w);break;case 65476:v=g();for(r=2;r<v;){y=a[l++];M=new Uint8Array(16);for(u=X=0;16>u;u++,l++)X+=M[u]=a[l];ba=new Uint8Array(X);for(u=0;u<X;u++,l++)ba[u]=a[l];r+=17+X;(0===y>>4?p:n)[y&15]=b(M,ba)}break;case 65501:g();var A=
+g();break;case 65498:g();v=a[l++];u=[];for(r=0;r<v;r++){y=w.componentIds[a[l++]];var P=w.components[y];y=a[l++];P.huffmanTableDC=p[y>>4];P.huffmanTableAC=n[y&15];u.push(P)}r=a[l++];v=a[l++];y=a[l++];r=c(a,l,w,u,A,r,v,y>>4,y&15);l+=r;break;case 65535:255!==a[l]&&l--;break;default:if(255===a[l-3]&&192<=a[l-2]&&254>=a[l-2])l-=3;else throw"unknown JPEG marker "+r.toString(16);}r=g()}this.width=w.samplesPerLine;this.height=w.scanLines;this.jfif=k;this.adobe=m;this.components=[];for(r=0;r<w.components.length;r++)P=
+w.components[r],this.components.push({output:d(w,P),scaleX:P.h/w.maxH,scaleY:P.v/w.maxV,blocksPerLine:P.blocksPerLine,blocksPerColumn:P.blocksPerColumn});this.numComponents=this.components.length},_getLinearizedBlockData:function(a,b){var c=this.width/a,d=this.height/b,g,e,f=this.components.length,h=a*b*f,l=new Uint8Array(h),k=new Uint32Array(a);for(e=0;e<f;e++){var m=this.components[e];var t=m.scaleX*c;var n=m.scaleY*d;var y=e;var p=m.output;var r=m.blocksPerLine+1<<3;for(g=0;g<a;g++)m=0|g*t,k[g]=
+(m&4294967288)<<3|m&7;for(t=0;t<b;t++)for(m=0|t*n,m=r*(m&4294967288)|(m&7)<<3,g=0;g<a;g++)l[y]=p[m+k[g]],y+=f}if(b=this.decodeTransform)for(e=0;e<h;)for(a=m=0;m<f;m++,e++,a+=2)l[e]=(l[e]*b[a]>>8)+b[a+1];return l},_isColorConversionNeeded:function(){return this.adobe&&this.adobe.transformCode?!0:3===this.numComponents?!0:!1},_convertYccToRgb:function(a){for(var b,c,d,e=0,f=a.length;e<f;e+=3)b=a[e],c=a[e+1],d=a[e+2],a[e]=g(b-179.456+1.402*d),a[e+1]=g(b+135.459-.344*c-.714*d),a[e+2]=g(b-226.816+1.772*
+c);return a},_convertYcckToRgb:function(a){for(var b,c,d,e,f=0,h=0,l=a.length;h<l;h+=4){b=a[h];c=a[h+1];d=a[h+2];e=a[h+3];var k=-122.67195406894+c*(-6.60635669420364E-5*c+4.37130475926232E-4*d-5.4080610064599E-5*b+4.8449797120281E-4*e-.154362151871126)+d*(-9.57964378445773E-4*d+8.17076911346625E-4*b-.00477271405408747*e+1.53380253221734)+b*(9.61250184130688E-4*b-.00266257332283933*e+.48357088451265)+e*(-3.36197177618394E-4*e+.484791561490776),m=107.268039397724+c*(2.19927104525741E-5*c-6.40992018297945E-4*
+d+6.59397001245577E-4*b+4.26105652938837E-4*e-.176491792462875)+d*(-7.78269941513683E-4*d+.00130872261408275*b+7.70482631801132E-4*e-.151051492775562)+b*(.00126935368114843*b-.00265090189010898*e+.25802910206845)+e*(-3.18913117588328E-4*e-.213742400323665);b=-20.810012546947+c*(-5.70115196973677E-4*c-2.63409051004589E-5*d+.0020741088115012*b-.00288260236853442*e+.814272968359295)+d*(-1.53496057440975E-5*d-1.32689043961446E-4*b+5.60833691242812E-4*e-.195152027534049)+b*(.00174418132927582*b-.00255243321439347*
+e+.116935020465145)+e*(-3.43531996510555E-4*e+.24165260232407);a[f++]=g(k);a[f++]=g(m);a[f++]=g(b)}return a},_convertYcckToCmyk:function(a){for(var b,c,d,e=0,f=a.length;e<f;e+=4)b=a[e],c=a[e+1],d=a[e+2],a[e]=g(434.456-b-1.402*d),a[e+1]=g(119.541-b+.344*c+.714*d),a[e+2]=g(481.816-b-1.772*c);return a},_convertCmykToRgb:function(a){for(var b,c,d,g,e=0,f=1/255/255,h=0,l=a.length;h<l;h+=4){b=a[h];c=a[h+1];d=a[h+2];g=a[h+3];var k=b*(-4.387332384609988*b+54.48615194189176*c+18.82290502165302*d+212.25662451639585*
+g-72734.4411664936)+c*(1.7149763477362134*c-5.6096736904047315*d-17.873870861415444*g-1401.7366389350734)+d*(-2.5217340131683033*d-21.248923337353073*g+4465.541406466231)-g*(21.86122147463605*g+48317.86113160301),m=b*(8.841041422036149*b+60.118027045597366*c+6.871425592049007*d+31.159100130055922*g-20220.756542821975)+c*(-15.310361306967817*c+17.575251261109482*d+131.35250912493976*g-48691.05921601825)+d*(4.444339102852739*d+9.8632861493405*g-6341.191035517494)-g*(20.737325471181034*g+47890.15695978492);
+b=b*(.8842522430003296*b+8.078677503112928*c+30.89978309703729*d-.23883238689178934*g-3616.812083916688)+c*(10.49593273432072*c+63.02378494754052*d+50.606957656360734*g-28620.90484698408)+d*(.03296041114873217*d+115.60384449646641*g-49363.43385999684)-g*(22.33816807309886*g+45932.16563550634);a[e++]=0<=k?255:-16581375>=k?0:255+k*f|0;a[e++]=0<=m?255:-16581375>=m?0:255+m*f|0;a[e++]=0<=b?255:-16581375>=b?0:255+b*f|0}return a},getData:function(a,b,c){if(4<this.numComponents)throw"Unsupported color mode";
+a=this._getLinearizedBlockData(a,b);if(3===this.numComponents)return this._convertYccToRgb(a);if(4===this.numComponents){if(this._isColorConversionNeeded())return c?this._convertYcckToRgb(a):this._convertYcckToCmyk(a);if(c)return this._convertCmykToRgb(a)}return a}};return a}();"use strict";var g=function(){function a(a,b,c){this.data=a;this.bp=b;this.dataEnd=c;this.chigh=a[b];this.clow=0;this.byteIn();this.chigh=this.chigh<<7&65535|this.clow>>9&127;this.clow=this.clow<<7&65535;this.ct-=7;this.a=
+32768}var b=[{qe:22017,nmps:1,nlps:1,switchFlag:1},{qe:13313,nmps:2,nlps:6,switchFlag:0},{qe:6145,nmps:3,nlps:9,switchFlag:0},{qe:2753,nmps:4,nlps:12,switchFlag:0},{qe:1313,nmps:5,nlps:29,switchFlag:0},{qe:545,nmps:38,nlps:33,switchFlag:0},{qe:22017,nmps:7,nlps:6,switchFlag:1},{qe:21505,nmps:8,nlps:14,switchFlag:0},{qe:18433,nmps:9,nlps:14,switchFlag:0},{qe:14337,nmps:10,nlps:14,switchFlag:0},{qe:12289,nmps:11,nlps:17,switchFlag:0},{qe:9217,nmps:12,nlps:18,switchFlag:0},{qe:7169,nmps:13,nlps:20,switchFlag:0},
+{qe:5633,nmps:29,nlps:21,switchFlag:0},{qe:22017,nmps:15,nlps:14,switchFlag:1},{qe:21505,nmps:16,nlps:14,switchFlag:0},{qe:20737,nmps:17,nlps:15,switchFlag:0},{qe:18433,nmps:18,nlps:16,switchFlag:0},{qe:14337,nmps:19,nlps:17,switchFlag:0},{qe:13313,nmps:20,nlps:18,switchFlag:0},{qe:12289,nmps:21,nlps:19,switchFlag:0},{qe:10241,nmps:22,nlps:19,switchFlag:0},{qe:9217,nmps:23,nlps:20,switchFlag:0},{qe:8705,nmps:24,nlps:21,switchFlag:0},{qe:7169,nmps:25,nlps:22,switchFlag:0},{qe:6145,nmps:26,nlps:23,
+switchFlag:0},{qe:5633,nmps:27,nlps:24,switchFlag:0},{qe:5121,nmps:28,nlps:25,switchFlag:0},{qe:4609,nmps:29,nlps:26,switchFlag:0},{qe:4353,nmps:30,nlps:27,switchFlag:0},{qe:2753,nmps:31,nlps:28,switchFlag:0},{qe:2497,nmps:32,nlps:29,switchFlag:0},{qe:2209,nmps:33,nlps:30,switchFlag:0},{qe:1313,nmps:34,nlps:31,switchFlag:0},{qe:1089,nmps:35,nlps:32,switchFlag:0},{qe:673,nmps:36,nlps:33,switchFlag:0},{qe:545,nmps:37,nlps:34,switchFlag:0},{qe:321,nmps:38,nlps:35,switchFlag:0},{qe:273,nmps:39,nlps:36,
+switchFlag:0},{qe:133,nmps:40,nlps:37,switchFlag:0},{qe:73,nmps:41,nlps:38,switchFlag:0},{qe:37,nmps:42,nlps:39,switchFlag:0},{qe:21,nmps:43,nlps:40,switchFlag:0},{qe:9,nmps:44,nlps:41,switchFlag:0},{qe:5,nmps:45,nlps:42,switchFlag:0},{qe:1,nmps:45,nlps:43,switchFlag:0},{qe:22017,nmps:46,nlps:46,switchFlag:0}];a.prototype={byteIn:function(){var a=this.data,b=this.bp;255===a[b]?143<a[b+1]?(this.clow+=65280,this.ct=8):(b++,this.clow+=a[b]<<9,this.ct=7,this.bp=b):(b++,this.clow+=b<this.dataEnd?a[b]<<
+8:65280,this.ct=8,this.bp=b);65535<this.clow&&(this.chigh+=this.clow>>16,this.clow&=65535)},readBit:function(a,c){var d=a[c]>>1,g=a[c]&1;d=b[d];var e=d.qe,f=this.a-e;if(this.chigh<e)f<e?(f=e,e=g,d=d.nmps):(f=e,e=1^g,1===d.switchFlag&&(g=e),d=d.nlps);else{this.chigh-=e;if(0!==(f&32768))return this.a=f,g;f<e?(e=1^g,1===d.switchFlag&&(g=e),d=d.nlps):(e=g,d=d.nmps)}do 0===this.ct&&this.byteIn(),f<<=1,this.chigh=this.chigh<<1&65535|this.clow>>15&1,this.clow=this.clow<<1&65535,this.ct--;while(0===(f&32768));
+this.a=f;a[c]=d<<1|g;return e}};return a}();"use strict";var k=function(){function c(){this.failOnCorruptedImage=!1}function e(a,b,c){a=c.xcb_;c=c.ycb_;var d=1<<a,g=1<<c,e=b.tbx0>>a,f=b.tby0>>c,h=b.tbx1+d-1>>a,l=b.tby1+g-1>>c,k=b.resolution.precinctParameters,q=[],m=[],n,y;for(y=f;y<l;y++)for(n=e;n<h;n++){var t={cbx:n,cby:y,tbx0:d*n,tby0:g*y,tbx1:d*(n+1),tby1:g*(y+1)};t.tbx0_=Math.max(b.tbx0,t.tbx0);t.tby0_=Math.max(b.tby0,t.tby0);t.tbx1_=Math.min(b.tbx1,t.tbx1);t.tby1_=Math.min(b.tby1,t.tby1);var p=
+Math.floor((t.tbx0_-b.tbx0)/k.precinctWidthInSubband)+Math.floor((t.tby0_-b.tby0)/k.precinctHeightInSubband)*k.numprecinctswide;t.precinctNumber=p;t.subbandType=b.type;t.Lblock=3;if(!(t.tbx1_<=t.tbx0_||t.tby1_<=t.tby0_)){q.push(t);var r=m[p];void 0!==r?(n<r.cbxMin?r.cbxMin=n:n>r.cbxMax&&(r.cbxMax=n),y<r.cbyMin?r.cbxMin=y:y>r.cbyMax&&(r.cbyMax=y)):m[p]=r={cbxMin:n,cbyMin:y,cbxMax:n,cbyMax:y};t.precinct=r}}b.codeblockParameters={codeblockWidth:a,codeblockHeight:c,numcodeblockwide:h-e+1,numcodeblockhigh:l-
+f+1};b.codeblocks=q;b.precincts=m}function f(a,b,c){var d=[];a=a.subbands;for(var g=0,e=a.length;g<e;g++)for(var f=a[g].codeblocks,h=0,l=f.length;h<l;h++){var k=f[h];k.precinctNumber===b&&d.push(k)}return{layerNumber:c,codeblocks:d}}function l(a){var b=a.tiles[a.currentTile.index],c=b.codingStyleDefaultParameters.layersCount,d=a.SIZ.Csiz,g=0;for(a=0;a<d;a++)g=Math.max(g,b.components[a].codingStyleParameters.decompositionLevelsCount);var e=0,h=0,l=0,k=0;this.nextPacket=function(){for(;e<c;e++){for(;h<=
+g;h++){for(;l<d;l++){var a=b.components[l];if(!(h>a.codingStyleParameters.decompositionLevelsCount)){a=a.resolutions[h];for(var q=a.precinctParameters.numprecincts;k<q;)return a=f(a,k,e),k++,a;k=0}}l=0}h=0}throw Error("JPX Error: Out of packets");}}function k(a){var b=a.tiles[a.currentTile.index],c=b.codingStyleDefaultParameters.layersCount,d=a.SIZ.Csiz,g=0;for(a=0;a<d;a++)g=Math.max(g,b.components[a].codingStyleParameters.decompositionLevelsCount);var e=0,h=0,l=0,k=0;this.nextPacket=function(){for(;e<=
+g;e++){for(;h<c;h++){for(;l<d;l++){var a=b.components[l];if(!(e>a.codingStyleParameters.decompositionLevelsCount)){a=a.resolutions[e];for(var q=a.precinctParameters.numprecincts;k<q;)return a=f(a,k,h),k++,a;k=0}}l=0}h=0}throw Error("JPX Error: Out of packets");}}function m(a){var b=a.tiles[a.currentTile.index],c=b.codingStyleDefaultParameters.layersCount,d=a.SIZ.Csiz,g,e,h,l=0;for(h=0;h<d;h++)l=Math.max(l,b.components[h].codingStyleParameters.decompositionLevelsCount);var k=new Int32Array(l+1);for(e=
+0;e<=l;++e){for(h=a=0;h<d;++h){var q=b.components[h].resolutions;e<q.length&&(a=Math.max(a,q[e].precinctParameters.numprecincts))}k[e]=a}var m=h=e=g=0;this.nextPacket=function(){for(;e<=l;e++){for(;m<k[e];m++){for(;h<d;h++){var a=b.components[h];if(!(e>a.codingStyleParameters.decompositionLevelsCount||(a=a.resolutions[e],m>=a.precinctParameters.numprecincts))){for(;g<c;)return a=f(a,m,g),g++,a;g=0}}h=0}m=0}throw Error("JPX Error: Out of packets");}}function n(a){var b=a.tiles[a.currentTile.index],
+c=b.codingStyleDefaultParameters.layersCount,d=a.SIZ.Csiz,g=q(b),e=0,h=0,l=0,k=0,m=0;this.nextPacket=function(){for(;m<g.maxNumHigh;m++){for(;k<g.maxNumWide;k++){for(;l<d;l++){for(var a=b.components[l],q=a.codingStyleParameters.decompositionLevelsCount;h<=q;h++){var n=a.resolutions[h],t=r(k,m,g.components[l].resolutions[h],g,n);if(null!==t){for(;e<c;)return a=f(n,t,e),e++,a;e=0}}h=0}l=0}k=0}throw Error("JPX Error: Out of packets");}}function p(a){var b=a.tiles[a.currentTile.index],c=b.codingStyleDefaultParameters.layersCount,
+d=a.SIZ.Csiz,g=q(b),e=0,h=0,l=0,k=0,m=0;this.nextPacket=function(){for(;l<d;++l){for(var a=b.components[l],q=g.components[l],n=a.codingStyleParameters.decompositionLevelsCount;m<q.maxNumHigh;m++){for(;k<q.maxNumWide;k++){for(;h<=n;h++){var t=a.resolutions[h],y=r(k,m,q.resolutions[h],q,t);if(null!==y){for(;e<c;)return a=f(t,y,e),e++,a;e=0}}h=0}k=0}m=0}throw Error("JPX Error: Out of packets");}}function r(a,b,c,d,g){a*=d.minWidth;b*=d.minHeight;return 0!==a%c.width||0!==b%c.height?null:a/c.height+b/
+c.width*g.precinctParameters.numprecinctswide}function q(a){for(var b=a.components.length,c=Number.MAX_VALUE,d=Number.MAX_VALUE,g=0,e=0,f=Array(b),h=0;h<b;h++){for(var l=a.components[h],k=l.codingStyleParameters.decompositionLevelsCount,q=Array(k+1),m=Number.MAX_VALUE,n=Number.MAX_VALUE,t=0,p=0,r=1;0<=k;--k){var u=l.resolutions[k],L=r*u.precinctParameters.precinctWidth,w=r*u.precinctParameters.precinctHeight;m=Math.min(m,L);n=Math.min(n,w);t=Math.max(t,u.precinctParameters.numprecinctswide);p=Math.max(p,
+u.precinctParameters.numprecinctshigh);q[k]={width:L,height:w};r<<=1}c=Math.min(c,m);d=Math.min(d,n);g=Math.max(g,t);e=Math.max(e,p);f[h]={resolutions:q,minWidth:m,minHeight:n,maxNumWide:t,maxNumHigh:p}}return{components:f,minWidth:c,minHeight:d,maxNumWide:g,maxNumHigh:e}}function w(b,c,d,g){function e(a){for(;q<a;){var b=c[d+l];l++;m?(k=k<<7|b,q+=7,m=!1):(k=k<<8|b,q+=8);255===b&&(m=!0)}q-=a;return k>>>q&(1<<a)-1}function f(a){return 255===c[d+l-1]&&c[d+l]===a?(l+=1,!0):255===c[d+l]&&c[d+l+1]===a?
+(l+=2,!0):!1}function h(){if(0===e(1))return 1;if(0===e(1))return 2;var a=e(2);if(3>a)return a+3;a=e(5);if(31>a)return a+6;a=e(7);return a+37}var l=0,k,q=0,m=!1,n=b.COD.sopMarkerUsed,t=b.COD.ephMarkerUsed;for(b=b.tiles[b.currentTile.index].packetsIterator;l<g;){q=0;m&&(l++,m=!1);n&&f(145)&&(l+=4);var y=b.nextPacket();if(e(1)){for(var p=y.layerNumber,r=[],u,L=0,w=y.codeblocks.length;L<w;L++){u=y.codeblocks[L];var M=u.precinct,v=u.cbx-M.cbxMin,z=u.cby-M.cbyMin,G=!1,A=!1;if(void 0!==u.included)G=!!e(1);
+else{M=u.precinct;if(void 0!==M.inclusionTree)var x=M.inclusionTree;else{var F=M.cbxMax-M.cbxMin+1;var R=M.cbyMax-M.cbyMin+1;x=new D(F,R,p);F=new C(F,R);M.inclusionTree=x;M.zeroBitPlanesTree=F}if(x.reset(v,z,p))for(;;)if(e(1)){if(R=!x.nextLevel()){G=A=u.included=!0;break}}else{x.incrementValue(p);break}}if(G){if(A){F=M.zeroBitPlanesTree;for(F.reset(v,z);;)if(e(1)){if(R=!F.nextLevel())break}else F.incrementValue();u.zeroBitPlanes=F.value}for(M=h();e(1);)u.Lblock++;v=a(M);v=e((M<1<<v?v-1:v)+u.Lblock);
+r.push({codeblock:u,codingpasses:M,dataLength:v})}}q=0;m&&(l++,m=!1);for(t&&f(146);0<r.length;)y=r.shift(),u=y.codeblock,void 0===u.data&&(u.data=[]),u.data.push({data:c,start:d+l,end:d+l+y.dataLength,codingpasses:y.codingpasses}),l+=y.dataLength}}return l}var L={LL:0,LH:1,HL:1,HH:2};c.prototype={parse:function(a){if(65359===b(a,0))this.parseCodestream(a,0,a.length);else for(var c=0,e=a.length;c<e;){var g=8,f=d(a,c),l=d(a,c+4);c+=g;1===f&&(f=4294967296*d(a,c)+d(a,c+4),c+=8,g+=8);0===f&&(f=e-c+g);
+if(f<g)throw Error("JPX Error: Invalid box field size");g=f-g;f=!0;switch(l){case 1785737832:f=!1;break;case 1668246642:l=a[c];if(1===l)switch(l=d(a,c+3),l){case 16:case 17:case 18:break;default:h("Unknown colorspace "+l)}else 2===l&&B("ICC profile not supported");break;case 1785737827:this.parseCodestream(a,c,c+g);break;case 1783636E3:218793738!==d(a,c)&&h("Invalid JP2 signature");break;case 1783634458:case 1718909296:case 1920099697:case 1919251232:case 1768449138:break;default:var k=String.fromCharCode(l>>
+24&255,l>>16&255,l>>8&255,l&255);h("Unsupported header type "+l+" ("+k+")")}f&&(c+=g)}},parseImageProperties:function(a){for(var b=a.getByte();0<=b;){var c=b;b=a.getByte();if(65361===(c<<8|b)){a.skip(4);b=a.getInt32()>>>0;c=a.getInt32()>>>0;var d=a.getInt32()>>>0,g=a.getInt32()>>>0;a.skip(16);a=a.getUint16();this.width=b-d;this.height=c-g;this.componentsCount=a;this.bitsPerComponent=8;return}}throw Error("JPX Error: No size marker found in JPX stream");},parseCodestream:function(a,c,f){var q={};try{var t=
+!1;for(var y=c;y+1<f;){var r=b(a,y);y+=2;var u=0,v;switch(r){case 65359:q.mainHeader=!0;break;case 65497:break;case 65361:u=b(a,y);var M={};M.Xsiz=d(a,y+4);M.Ysiz=d(a,y+8);M.XOsiz=d(a,y+12);M.YOsiz=d(a,y+16);M.XTsiz=d(a,y+20);M.YTsiz=d(a,y+24);M.XTOsiz=d(a,y+28);M.YTOsiz=d(a,y+32);var z=b(a,y+36);M.Csiz=z;var G=[];var A=y+38;for(var x=0;x<z;x++){var D={precision:(a[A]&127)+1,isSigned:!!(a[A]&128),XRsiz:a[A+1],YRsiz:a[A+1]},C=D,K=M;C.x0=Math.ceil(K.XOsiz/C.XRsiz);C.x1=Math.ceil(K.Xsiz/C.XRsiz);C.y0=
+Math.ceil(K.YOsiz/C.YRsiz);C.y1=Math.ceil(K.Ysiz/C.YRsiz);C.width=C.x1-C.x0;C.height=C.y1-C.y0;G.push(D)}q.SIZ=M;q.components=G;for(var B=void 0,J=q,H=G,F=J.SIZ,I=[],Q=Math.ceil((F.Xsiz-F.XTOsiz)/F.XTsiz),pc=Math.ceil((F.Ysiz-F.YTOsiz)/F.YTsiz),Ya=0;Ya<pc;Ya++)for(var Za=0;Za<Q;Za++)B={},B.tx0=Math.max(F.XTOsiz+Za*F.XTsiz,F.XOsiz),B.ty0=Math.max(F.YTOsiz+Ya*F.YTsiz,F.YOsiz),B.tx1=Math.min(F.XTOsiz+(Za+1)*F.XTsiz,F.Xsiz),B.ty1=Math.min(F.YTOsiz+(Ya+1)*F.YTsiz,F.Ysiz),B.width=B.tx1-B.tx0,B.height=B.ty1-
+B.ty0,B.components=[],I.push(B);J.tiles=I;for(var $a=0,qc=F.Csiz;$a<qc;$a++)for(var ab=H[$a],lb=0,rc=I.length;lb<rc;lb++){var ia={};B=I[lb];ia.tcx0=Math.ceil(B.tx0/ab.XRsiz);ia.tcy0=Math.ceil(B.ty0/ab.YRsiz);ia.tcx1=Math.ceil(B.tx1/ab.XRsiz);ia.tcy1=Math.ceil(B.ty1/ab.YRsiz);ia.width=ia.tcx1-ia.tcx0;ia.height=ia.tcy1-ia.tcy0;B.components[$a]=ia}q.QCC=[];q.COC=[];break;case 65372:u=b(a,y);var Ka={};A=y+2;var va=a[A++];switch(va&31){case 0:var na=8;var wa=!0;break;case 1:na=16;wa=!1;break;case 2:na=
+16;wa=!0;break;default:throw Error("JPX Error: Invalid SQcd value "+va);}Ka.noQuantization=8===na;Ka.scalarExpounded=wa;Ka.guardBits=va>>5;for(v=[];A<u+y;){var ja={};8===na?(ja.epsilon=a[A++]>>3,ja.mu=0):(ja.epsilon=a[A]>>3,ja.mu=(a[A]&7)<<8|a[A+1],A+=2);v.push(ja)}Ka.SPqcds=v;q.mainHeader?q.QCD=Ka:(q.currentTile.QCD=Ka,q.currentTile.QCC=[]);break;case 65373:u=b(a,y);var La={};A=y+2;if(257>q.SIZ.Csiz)var mb=a[A++];else mb=b(a,A),A+=2;va=a[A++];switch(va&31){case 0:na=8;wa=!0;break;case 1:na=16;wa=
+!1;break;case 2:na=16;wa=!0;break;default:throw Error("JPX Error: Invalid SQcd value "+va);}La.noQuantization=8===na;La.scalarExpounded=wa;La.guardBits=va>>5;for(v=[];A<u+y;)ja={},8===na?(ja.epsilon=a[A++]>>3,ja.mu=0):(ja.epsilon=a[A]>>3,ja.mu=(a[A]&7)<<8|a[A+1],A+=2),v.push(ja);La.SPqcds=v;q.mainHeader?q.QCC[mb]=La:q.currentTile.QCC[mb]=La;break;case 65362:u=b(a,y);var T={};A=y+2;var nb=a[A++];T.entropyCoderWithCustomPrecincts=!!(nb&1);T.sopMarkerUsed=!!(nb&2);T.ephMarkerUsed=!!(nb&4);T.progressionOrder=
+a[A++];T.layersCount=b(a,A);A+=2;T.multipleComponentTransform=a[A++];T.decompositionLevelsCount=a[A++];T.xcb=(a[A++]&15)+2;T.ycb=(a[A++]&15)+2;var Ma=a[A++];T.selectiveArithmeticCodingBypass=!!(Ma&1);T.resetContextProbabilities=!!(Ma&2);T.terminationOnEachCodingPass=!!(Ma&4);T.verticalyStripe=!!(Ma&8);T.predictableTermination=!!(Ma&16);T.segmentationSymbolUsed=!!(Ma&32);T.reversibleTransformation=a[A++];if(T.entropyCoderWithCustomPrecincts){for(var Mb=[];A<u+y;){var Nb=a[A++];Mb.push({PPx:Nb&15,PPy:Nb>>
+4})}T.precinctsSizes=Mb}var xa=[];T.selectiveArithmeticCodingBypass&&xa.push("selectiveArithmeticCodingBypass");T.resetContextProbabilities&&xa.push("resetContextProbabilities");T.terminationOnEachCodingPass&&xa.push("terminationOnEachCodingPass");T.verticalyStripe&&xa.push("verticalyStripe");T.predictableTermination&&xa.push("predictableTermination");if(0<xa.length)throw t=!0,Error("JPX Error: Unsupported COD options ("+xa.join(", ")+")");q.mainHeader?q.COD=T:(q.currentTile.COD=T,q.currentTile.COC=
+[]);break;case 65424:u=b(a,y);var Y={};Y.index=b(a,y+2);Y.length=d(a,y+4);Y.dataEnd=Y.length+y-2;Y.partIndex=a[y+8];Y.partsCount=a[y+9];q.mainHeader=!1;0===Y.partIndex&&(Y.COD=q.COD,Y.COC=q.COC.slice(0),Y.QCD=q.QCD,Y.QCC=q.QCC.slice(0));q.currentTile=Y;break;case 65427:Y=q.currentTile;if(0===Y.partIndex){for(var oa=q,sc=oa.SIZ.Csiz,Ob=oa.tiles[Y.index],ya=0;ya<sc;ya++){var Pb=Ob.components[ya];Pb.quantizationParameters=void 0!==oa.currentTile.QCC[ya]?oa.currentTile.QCC[ya]:oa.currentTile.QCD;Pb.codingStyleParameters=
+void 0!==oa.currentTile.COC[ya]?oa.currentTile.COC[ya]:oa.currentTile.COD}Ob.codingStyleDefaultParameters=oa.currentTile.COD;for(var ea=q,za=ea.tiles[ea.currentTile.index],tc=ea.SIZ.Csiz,ob=0;ob<tc;ob++){for(var U=za.components[ob],pb=U.codingStyleParameters.decompositionLevelsCount,Qb=[],Pa=[],Aa=0;Aa<=pb;Aa++){var bb=Aa,Ba=U.codingStyleParameters,ka={};Ba.entropyCoderWithCustomPrecincts?(ka.PPx=Ba.precinctsSizes[bb].PPx,ka.PPy=Ba.precinctsSizes[bb].PPy):(ka.PPx=15,ka.PPy=15);ka.xcb_=0<bb?Math.min(Ba.xcb,
+ka.PPx-1):Math.min(Ba.xcb,ka.PPx);ka.ycb_=0<bb?Math.min(Ba.ycb,ka.PPy-1):Math.min(Ba.ycb,ka.PPy);var ra=ka;var V={},sa=1<<pb-Aa;V.trx0=Math.ceil(U.tcx0/sa);V.try0=Math.ceil(U.tcy0/sa);V.trx1=Math.ceil(U.tcx1/sa);V.try1=Math.ceil(U.tcy1/sa);V.resLevel=Aa;var qb=1<<ra.PPx,rb=1<<ra.PPy,Rb=0===V.resLevel,Sb=V.trx1>V.trx0?Math.ceil(V.trx1/qb)-Math.floor(V.trx0/qb):0,Tb=V.try1>V.try0?Math.ceil(V.try1/rb)-Math.floor(V.try0/rb):0;V.precinctParameters={precinctWidth:qb,precinctHeight:rb,numprecinctswide:Sb,
+numprecinctshigh:Tb,numprecincts:Sb*Tb,precinctWidthInSubband:1<<ra.PPx+(Rb?0:-1),precinctHeightInSubband:1<<ra.PPy+(Rb?0:-1)};Qb.push(V);if(0===Aa){var S={type:"LL"};S.tbx0=Math.ceil(U.tcx0/sa);S.tby0=Math.ceil(U.tcy0/sa);S.tbx1=Math.ceil(U.tcx1/sa);S.tby1=Math.ceil(U.tcy1/sa);S.resolution=V;e(ea,S,ra);Pa.push(S);V.subbands=[S]}else{var fa=1<<pb-Aa+1,cb=[];S={type:"HL"};S.tbx0=Math.ceil(U.tcx0/fa-.5);S.tby0=Math.ceil(U.tcy0/fa);S.tbx1=Math.ceil(U.tcx1/fa-.5);S.tby1=Math.ceil(U.tcy1/fa);S.resolution=
+V;e(ea,S,ra);Pa.push(S);cb.push(S);S={type:"LH"};S.tbx0=Math.ceil(U.tcx0/fa);S.tby0=Math.ceil(U.tcy0/fa-.5);S.tbx1=Math.ceil(U.tcx1/fa);S.tby1=Math.ceil(U.tcy1/fa-.5);S.resolution=V;e(ea,S,ra);Pa.push(S);cb.push(S);S={type:"HH"};S.tbx0=Math.ceil(U.tcx0/fa-.5);S.tby0=Math.ceil(U.tcy0/fa-.5);S.tbx1=Math.ceil(U.tcx1/fa-.5);S.tby1=Math.ceil(U.tcy1/fa-.5);S.resolution=V;e(ea,S,ra);Pa.push(S);cb.push(S);V.subbands=cb}}U.resolutions=Qb;U.subbands=Pa}var Ub=za.codingStyleDefaultParameters.progressionOrder;
+switch(Ub){case 0:za.packetsIterator=new l(ea);break;case 1:za.packetsIterator=new k(ea);break;case 2:za.packetsIterator=new m(ea);break;case 3:za.packetsIterator=new n(ea);break;case 4:za.packetsIterator=new p(ea);break;default:throw Error("JPX Error: Unsupported progression order "+Ub);}}u=Y.dataEnd-y;w(q,a,y,u);break;case 65365:case 65367:case 65368:case 65380:u=b(a,y);break;case 65363:throw Error("JPX Error: Codestream code 0xFF53 (COC) is not implemented");default:throw Error("JPX Error: Unknown codestream code: "+
+r.toString(16));}y+=u}}catch(Vb){if(t||this.failOnCorruptedImage)throw Vb;h("Trying to recover from "+Vb.message)}for(var Wb=q.components,Na=q.SIZ.Csiz,Xb=[],sb=0,uc=q.tiles.length;sb<uc;sb++){var tb=q.tiles[sb],Ca=[],ha;for(ha=0;ha<Na;ha++){for(var vc=Ca,wc=ha,Da=tb.components[ha],ub=Da.codingStyleParameters,vb=Da.quantizationParameters,xc=ub.decompositionLevelsCount,db=vb.SPqcds,yc=vb.scalarExpounded,zc=vb.guardBits,Ac=ub.segmentationSymbolUsed,Bc=q.components[ha].precision,wb=ub.reversibleTransformation,
+Cc=wb?new O:new N,Yb=[],xb=0,Qa=0;Qa<=xc;Qa++){for(var Oa=Da.resolutions[Qa],yb=Oa.trx1-Oa.trx0,Zb=Oa.try1-Oa.try0,$b=new Float32Array(yb*Zb),zb=0,Dc=Oa.subbands.length;zb<Dc;zb++){if(yc){var ac=db[xb].mu;var Ab=db[xb].epsilon;xb++}else ac=db[0].mu,Ab=db[0].epsilon+(0<Qa?1-Qa:0);for(var bc=Oa.subbands[zb],Ec=L[bc.type],Fc=$b,cc=yb,ta=bc,Gc=wb?1:Math.pow(2,Bc+Ec-Ab)*(1+ac/2048),Bb=zc+Ab-1,dc=wb,Hc=Ac,Ic=ta.tbx0,Jc=ta.tby0,eb=ta.tbx1-ta.tbx0,ec=ta.codeblocks,Kc="H"===ta.type.charAt(0)?1:0,Lc="H"===
+ta.type.charAt(1)?cc:0,Cb=0,Mc=ec.length;Cb<Mc;++Cb){var la=ec[Cb],fb=la.tbx1_-la.tbx0_,Db=la.tby1_-la.tby0_;if(0!==fb&&0!==Db&&void 0!==la.data){var ua=new E(fb,Db,la.subbandType,la.zeroBitPlanes,Bb);var Eb=2;var gb=la.data,Fb=0,fc=0,hb;var ca=0;for(hb=gb.length;ca<hb;ca++){var Ea=gb[ca];Fb+=Ea.end-Ea.start;fc+=Ea.codingpasses}var gc=new Uint8Array(Fb),Fa=0;ca=0;for(hb=gb.length;ca<hb;ca++){Ea=gb[ca];var hc=Ea.data.subarray(Ea.start,Ea.end);gc.set(hc,Fa);Fa+=hc.length}var Nc=new g(gc,0,Fb);ua.setDecoder(Nc);
+for(ca=0;ca<fc;ca++){switch(Eb){case 0:ua.runSignificancePropogationPass();break;case 1:ua.runMagnitudeRefinementPass();break;case 2:ua.runCleanupPass(),Hc&&ua.checkSegmentationSymbol()}Eb=(Eb+1)%3}var Ra=la.tbx0_-Ic+(la.tby0_-Jc)*eb,Oc=ua.coefficentsSign,Pc=ua.coefficentsMagnitude,Qc=ua.bitsDecoded,Rc=dc?0:.5,Gb;Fa=0;var Sc="LL"!==ta.type;for(ca=0;ca<Db;ca++){var Tc=2*(Ra/eb|0)*(cc-eb)+Kc+Lc;for(Gb=0;Gb<fb;Gb++){var Ga=Pc[Fa];if(0!==Ga){Ga=(Ga+Rc)*Gc;0!==Oc[Fa]&&(Ga=-Ga);var ic=Qc[Fa];Fc[Sc?Tc+(Ra<<
+1):Ra]=dc&&ic>=Bb?Ga:Ga*(1<<Bb-ic)}Ra++;Fa++}Ra+=eb-fb}}}}Yb.push({width:yb,height:Zb,items:$b})}var Hb=Cc.calculate(Yb,Da.tcx0,Da.tcy0);vc[wc]={left:Da.tcx0,top:Da.tcy0,width:Hb.width,height:Hb.height,items:Hb.items}}var Sa=Ca[0],pa=new Uint8Array(Sa.items.length*Na),Uc={left:Sa.left,top:Sa.top,width:Sa.width,height:Sa.height,items:pa},aa=0,W;if(tb.codingStyleDefaultParameters.multipleComponentTransform){var jc=4===Na,Ib=Ca[0].items,kc=Ca[1].items,lc=Ca[2].items,Vc=jc?Ca[3].items:null;var da=Wb[0].precision-
+8;var Ta=(128<<da)+.5;var ma=255*(1<<da);var mc=.5*ma;var Jb=-mc;var Wc=tb.components[0],nc=Na-3;var Ua=Ib.length;if(Wc.codingStyleParameters.reversibleTransformation)for(W=0;W<Ua;W++,aa+=nc){var Va=Ib[W]+Ta;var Wa=kc[W];var Xa=lc[W];var qa=Va-(Xa+Wa>>2);var Ha=qa+Xa;var Ia=qa+Wa;pa[aa++]=0>=Ha?0:Ha>=ma?255:Ha>>da;pa[aa++]=0>=qa?0:qa>=ma?255:qa>>da;pa[aa++]=0>=Ia?0:Ia>=ma?255:Ia>>da}else for(W=0;W<Ua;W++,aa+=nc)Va=Ib[W]+Ta,Wa=kc[W],Xa=lc[W],Ha=Va+1.402*Xa,qa=Va-.34413*Wa-.71414*Xa,Ia=Va+1.772*Wa,
+pa[aa++]=0>=Ha?0:Ha>=ma?255:Ha>>da,pa[aa++]=0>=qa?0:qa>=ma?255:qa>>da,pa[aa++]=0>=Ia?0:Ia>=ma?255:Ia>>da;if(jc)for(W=0,aa=3;W<Ua;W++,aa+=4){var Kb=Vc[W];pa[aa]=Kb<=Jb?0:Kb>=mc?255:Kb+Ta>>da}}else for(ha=0;ha<Na;ha++){var oc=Ca[ha].items;da=Wb[ha].precision-8;Ta=(128<<da)+.5;ma=127.5*(1<<da);Jb=-ma;aa=ha;W=0;for(Ua=oc.length;W<Ua;W++){var Lb=oc[W];pa[aa]=Lb<=Jb?0:Lb>=ma?255:Lb+Ta>>da;aa+=Na}}Xb.push(Uc)}this.tiles=Xb;this.width=q.SIZ.Xsiz-q.SIZ.XOsiz;this.height=q.SIZ.Ysiz-q.SIZ.YOsiz;this.componentsCount=
+q.SIZ.Csiz}};var C=function(){function b(b,c){var d=a(Math.max(b,c))+1;this.levels=[];for(var g=0;g<d;g++)this.levels.push({width:b,height:c,items:[]}),b=Math.ceil(b/2),c=Math.ceil(c/2)}b.prototype={reset:function(a,b){for(var c=0,d=0,g;c<this.levels.length;){g=this.levels[c];var e=a+b*g.width;if(void 0!==g.items[e]){d=g.items[e];break}g.index=e;a>>=1;b>>=1;c++}c--;g=this.levels[c];g.items[g.index]=d;this.currentLevel=c;delete this.value},incrementValue:function(){var a=this.levels[this.currentLevel];
+a.items[a.index]++},nextLevel:function(){var a=this.currentLevel,b=this.levels[a],c=b.items[b.index];a--;if(0>a)return this.value=c,!1;this.currentLevel=a;b=this.levels[a];b.items[b.index]=c;return!0}};return b}(),D=function(){function b(b,c,d){var g=a(Math.max(b,c))+1;this.levels=[];for(var e=0;e<g;e++){for(var f=new Uint8Array(b*c),h=0,l=f.length;h<l;h++)f[h]=d;this.levels.push({width:b,height:c,items:f});b=Math.ceil(b/2);c=Math.ceil(c/2)}}b.prototype={reset:function(a,b,c){for(var d=0;d<this.levels.length;){var g=
+this.levels[d],e=a+b*g.width;g.index=e;g=g.items[e];if(255===g)break;if(g>c)return this.currentLevel=d,this.propagateValues(),!1;a>>=1;b>>=1;d++}this.currentLevel=d-1;return!0},incrementValue:function(a){var b=this.levels[this.currentLevel];b.items[b.index]=a+1;this.propagateValues()},propagateValues:function(){for(var a=this.currentLevel,b=this.levels[a],c=b.items[b.index];0<=--a;)b=this.levels[a],b.items[b.index]=c},nextLevel:function(){var a=this.currentLevel,b=this.levels[a],c=b.items[b.index];
+b.items[b.index]=255;a--;if(0>a)return!1;this.currentLevel=a;b=this.levels[a];b.items[b.index]=c;return!0}};return b}(),E=function(){function a(a,g,e,f,h){this.width=a;this.height=g;this.contextLabelTable="HH"===e?d:"HL"===e?c:b;a*=g;this.neighborsSignificance=new Uint8Array(a);this.coefficentsSign=new Uint8Array(a);this.coefficentsMagnitude=14<h?new Uint32Array(a):6<h?new Uint16Array(a):new Uint8Array(a);this.processingFlags=new Uint8Array(a);h=new Uint8Array(a);if(0!==f)for(g=0;g<a;g++)h[g]=f;this.bitsDecoded=
+h;this.reset()}var b=new Uint8Array([0,5,8,0,3,7,8,0,4,7,8,0,0,0,0,0,1,6,8,0,3,7,8,0,4,7,8,0,0,0,0,0,2,6,8,0,3,7,8,0,4,7,8,0,0,0,0,0,2,6,8,0,3,7,8,0,4,7,8,0,0,0,0,0,2,6,8,0,3,7,8,0,4,7,8]),c=new Uint8Array([0,3,4,0,5,7,7,0,8,8,8,0,0,0,0,0,1,3,4,0,6,7,7,0,8,8,8,0,0,0,0,0,2,3,4,0,6,7,7,0,8,8,8,0,0,0,0,0,2,3,4,0,6,7,7,0,8,8,8,0,0,0,0,0,2,3,4,0,6,7,7,0,8,8,8]),d=new Uint8Array([0,1,2,0,1,2,2,0,2,2,2,0,0,0,0,0,3,4,5,0,4,5,5,0,5,5,5,0,0,0,0,0,6,7,7,0,7,7,7,0,7,7,7,0,0,0,0,0,8,8,8,0,8,8,8,0,8,8,8,0,0,0,
+0,0,8,8,8,0,8,8,8,0,8,8,8]);a.prototype={setDecoder:function(a){this.decoder=a},reset:function(){this.contexts=new Int8Array(19);this.contexts[0]=8;this.contexts[17]=92;this.contexts[18]=6},setNeighborsSignificance:function(a,b,c){var d=this.neighborsSignificance,g=this.width,e=this.height,f=0<b;b=b+1<g;if(0<a){var h=c-g;f&&(d[h-1]+=16);b&&(d[h+1]+=16);d[h]+=4}a+1<e&&(h=c+g,f&&(d[h-1]+=16),b&&(d[h+1]+=16),d[h]+=4);f&&(d[c-1]+=1);b&&(d[c+1]+=1);d[c]|=128},runSignificancePropogationPass:function(){for(var a=
+this.decoder,b=this.width,c=this.height,d=this.coefficentsMagnitude,g=this.coefficentsSign,e=this.neighborsSignificance,f=this.processingFlags,h=this.contexts,l=this.contextLabelTable,k=this.bitsDecoded,q=0;q<c;q+=4)for(var m=0;m<b;m++)for(var n=q*b+m,t=0;4>t;t++,n+=b){var y=q+t;if(y>=c)break;f[n]&=-2;if(!d[n]&&e[n]){if(a.readBit(h,l[e[n]])){var p=this.decodeSignBit(y,m,n);g[n]=p;d[n]=1;this.setNeighborsSignificance(y,m,n);f[n]|=2}k[n]++;f[n]|=1}}},decodeSignBit:function(a,b,c){var d=this.width,g=
+this.height,e=this.coefficentsMagnitude,f=this.coefficentsSign;var h=0<b&&0!==e[c-1];b+1<d&&0!==e[c+1]?(b=f[c+1],h?(h=f[c-1],b=1-b-h):b=1-b-b):h?(h=f[c-1],b=1-h-h):b=0;var l=3*b;h=0<a&&0!==e[c-d];a+1<g&&0!==e[c+d]?(b=f[c+d],h?(h=f[c-d],b=1-b-h+l):b=1-b-b+l):h?(h=f[c-d],b=1-h-h+l):b=l;return 0<=b?this.decoder.readBit(this.contexts,9+b):this.decoder.readBit(this.contexts,9-b)^1},runMagnitudeRefinementPass:function(){for(var a=this.decoder,b=this.width,c=this.coefficentsMagnitude,d=this.neighborsSignificance,
+g=this.contexts,e=this.bitsDecoded,f=this.processingFlags,h=b*this.height,l=4*b,k=0,q;k<h;k=q){q=Math.min(h,k+l);for(var m=0;m<b;m++)for(var n=k+m;n<q;n+=b)if(c[n]&&0===(f[n]&1)){var t=16;0!==(f[n]&2)&&(f[n]^=2,t=0===(d[n]&127)?15:14);t=a.readBit(g,t);c[n]=c[n]<<1|t;e[n]++;f[n]|=1}}},runCleanupPass:function(){for(var a=this.decoder,b=this.width,c=this.height,d=this.neighborsSignificance,g=this.coefficentsMagnitude,e=this.coefficentsSign,f=this.contexts,h=this.contextLabelTable,l=this.bitsDecoded,
+k=this.processingFlags,q=2*b,m=3*b,n,t=0;t<c;t=n){n=Math.min(t+4,c);for(var y=t*b,p=t+3<c,r=0;r<b;r++){var u=y+r,L=0,v=u,w=t;if(p&&0===k[u]&&0===k[u+b]&&0===k[u+q]&&0===k[u+m]&&0===d[u]&&0===d[u+b]&&0===d[u+q]&&0===d[u+m]){if(!a.readBit(f,18)){l[u]++;l[u+b]++;l[u+q]++;l[u+m]++;continue}L=a.readBit(f,17)<<1|a.readBit(f,17);0!==L&&(w=t+L,v+=L*b);var z=this.decodeSignBit(w,r,v);e[v]=z;g[v]=1;this.setNeighborsSignificance(w,r,v);k[v]|=2;v=u;for(u=t;u<=w;u++,v+=b)l[v]++;L++}for(w=t+L;w<n;w++,v+=b)g[v]||
+0!==(k[v]&1)||(1===a.readBit(f,h[d[v]])&&(z=this.decodeSignBit(w,r,v),e[v]=z,g[v]=1,this.setNeighborsSignificance(w,r,v),k[v]|=2),l[v]++)}}},checkSegmentationSymbol:function(){var a=this.decoder,b=this.contexts;if(10!==(a.readBit(b,17)<<3|a.readBit(b,17)<<2|a.readBit(b,17)<<1|a.readBit(b,17)))throw Error("JPX Error: Invalid segmentation symbol");}};return a}(),Q=function(){function a(){}a.prototype.calculate=function(a,b,c){for(var d=a[0],g=1,e=a.length;g<e;g++)d=this.iterate(d,a[g],b,c);return d};
+a.prototype.extend=function(a,b,c){var d=b-1,g=b+1,e=b+c-2;b+=c;a[d--]=a[g++];a[b++]=a[e--];a[d--]=a[g++];a[b++]=a[e--];a[d--]=a[g++];a[b++]=a[e--];a[d]=a[g];a[b]=a[e]};a.prototype.iterate=function(a,b,c,d){var g=a.width,e=a.height,f=a.items,h=b.width,l=b.height;b=b.items;var k,q,m;for(k=m=0;k<e;k++){var n=2*k*h;for(q=0;q<g;q++,m++,n+=2)b[n]=f[m]}a.items=null;a=new Float32Array(h+8);if(1===h){if(0!==(c&1))for(m=n=0;n<l;n++,m+=h)b[m]*=.5}else for(m=n=0;n<l;n++,m+=h)a.set(b.subarray(m,m+h),4),this.extend(a,
+4,h),this.filter(a,4,h),b.set(a.subarray(4,4+h),m);c=16;g=[];for(k=0;k<c;k++)g.push(new Float32Array(l+8));k=0;a=4+l;if(1===l){if(0!==(d&1))for(d=0;d<h;d++)b[d]*=.5}else for(d=0;d<h;d++){if(0===k){c=Math.min(h-d,c);m=d;for(n=4;n<a;m+=h,n++)for(e=0;e<c;e++)g[e][n]=b[m+e];k=c}k--;m=g[k];this.extend(m,4,l);this.filter(m,4,l);if(0===k)for(m=d-c+1,n=4;n<a;m+=h,n++)for(e=0;e<c;e++)b[m+e]=g[e][n]}return{width:h,height:l,items:b}};return a}(),N=function(){function a(){Q.call(this)}a.prototype=Object.create(Q.prototype);
+a.prototype.filter=function(a,b,c){c>>=1;b|=0;var d;var g=b-3;for(d=c+4;d--;g+=2)a[g]*=.8128930661159609;g=b-2;var e=.443506852043971*a[g-1];for(d=c+3;d--;g+=2){var f=.443506852043971*a[g+1];a[g]=1.230174104914001*a[g]-e-f;if(d--)g+=2,e=.443506852043971*a[g+1],a[g]=1.230174104914001*a[g]-e-f;else break}g=b-1;e=.882911075530934*a[g-1];for(d=c+2;d--;g+=2)if(f=.882911075530934*a[g+1],a[g]-=e+f,d--)g+=2,e=.882911075530934*a[g+1],a[g]-=e+f;else break;g=b;e=-.052980118572961*a[g-1];for(d=c+1;d--;g+=2)if(f=
+-.052980118572961*a[g+1],a[g]-=e+f,d--)g+=2,e=-.052980118572961*a[g+1],a[g]-=e+f;else break;if(0!==c)for(g=b+1,e=-1.586134342059924*a[g-1],d=c;d--;g+=2)if(f=-1.586134342059924*a[g+1],a[g]-=e+f,d--)g+=2,e=-1.586134342059924*a[g+1],a[g]-=e+f;else break};return a}(),O=function(){function a(){Q.call(this)}a.prototype=Object.create(Q.prototype);a.prototype.filter=function(a,b,c){c>>=1;b|=0;var d;var g=b;for(d=c+1;d--;g+=2)a[g]-=a[g-1]+a[g+1]+2>>2;g=b+1;for(d=c;d--;g+=2)a[g]+=a[g-1]+a[g+1]>>1};return a}();
+return c}();"use strict";var m=function(){function c(){}function e(a,b,c){this.data=a;this.start=b;this.end=c}function h(a,b,c){function d(a){for(var b=0,d=0;d<a;d++){var f=c.readBit(g,e);e=256>e?e<<1|f:(e<<1|f)&511|256;b=b<<1|f}return b>>>0}var g=a.getContexts(b),e=1;a=d(1);b=d(1)?d(1)?d(1)?d(1)?d(1)?d(32)+4436:d(12)+340:d(8)+84:d(6)+20:d(4)+4:d(2);return 0===a?b:0<b?-b:null}function l(a,b,c){a=a.getContexts("IAID");for(var d=1,g=0;g<c;g++){var e=b.readBit(a,d);d=d<<1|e}return 31>c?d&(1<<c)-1:d&
+2147483647}function k(a,b,c){var d=c.decoder;c=c.contextCache.getContexts("GB");var g,e,f,h=[];for(g=0;g<b;g++){var l=h[g]=new Uint8Array(a);var k=1>g?l:h[g-1];var q=2>g?l:h[g-2];var m=q[0]<<13|q[1]<<12|q[2]<<11|k[0]<<7|k[1]<<6|k[2]<<5|k[3]<<4;for(e=0;e<a;e++)l[e]=f=d.readBit(c,m),m=(m&31735)<<1|(e+3<a?q[e+3]<<11:0)|(e+4<a?k[e+4]<<4:0)|f}return h}function m(a,b,c,d,g,e,f,h){a&&p("JBIG2 error: MMR encoding is not supported");if(0===d&&!e&&!g&&4===f.length&&3===f[0].x&&-1===f[0].y&&-3===f[1].x&&-1===
+f[1].y&&2===f[2].x&&-2===f[2].y&&-2===f[3].x&&-2===f[3].y)return k(b,c,h);a=!!e;var l=C[d].concat(f);l.sort(function(a,b){return a.y-b.y||a.x-b.x});f=l.length;var q=new Int8Array(f),m=new Int8Array(f),n=[],t=0,r=0,y=0,u=0,L,v;for(v=0;v<f;v++)q[v]=l[v].x,m[v]=l[v].y,r=Math.min(r,l[v].x),y=Math.max(y,l[v].x),u=Math.min(u,l[v].y),v<f-1&&l[v].y===l[v+1].y&&l[v].x===l[v+1].x-1?t|=1<<f-1-v:n.push(v);var w=n.length,z=new Int8Array(w),A=new Int8Array(w),G=new Uint16Array(w);for(L=0;L<w;L++)v=n[L],z[L]=l[v].x,
+A[L]=l[v].y,G[L]=1<<f-1-v;l=-r;u=-u;y=b-y;d=B[d];n=new Uint8Array(b);r=[];L=h.decoder;h=h.contextCache.getContexts("GB");for(var D=0,x,M,K,N=0,J,H=0;H<c;H++){if(g&&(v=L.readBit(h,d),D^=v)){r.push(n);continue}n=new Uint8Array(n);r.push(n);for(x=0;x<b;x++)if(a&&e[H][x])n[x]=0;else{if(x>=l&&x<y&&H>=u)for(N=N<<1&t,v=0;v<w;v++){if(M=H+A[v],K=x+z[v],M=r[M][K])M=G[v],N|=M}else for(N=0,J=f-1,v=0;v<f;v++,J--)K=x+q[v],0<=K&&K<b&&(M=H+m[v],0<=M&&(M=r[M][K])&&(N|=M<<J));v=L.readBit(h,N);n[x]=v}}return r}function n(a,
+b,c,d,g,e,f,h,l){var k=D[c].coding;0===c&&(k=k.concat([h[0]]));var q=k.length,m=new Int32Array(q),n=new Int32Array(q),t;for(t=0;t<q;t++)m[t]=k[t].x,n[t]=k[t].y;var r=D[c].reference;0===c&&(r=r.concat([h[1]]));h=r.length;k=new Int32Array(h);var y=new Int32Array(h);for(t=0;t<h;t++)k[t]=r[t].x,y[t]=r[t].y;r=d[0].length;var u=d.length;c=Q[c];var L=[],v=l.decoder;l=l.contextCache.getContexts("GR");for(var w=0,z=0;z<b;z++){f&&(t=v.readBit(l,c),(w^=t)&&p("JBIG2 error: prediction is not supported"));var A=
+new Uint8Array(a);L.push(A);for(var G=0;G<a;G++){var x=0;for(t=0;t<q;t++){var M=z+n[t];var C=G+m[t];x=0>M||0>C||C>=a?x<<1:x<<1|L[M][C]}for(t=0;t<h;t++)M=z+y[t]+e,C=G+k[t]+g,x=0>M||M>=u||0>C||C>=r?x<<1:x<<1|d[M][C];t=v.readBit(l,x);A[G]=t}}return L}function r(a,b,c,d,g,e,f,k,q,m,t,r,u,L,v,w,z){a&&p("JBIG2 error: huffman is not supported");a=[];for(L=0;L<d;L++){var y=new Uint8Array(c);if(g)for(var A=0;A<c;A++)y[A]=g;a.push(y)}d=z.decoder;g=z.contextCache;A=-h(g,"IADT",d);var G=0;for(L=0;L<e;){var x=
+h(g,"IADT",d);A+=x;x=h(g,"IAFS",d);x=G+=x;do{var C=1===f?0:h(g,"IAIT",d);y=f*A+C;C=l(g,d,q);var D=b&&h(g,"IARI",d);C=k[C];var M=C[0].length,K=C.length;if(D){D=h(g,"IARDW",d);var B=h(g,"IARDH",d),N=h(g,"IARDX",d),H=h(g,"IARDY",d);M+=D;K+=B;C=n(M,K,v,C,(D>>1)+N,(B>>1)+H,!1,w,z)}D=y-(r&1?0:K);B=x-(r&2?M:0);if(m){for(N=0;N<K;N++)if(y=a[B+N]){var J=C[N];var E=Math.min(c-D,M);switch(u){case 0:for(H=0;H<E;H++)y[D+H]|=J[H];break;case 2:for(H=0;H<E;H++)y[D+H]^=J[H];break;default:p("JBIG2 error: operator "+
+u+" is not supported")}}x+=K-1}else{for(H=0;H<K;H++)if(y=a[D+H])switch(J=C[H],u){case 0:for(N=0;N<M;N++)y[B+N]|=J[N];break;case 2:for(N=0;N<M;N++)y[B+N]^=J[N];break;default:p("JBIG2 error: operator "+u+" is not supported")}x+=M-1}L++;C=h(g,"IADS",d);if(null===C)break;x+=C+t}while(1)}return a}function w(a,b){return{width:d(a,b),height:d(a,b+4),x:d(a,b+8),y:d(a,b+12),combinationOperator:a[b+16]&7}}function q(){}function G(){}c.prototype={getContexts:function(a){return a in this?this[a]:this[a]=new Int8Array(65536)}};
+e.prototype={get decoder(){var a=new g(this.data,this.start,this.end);return f(this,"decoder",a)},get contextCache(){var a=new c;return f(this,"contextCache",a)}};var L=["SymbolDictionary",null,null,null,"IntermediateTextRegion",null,"ImmediateTextRegion","ImmediateLosslessTextRegion",null,null,null,null,null,null,null,null,"patternDictionary",null,null,null,"IntermediateHalftoneRegion",null,"ImmediateHalftoneRegion","ImmediateLosslessHalftoneRegion",null,null,null,null,null,null,null,null,null,null,
+null,null,"IntermediateGenericRegion",null,"ImmediateGenericRegion","ImmediateLosslessGenericRegion","IntermediateGenericRefinementRegion",null,"ImmediateGenericRefinementRegion","ImmediateLosslessGenericRefinementRegion",null,null,null,null,"PageInformation","EndOfPage","EndOfStripe","EndOfFile","Profiles","Tables",null,null,null,null,null,null,null,null,"Extension"],C=[[{x:-1,y:-2},{x:0,y:-2},{x:1,y:-2},{x:-2,y:-1},{x:-1,y:-1},{x:0,y:-1},{x:1,y:-1},{x:2,y:-1},{x:-4,y:0},{x:-3,y:0},{x:-2,y:0},{x:-1,
+y:0}],[{x:-1,y:-2},{x:0,y:-2},{x:1,y:-2},{x:2,y:-2},{x:-2,y:-1},{x:-1,y:-1},{x:0,y:-1},{x:1,y:-1},{x:2,y:-1},{x:-3,y:0},{x:-2,y:0},{x:-1,y:0}],[{x:-1,y:-2},{x:0,y:-2},{x:1,y:-2},{x:-2,y:-1},{x:-1,y:-1},{x:0,y:-1},{x:1,y:-1},{x:-2,y:0},{x:-1,y:0}],[{x:-3,y:-1},{x:-2,y:-1},{x:-1,y:-1},{x:0,y:-1},{x:1,y:-1},{x:-4,y:0},{x:-3,y:0},{x:-2,y:0},{x:-1,y:0}]],D=[{coding:[{x:0,y:-1},{x:1,y:-1},{x:-1,y:0}],reference:[{x:0,y:-1},{x:1,y:-1},{x:-1,y:0},{x:0,y:0},{x:1,y:0},{x:-1,y:1},{x:0,y:1},{x:1,y:1}]},{coding:[{x:-1,
+y:-1},{x:0,y:-1},{x:1,y:-1},{x:-1,y:0}],reference:[{x:0,y:-1},{x:-1,y:0},{x:0,y:0},{x:1,y:0},{x:0,y:1},{x:1,y:1}]}],B=[39717,1941,229,405],Q=[32,8];q.prototype={onPageInformation:function(a){this.currentPageInfo=a;var b=new Uint8Array((a.width+7>>3)*a.height);if(a.defaultPixelValue){a=0;for(var c=b.length;a<c;a++)b[a]=255}this.buffer=b},drawBitmap:function(a,b){var c=this.currentPageInfo,d=a.width,g=a.height,e=c.width+7>>3,f=c.combinationOperatorOverride?a.combinationOperator:c.combinationOperator;
+c=this.buffer;var h=128>>(a.x&7);a=a.y*e+(a.x>>3);var l;switch(f){case 0:for(f=0;f<g;f++){var k=h;var q=a;for(l=0;l<d;l++)b[f][l]&&(c[q]|=k),k>>=1,k||(k=128,q++);a+=e}break;case 2:for(f=0;f<g;f++){k=h;q=a;for(l=0;l<d;l++)b[f][l]&&(c[q]^=k),k>>=1,k||(k=128,q++);a+=e}break;default:p("JBIG2 error: operator "+f+" is not supported")}},onImmediateGenericRegion:function(a,b,c,d){var g=a.info;b=new e(b,c,d);a=m(a.mmr,g.width,g.height,a.template,a.prediction,null,a.at,b);this.drawBitmap(g,a)},onImmediateLosslessGenericRegion:function(){this.onImmediateGenericRegion.apply(this,
+arguments)},onSymbolDictionary:function(b,c,d,g,f,k){b.huffman&&p("JBIG2 error: huffman is not supported");var q=this.symbols;q||(this.symbols=q={});for(var t=[],y=0,u=d.length;y<u;y++)t=t.concat(q[d[y]]);k=new e(g,f,k);y=b.huffman;u=b.refinement;d=t;t=b.numberOfNewSymbols;var L=b.template,v=b.at,w=b.refinementTemplate,z=b.refinementAt;y&&p("JBIG2 error: huffman is not supported");b=[];var A=0,G=a(d.length+t);g=k.decoder;for(f=k.contextCache;b.length<t;){var C=h(f,"IADH",g);A+=C;for(C=0;;){var x=
+h(f,"IADW",g);if(null===x)break;C+=x;if(u)if(x=h(f,"IAAI",g),1<x)x=r(y,u,C,A,0,x,1,d.concat(b),G,0,0,1,0,void 0,w,z,k);else{x=l(f,g,G);var D=h(f,"IARDX",g),K=h(f,"IARDY",g);x=n(C,A,w,x<d.length?d[x]:b[x-d.length],D,K,!1,z,k)}else x=m(!1,C,A,L,!1,null,v,k);b.push(x)}}k=[];y=[];u=!1;for(L=d.length+t;y.length<L;){for(v=h(f,"IAEX",g);v--;)y.push(u);u=!u}g=0;for(f=d.length;g<f;g++)y[g]&&k.push(d[g]);for(d=0;d<t;g++,d++)y[g]&&k.push(b[d]);q[c]=k},onImmediateTextRegion:function(b,c,d,g,f){for(var h=b.info,
+l=this.symbols,k=[],q=0,m=c.length;q<m;q++)k=k.concat(l[c[q]]);c=a(k.length);d=new e(d,g,f);b=r(b.huffman,b.refinement,h.width,h.height,b.defaultPixelValue,b.numberOfSymbolInstances,b.stripSize,k,c,b.transposed,b.dsOffset,b.referenceCorner,b.combinationOperator,void 0,b.refinementTemplate,b.refinementAt,d);this.drawBitmap(h,b)},onImmediateLosslessTextRegion:function(){this.onImmediateTextRegion.apply(this,arguments)}};G.prototype={parseChunks:function(a){for(var c=new q,g=0,e=a.length;g<e;g++){for(var f=
+a[g],h={},l=f.data,k=f.end,m=[],n=f.start;n<k;){f=l;var t=n;n={};n.number=d(f,t);var r=f[t+4];var u=r&63;L[u]||p("JBIG2 error: invalid segment type: "+u);n.type=u;n.typeName=L[u];n.deferredNonRetain=!!(r&128);r=!!(r&64);var v=f[t+5],z=v>>5&7;var A=[v&31];t+=6;if(7===v)for(z=d(f,t-1)&536870911,t+=3,v=z+7>>3,A[0]=f[t++];0<--v;)A.push(f[t++]);else 5!==v&&6!==v||p("JBIG2 error: invalid referred-to flags");n.retainBits=A;v=256>=n.number?1:65536>=n.number?2:4;var G=[];for(A=0;A<z;A++){var x=1===v?f[t]:
+2===v?b(f,t):d(f,t);G.push(x);t+=v}n.referredTo=G;r?(n.pageAssociation=d(f,t),t+=4):n.pageAssociation=f[t++];n.length=d(f,t);t+=4;if(4294967295===n.length)if(38===u){r=w(f,t);z=!!(f[t+17]&1);u=new Uint8Array(6);z||(u[0]=255,u[1]=172);u[2]=r.height>>>24&255;u[3]=r.height>>16&255;u[4]=r.height>>8&255;u[5]=r.height&255;A=t;for(r=f.length;A<r;A++){for(z=0;6>z&&u[z]===f[A+z];)z++;if(6===z){n.length=A+6;break}}4294967295===n.length&&p("JBIG2 error: segment end was not found")}else p("JBIG2 error: invalid unknown segment length");
+n.headerEnd=t;f=n;n=f.headerEnd;t={header:f,data:l};h.randomAccess||(t.start=n,n+=f.length,t.end=n);m.push(t);if(51===f.type)break}if(h.randomAccess)for(h=0,l=m.length;h<l;h++)m[h].start=n,n+=m[h].header.length,m[h].end=n;h=c;l=0;for(k=m.length;l<k;l++){z=void 0;r=m[l];f=h;n=r.header;t=r.data;u=r.start;r=r.end;switch(n.type){case 0:G={};z=b(t,u);G.huffman=!!(z&1);G.refinement=!!(z&2);G.huffmanDHSelector=z>>2&3;G.huffmanDWSelector=z>>4&3;G.bitmapSizeSelector=z>>6&1;G.aggregationInstancesSelector=z>>
+7&1;G.bitmapCodingContextUsed=!!(z&256);G.bitmapCodingContextRetained=!!(z&512);G.template=z>>10&3;G.refinementTemplate=z>>12&1;u+=2;if(!G.huffman){v=0===G.template?4:1;A=[];for(z=0;z<v;z++)A.push({x:t[u]<<24>>24,y:t[u+1]<<24>>24}),u+=2;G.at=A}if(G.refinement&&!G.refinementTemplate){A=[];for(z=0;2>z;z++)A.push({x:t[u]<<24>>24,y:t[u+1]<<24>>24}),u+=2;G.refinementAt=A}G.numberOfExportedSymbols=d(t,u);u+=4;G.numberOfNewSymbols=d(t,u);z=[G,n.number,n.referredTo,t,u+4,r];break;case 6:case 7:v={};v.info=
+w(t,u);u+=17;z=b(t,u);u+=2;v.huffman=!!(z&1);v.refinement=!!(z&2);v.stripSize=1<<(z>>2&3);v.referenceCorner=z>>4&3;v.transposed=!!(z&64);v.combinationOperator=z>>7&3;v.defaultPixelValue=z>>9&1;v.dsOffset=z<<17>>27;v.refinementTemplate=z>>15&1;v.huffman&&(z=b(t,u),u+=2,v.huffmanFS=z&3,v.huffmanDS=z>>2&3,v.huffmanDT=z>>4&3,v.huffmanRefinementDW=z>>6&3,v.huffmanRefinementDH=z>>8&3,v.huffmanRefinementDX=z>>10&3,v.huffmanRefinementDY=z>>12&3,v.huffmanRefinementSizeSelector=!!(z&14));if(v.refinement&&!v.refinementTemplate){A=
+[];for(z=0;2>z;z++)A.push({x:t[u]<<24>>24,y:t[u+1]<<24>>24}),u+=2;v.refinementAt=A}v.numberOfSymbolInstances=d(t,u);u+=4;v.huffman&&p("JBIG2 error: huffman is not supported");z=[v,n.referredTo,t,u,r];break;case 38:case 39:G={};G.info=w(t,u);u+=17;z=t[u++];G.mmr=!!(z&1);G.template=z>>1&3;G.prediction=!!(z&8);if(!G.mmr){v=0===G.template?4:1;A=[];for(z=0;z<v;z++)A.push({x:t[u]<<24>>24,y:t[u+1]<<24>>24}),u+=2;G.at=A}z=[G,t,u,r];break;case 48:r={width:d(t,u),height:d(t,u+4),resolutionX:d(t,u+8),resolutionY:d(t,
+u+12)};4294967295===r.height&&delete r.height;z=t[u+16];b(t,u+17);r.lossless=!!(z&1);r.refinement=!!(z&2);r.defaultPixelValue=z>>2&1;r.combinationOperator=z>>3&3;r.requiresBuffer=!!(z&32);r.combinationOperatorOverride=!!(z&64);z=[r];break;case 49:break;case 50:break;case 51:break;case 62:break;default:p("JBIG2 error: segment type "+n.typeName+"("+n.type+") is not implemented")}n="on"+n.typeName;n in f&&f[n].apply(f,z)}}return c}};return G}(),p=function(){console.error.apply(console,arguments);throw Error("PDFJS error: "+
+arguments[0]);},h=function(){console.warn.apply(console,arguments)},B=function(){console.info.apply(console,arguments)};m.prototype.parse=function(a){var b=0,c=a.length;151===a[b]&&74===a[b+1]&&66===a[b+2]&&50===a[b+3]&&13===a[b+4]&&10===a[b+5]&&26===a[b+6]&&10===a[b+7]||p("JBIG2 error: invalid header");b+=8;a[b++]&2||(d(a,b),b+=4);a=this.parseChunks([{data:a,start:b,end:c}]);b=a.currentPageInfo.width;c=a.currentPageInfo.height;var g=a.buffer;a=new Uint8Array(b*c);for(var e=0,f=0,h=0;h<c;h++)for(var l=
+0,k,q=0;q<b;q++)l||(l=128,k=g[f++]),a[e++]=k&l?0:255,l>>=1;this.width=b;this.height=c;this.data=a};c.JpegImage=e;c.JpxImage=k;c.Jbig2Image=m})(f||(f={}));p.exports={JpegImage:e,JpegDecoder:f.JpegImage,JpxDecoder:f.JpxImage,Jbig2Decoder:f.Jbig2Image}},function(p,e,m){m.d(e,"a",function(){return k});var k=function c(){if(!(this instanceof c))throw new TypeError("Cannot call a class as a function");};k.RPC_ID="ndstore/VolumeChunkSource"},function(p,e,m){e.a=function(d,e){e=Object(a.a)(Object(b.inflate)(new Uint8Array(e)));
+var l=d.chunkDataSize,g=d.source,m=g.spec.numChannels,n=e.shape;if(4!==n.length||n[0]!==m||n[1]!==l[2]||n[2]!==l[1]||n[3]!==l[0])throw Error("Shape "+JSON.stringify(n)+" does not match chunkDataSize "+Object(c.n)(l));l=e.dataType.dataType;g=g.spec;if(l!==g.dataType)throw Error("Data type "+f.a[l]+" does not match "+("expected data type "+f.a[g.dataType]));Object(k.a)(d,e.data)};var k=m(26),f=m(9),c=m(1),a=m(103),b=m(27);m.n(b)},function(p,e,m){e.a=function(a){if(147!==a[0]||78!==a[1]||85!==a[2]||
+77!==a[3]||80!==a[4]||89!==a[5])throw Error("Data does not match npy format.");var b=a[6],d=a[7];if(1!==b||0!==d)throw Error("Unsupported npy version "+b+"."+d);b=(new DataView(a.buffer,a.byteOffset,a.byteLength)).getUint16(8,!0);d=(new TextDecoder("utf-8")).decode(a.subarray(10,b+10));b+=10;try{var e=Object(f.d)(d)}catch(u){throw Error("Failed to parse npy header: "+u);}var l=e.descr;d=e.shape;var h=1;if(!Array.isArray(d))throw Error("Invalid shape ${JSON.stringify(shape)}");for(var k=$jscomp.makeIterator(d),
+m=k.next();!m.done;m=k.next()){m=m.value;if("number"!==typeof m)throw Error("Invalid shape ${JSON.stringify(shape)}");h*=m}k=c.get(l);if(void 0===k)throw Error("Unsupported numpy data type "+JSON.stringify(l));l=k.arrayConstructor;h*=k.javascriptElementsPerArrayElement;if(l.BYTES_PER_ELEMENT*h+b!==a.byteLength)throw Error("Expected length does not match length of data");a=new l(a.buffer,a.byteOffset+b,h);k.fixEndianness(a);return new n(a,d,k,!0===e.fortran_order)};p=m(14);var k=m(11),f=m(3),c=new Map;
+c.set("|u1",{arrayConstructor:Uint8Array,fixEndianness:function(){},javascriptElementsPerArrayElement:1,elementBytes:1,dataType:p.b.UINT8});c.set("|i1",{arrayConstructor:Uint8Array,fixEndianness:function(){},javascriptElementsPerArrayElement:1,elementBytes:1,dataType:p.b.UINT8});m={};e=$jscomp.makeIterator([["<",k.b.LITTLE],[">",k.b.BIG]]);for(var a=e.next();!a.done;m={endianness:m.endianness},a=e.next()){var b=$jscomp.makeIterator(a.value);a=b.next().value;m.endianness=b.next().value;b=$jscomp.makeIterator(["u",
+"i"]);for(var d=b.next();!d.done;d=b.next())d=d.value,c.set(""+a+d+"2",{arrayConstructor:Uint16Array,elementBytes:2,fixEndianness:function(a){return function(b){Object(k.c)(b,a.endianness)}}(m),javascriptElementsPerArrayElement:1,dataType:p.b.UINT16}),c.set(""+a+d+"4",{arrayConstructor:Uint32Array,elementBytes:4,fixEndianness:function(a){return function(b){Object(k.d)(b,a.endianness)}}(m),javascriptElementsPerArrayElement:1,dataType:p.b.UINT32}),c.set(""+a+d+"8",{arrayConstructor:Uint32Array,elementBytes:8,
+fixEndianness:function(a){return function(b){Object(k.d)(b,a.endianness)}}(m),javascriptElementsPerArrayElement:2,dataType:p.b.UINT64});c.set(a+"f4",{arrayConstructor:Float32Array,elementBytes:4,fixEndianness:function(a){return function(b){Object(k.d)(b,a.endianness)}}(m),javascriptElementsPerArrayElement:1,dataType:p.b.FLOAT32})}var n=function g(a,b,c,d){if(!(this instanceof g))throw new TypeError("Cannot call a class as a function");this.data=a;this.shape=b;this.dataType=c;this.fortranOrder=d}},
+function(p,e,m){function k(g){if(!(this instanceof k))return new k(g);g=this.options=a.assign({level:-1,method:8,chunkSize:16384,windowBits:15,memLevel:8,strategy:0,to:""},g||{});g.raw&&0<g.windowBits?g.windowBits=-g.windowBits:g.gzip&&0<g.windowBits&&16>g.windowBits&&(g.windowBits+=16);this.err=0;this.msg="";this.ended=!1;this.chunks=[];this.strm=new n;this.strm.avail_out=0;var e=c.deflateInit2(this.strm,g.level,g.method,g.windowBits,g.memLevel,g.strategy);if(0!==e)throw Error(d[e]);g.header&&c.deflateSetHeader(this.strm,
+g.header);if(g.dictionary){g="string"===typeof g.dictionary?b.string2buf(g.dictionary):"[object ArrayBuffer]"===l.call(g.dictionary)?new Uint8Array(g.dictionary):g.dictionary;e=c.deflateSetDictionary(this.strm,g);if(0!==e)throw Error(d[e]);this._dict_set=!0}}function f(a,b){b=new k(b);b.push(a,!0);if(b.err)throw b.msg||d[b.err];return b.result}var c=m(105),a=m(6),b=m(48),d=m(28),n=m(49),l=Object.prototype.toString;k.prototype.push=function(d,e){var g=this.strm,f=this.options.chunkSize;if(this.ended)return!1;
+e=e===~~e?e:!0===e?4:0;"string"===typeof d?g.input=b.string2buf(d):"[object ArrayBuffer]"===l.call(d)?g.input=new Uint8Array(d):g.input=d;g.next_in=0;g.avail_in=g.input.length;do{0===g.avail_out&&(g.output=new a.Buf8(f),g.next_out=0,g.avail_out=f);d=c.deflate(g,e);if(1!==d&&0!==d)return this.onEnd(d),this.ended=!0,!1;if(0===g.avail_out||0===g.avail_in&&(4===e||2===e))if("string"===this.options.to)this.onData(b.buf2binstring(a.shrinkBuf(g.output,g.next_out)));else this.onData(a.shrinkBuf(g.output,
+g.next_out))}while((0<g.avail_in||0===g.avail_out)&&1!==d);if(4===e)return d=c.deflateEnd(this.strm),this.onEnd(d),this.ended=!0,0===d;2===e&&(this.onEnd(0),g.avail_out=0);return!0};k.prototype.onData=function(a){this.chunks.push(a)};k.prototype.onEnd=function(b){0===b&&(this.result="string"===this.options.to?this.chunks.join(""):a.flattenChunks(this.chunks));this.chunks=[];this.err=b;this.msg=this.strm.msg};e.Deflate=k;e.deflate=f;e.deflateRaw=function(a,b){b=b||{};b.raw=!0;return f(a,b)};e.gzip=
+function(a,b){b=b||{};b.gzip=!0;return f(a,b)}},function(p,e,m){function k(a,b){a.msg=z[b];return b}function f(a){for(var b=a.length;0<=--b;)a[b]=0}function c(a){var b=a.state,c=b.pending;c>a.avail_out&&(c=a.avail_out);0!==c&&(J.arraySet(a.output,b.pending_buf,b.pending_out,c,a.next_out),a.next_out+=c,b.pending_out+=c,a.total_out+=c,a.avail_out-=c,b.pending-=c,0===b.pending&&(b.pending_out=0))}function a(a,b){v._tr_flush_block(a,0<=a.block_start?a.block_start:-1,a.strstart-a.block_start,b);a.block_start=
+a.strstart;c(a.strm)}function b(a,b){a.pending_buf[a.pending++]=b}function d(a,b){a.pending_buf[a.pending++]=b>>>8&255;a.pending_buf[a.pending++]=b&255}function n(a,b){var c=a.max_chain_length,d=a.strstart,g=a.prev_length,e=a.nice_match,f=a.strstart>a.w_size-262?a.strstart-(a.w_size-262):0,h=a.window,l=a.w_mask,k=a.prev,m=a.strstart+258,q=h[d+g-1],t=h[d+g];a.prev_length>=a.good_match&&(c>>=2);e>a.lookahead&&(e=a.lookahead);do{var n=b;if(h[n+g]===t&&h[n+g-1]===q&&h[n]===h[d]&&h[++n]===h[d+1]){d+=2;
+for(n++;h[++d]===h[++n]&&h[++d]===h[++n]&&h[++d]===h[++n]&&h[++d]===h[++n]&&h[++d]===h[++n]&&h[++d]===h[++n]&&h[++d]===h[++n]&&h[++d]===h[++n]&&d<m;);n=258-(m-d);d=m-258;if(n>g){a.match_start=b;g=n;if(n>=e)break;q=h[d+g-1];t=h[d+g]}}}while((b=k[b&l])>f&&0!==--c);return g<=a.lookahead?g:a.lookahead}function l(a){var b=a.w_size,c;do{var d=a.window_size-a.lookahead-a.strstart;if(a.strstart>=b+(b-262)){J.arraySet(a.window,a.window,b,b,0);a.match_start-=b;a.strstart-=b;a.block_start-=b;var g=c=a.hash_size;
+do{var e=a.head[--g];a.head[g]=e>=b?e-b:0}while(--c);g=c=b;do e=a.prev[--g],a.prev[g]=e>=b?e-b:0;while(--c);d+=b}if(0===a.strm.avail_in)break;g=a.strm;c=a.window;e=a.strstart+a.lookahead;var f=g.avail_in;f>d&&(f=d);0===f?c=0:(g.avail_in-=f,J.arraySet(c,g.input,g.next_in,f,e),1===g.state.wrap?g.adler=A(g.adler,c,f,e):2===g.state.wrap&&(g.adler=t(g.adler,c,f,e)),g.next_in+=f,g.total_in+=f,c=f);a.lookahead+=c;if(3<=a.lookahead+a.insert)for(d=a.strstart-a.insert,a.ins_h=a.window[d],a.ins_h=(a.ins_h<<
+a.hash_shift^a.window[d+1])&a.hash_mask;a.insert&&!(a.ins_h=(a.ins_h<<a.hash_shift^a.window[d+3-1])&a.hash_mask,a.prev[d&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=d,d++,a.insert--,3>a.lookahead+a.insert););}while(262>a.lookahead&&0!==a.strm.avail_in)}function g(b,c){for(var d;;){if(262>b.lookahead){l(b);if(262>b.lookahead&&0===c)return 1;if(0===b.lookahead)break}d=0;3<=b.lookahead&&(b.ins_h=(b.ins_h<<b.hash_shift^b.window[b.strstart+3-1])&b.hash_mask,d=b.prev[b.strstart&b.w_mask]=b.head[b.ins_h],
+b.head[b.ins_h]=b.strstart);0!==d&&b.strstart-d<=b.w_size-262&&(b.match_length=n(b,d));if(3<=b.match_length)if(d=v._tr_tally(b,b.strstart-b.match_start,b.match_length-3),b.lookahead-=b.match_length,b.match_length<=b.max_lazy_match&&3<=b.lookahead){b.match_length--;do b.strstart++,b.ins_h=(b.ins_h<<b.hash_shift^b.window[b.strstart+3-1])&b.hash_mask,b.prev[b.strstart&b.w_mask]=b.head[b.ins_h],b.head[b.ins_h]=b.strstart;while(0!==--b.match_length);b.strstart++}else b.strstart+=b.match_length,b.match_length=
+0,b.ins_h=b.window[b.strstart],b.ins_h=(b.ins_h<<b.hash_shift^b.window[b.strstart+1])&b.hash_mask;else d=v._tr_tally(b,0,b.window[b.strstart]),b.lookahead--,b.strstart++;if(d&&(a(b,!1),0===b.strm.avail_out))return 1}b.insert=2>b.strstart?b.strstart:2;return 4===c?(a(b,!0),0===b.strm.avail_out?3:4):b.last_lit&&(a(b,!1),0===b.strm.avail_out)?1:2}function r(b,c){for(var d,g;;){if(262>b.lookahead){l(b);if(262>b.lookahead&&0===c)return 1;if(0===b.lookahead)break}d=0;3<=b.lookahead&&(b.ins_h=(b.ins_h<<
+b.hash_shift^b.window[b.strstart+3-1])&b.hash_mask,d=b.prev[b.strstart&b.w_mask]=b.head[b.ins_h],b.head[b.ins_h]=b.strstart);b.prev_length=b.match_length;b.prev_match=b.match_start;b.match_length=2;0!==d&&b.prev_length<b.max_lazy_match&&b.strstart-d<=b.w_size-262&&(b.match_length=n(b,d),5>=b.match_length&&(1===b.strategy||3===b.match_length&&4096<b.strstart-b.match_start)&&(b.match_length=2));if(3<=b.prev_length&&b.match_length<=b.prev_length){g=b.strstart+b.lookahead-3;d=v._tr_tally(b,b.strstart-
+1-b.prev_match,b.prev_length-3);b.lookahead-=b.prev_length-1;b.prev_length-=2;do++b.strstart<=g&&(b.ins_h=(b.ins_h<<b.hash_shift^b.window[b.strstart+3-1])&b.hash_mask,b.prev[b.strstart&b.w_mask]=b.head[b.ins_h],b.head[b.ins_h]=b.strstart);while(0!==--b.prev_length);b.match_available=0;b.match_length=2;b.strstart++;if(d&&(a(b,!1),0===b.strm.avail_out))return 1}else if(b.match_available){if((d=v._tr_tally(b,0,b.window[b.strstart-1]))&&a(b,!1),b.strstart++,b.lookahead--,0===b.strm.avail_out)return 1}else b.match_available=
+1,b.strstart++,b.lookahead--}b.match_available&&(v._tr_tally(b,0,b.window[b.strstart-1]),b.match_available=0);b.insert=2>b.strstart?b.strstart:2;return 4===c?(a(b,!0),0===b.strm.avail_out?3:4):b.last_lit&&(a(b,!1),0===b.strm.avail_out)?1:2}function C(b,c){for(var d,g,e,f=b.window;;){if(258>=b.lookahead){l(b);if(258>=b.lookahead&&0===c)return 1;if(0===b.lookahead)break}b.match_length=0;if(3<=b.lookahead&&0<b.strstart&&(g=b.strstart-1,d=f[g],d===f[++g]&&d===f[++g]&&d===f[++g])){for(e=b.strstart+258;d===
+f[++g]&&d===f[++g]&&d===f[++g]&&d===f[++g]&&d===f[++g]&&d===f[++g]&&d===f[++g]&&d===f[++g]&&g<e;);b.match_length=258-(e-g);b.match_length>b.lookahead&&(b.match_length=b.lookahead)}3<=b.match_length?(d=v._tr_tally(b,1,b.match_length-3),b.lookahead-=b.match_length,b.strstart+=b.match_length,b.match_length=0):(d=v._tr_tally(b,0,b.window[b.strstart]),b.lookahead--,b.strstart++);if(d&&(a(b,!1),0===b.strm.avail_out))return 1}b.insert=0;return 4===c?(a(b,!0),0===b.strm.avail_out?3:4):b.last_lit&&(a(b,!1),
+0===b.strm.avail_out)?1:2}function w(b,c){for(var d;;){if(0===b.lookahead&&(l(b),0===b.lookahead)){if(0===c)return 1;break}b.match_length=0;d=v._tr_tally(b,0,b.window[b.strstart]);b.lookahead--;b.strstart++;if(d&&(a(b,!1),0===b.strm.avail_out))return 1}b.insert=0;return 4===c?(a(b,!0),0===b.strm.avail_out?3:4):b.last_lit&&(a(b,!1),0===b.strm.avail_out)?1:2}function h(a,b,c,d,g){this.good_length=a;this.max_lazy=b;this.nice_length=c;this.max_chain=d;this.func=g}function B(){this.strm=null;this.status=
+0;this.pending_buf=null;this.wrap=this.pending=this.pending_out=this.pending_buf_size=0;this.gzhead=null;this.gzindex=0;this.method=8;this.last_flush=-1;this.w_mask=this.w_bits=this.w_size=0;this.window=null;this.window_size=0;this.head=this.prev=null;this.nice_match=this.good_match=this.strategy=this.level=this.max_lazy_match=this.max_chain_length=this.prev_length=this.lookahead=this.match_start=this.strstart=this.match_available=this.prev_match=this.match_length=this.block_start=this.hash_shift=
+this.hash_mask=this.hash_bits=this.hash_size=this.ins_h=0;this.dyn_ltree=new J.Buf16(1146);this.dyn_dtree=new J.Buf16(122);this.bl_tree=new J.Buf16(78);f(this.dyn_ltree);f(this.dyn_dtree);f(this.bl_tree);this.bl_desc=this.d_desc=this.l_desc=null;this.bl_count=new J.Buf16(16);this.heap=new J.Buf16(573);f(this.heap);this.heap_max=this.heap_len=0;this.depth=new J.Buf16(573);f(this.depth);this.bi_valid=this.bi_buf=this.insert=this.matches=this.static_len=this.opt_len=this.d_buf=this.last_lit=this.lit_bufsize=
+this.l_buf=0}function I(a){if(!a||!a.state)return k(a,-2);a.total_in=a.total_out=0;a.data_type=2;var b=a.state;b.pending=0;b.pending_out=0;0>b.wrap&&(b.wrap=-b.wrap);b.status=b.wrap?42:113;a.adler=2===b.wrap?0:1;b.last_flush=0;v._tr_init(b);return 0}function u(a){var b=I(a);0===b&&(a=a.state,a.window_size=2*a.w_size,f(a.head),a.max_lazy_match=H[a.level].max_lazy,a.good_match=H[a.level].good_length,a.nice_match=H[a.level].nice_length,a.max_chain_length=H[a.level].max_chain,a.strstart=0,a.block_start=
+0,a.lookahead=0,a.insert=0,a.match_length=a.prev_length=2,a.match_available=0,a.ins_h=0);return b}function x(a,b,c,d,g,e){if(!a)return-2;var f=1;-1===b&&(b=6);0>d?(f=0,d=-d):15<d&&(f=2,d-=16);if(1>g||9<g||8!==c||8>d||15<d||0>b||9<b||0>e||4<e)return k(a,-2);8===d&&(d=9);var h=new B;a.state=h;h.strm=a;h.wrap=f;h.gzhead=null;h.w_bits=d;h.w_size=1<<h.w_bits;h.w_mask=h.w_size-1;h.hash_bits=g+7;h.hash_size=1<<h.hash_bits;h.hash_mask=h.hash_size-1;h.hash_shift=~~((h.hash_bits+3-1)/3);h.window=new J.Buf8(2*
+h.w_size);h.head=new J.Buf16(h.hash_size);h.prev=new J.Buf16(h.w_size);h.lit_bufsize=1<<g+6;h.pending_buf_size=4*h.lit_bufsize;h.pending_buf=new J.Buf8(h.pending_buf_size);h.d_buf=1*h.lit_bufsize;h.l_buf=3*h.lit_bufsize;h.level=b;h.strategy=e;h.method=c;return u(a)}var J=m(6),v=m(106),A=m(46),t=m(47),z=m(28);var H=[new h(0,0,0,0,function(b,c){var d=65535;for(d>b.pending_buf_size-5&&(d=b.pending_buf_size-5);;){if(1>=b.lookahead){l(b);if(0===b.lookahead&&0===c)return 1;if(0===b.lookahead)break}b.strstart+=
+b.lookahead;b.lookahead=0;var g=b.block_start+d;if(0===b.strstart||b.strstart>=g)if(b.lookahead=b.strstart-g,b.strstart=g,a(b,!1),0===b.strm.avail_out)return 1;if(b.strstart-b.block_start>=b.w_size-262&&(a(b,!1),0===b.strm.avail_out))return 1}b.insert=0;if(4===c)return a(b,!0),0===b.strm.avail_out?3:4;b.strstart>b.block_start&&a(b,!1);return 1}),new h(4,4,8,4,g),new h(4,5,16,8,g),new h(4,6,32,32,g),new h(4,4,16,16,r),new h(8,16,32,32,r),new h(8,16,128,128,r),new h(8,32,128,256,r),new h(32,128,258,
+1024,r),new h(32,258,258,4096,r)];e.deflateInit=function(a,b){return x(a,b,8,15,8,0)};e.deflateInit2=x;e.deflateReset=u;e.deflateResetKeep=I;e.deflateSetHeader=function(a,b){if(!a||!a.state||2!==a.state.wrap)return-2;a.state.gzhead=b;return 0};e.deflate=function(a,g){if(!a||!a.state||5<g||0>g)return a?k(a,-2):-2;var e=a.state;if(!a.output||!a.input&&0!==a.avail_in||666===e.status&&4!==g)return k(a,0===a.avail_out?-5:-2);e.strm=a;var h=e.last_flush;e.last_flush=g;if(42===e.status)if(2===e.wrap)a.adler=
+0,b(e,31),b(e,139),b(e,8),e.gzhead?(b(e,(e.gzhead.text?1:0)+(e.gzhead.hcrc?2:0)+(e.gzhead.extra?4:0)+(e.gzhead.name?8:0)+(e.gzhead.comment?16:0)),b(e,e.gzhead.time&255),b(e,e.gzhead.time>>8&255),b(e,e.gzhead.time>>16&255),b(e,e.gzhead.time>>24&255),b(e,9===e.level?2:2<=e.strategy||2>e.level?4:0),b(e,e.gzhead.os&255),e.gzhead.extra&&e.gzhead.extra.length&&(b(e,e.gzhead.extra.length&255),b(e,e.gzhead.extra.length>>8&255)),e.gzhead.hcrc&&(a.adler=t(a.adler,e.pending_buf,e.pending,0)),e.gzindex=0,e.status=
+69):(b(e,0),b(e,0),b(e,0),b(e,0),b(e,0),b(e,9===e.level?2:2<=e.strategy||2>e.level?4:0),b(e,3),e.status=113);else{var l=8+(e.w_bits-8<<4)<<8;l|=(2<=e.strategy||2>e.level?0:6>e.level?1:6===e.level?2:3)<<6;0!==e.strstart&&(l|=32);e.status=113;d(e,l+(31-l%31));0!==e.strstart&&(d(e,a.adler>>>16),d(e,a.adler&65535));a.adler=1}if(69===e.status)if(e.gzhead.extra){for(l=e.pending;e.gzindex<(e.gzhead.extra.length&65535)&&(e.pending!==e.pending_buf_size||(e.gzhead.hcrc&&e.pending>l&&(a.adler=t(a.adler,e.pending_buf,
+e.pending-l,l)),c(a),l=e.pending,e.pending!==e.pending_buf_size));)b(e,e.gzhead.extra[e.gzindex]&255),e.gzindex++;e.gzhead.hcrc&&e.pending>l&&(a.adler=t(a.adler,e.pending_buf,e.pending-l,l));e.gzindex===e.gzhead.extra.length&&(e.gzindex=0,e.status=73)}else e.status=73;if(73===e.status)if(e.gzhead.name){l=e.pending;do{if(e.pending===e.pending_buf_size&&(e.gzhead.hcrc&&e.pending>l&&(a.adler=t(a.adler,e.pending_buf,e.pending-l,l)),c(a),l=e.pending,e.pending===e.pending_buf_size)){var m=1;break}m=e.gzindex<
+e.gzhead.name.length?e.gzhead.name.charCodeAt(e.gzindex++)&255:0;b(e,m)}while(0!==m);e.gzhead.hcrc&&e.pending>l&&(a.adler=t(a.adler,e.pending_buf,e.pending-l,l));0===m&&(e.gzindex=0,e.status=91)}else e.status=91;if(91===e.status)if(e.gzhead.comment){l=e.pending;do{if(e.pending===e.pending_buf_size&&(e.gzhead.hcrc&&e.pending>l&&(a.adler=t(a.adler,e.pending_buf,e.pending-l,l)),c(a),l=e.pending,e.pending===e.pending_buf_size)){m=1;break}m=e.gzindex<e.gzhead.comment.length?e.gzhead.comment.charCodeAt(e.gzindex++)&
+255:0;b(e,m)}while(0!==m);e.gzhead.hcrc&&e.pending>l&&(a.adler=t(a.adler,e.pending_buf,e.pending-l,l));0===m&&(e.status=103)}else e.status=103;103===e.status&&(e.gzhead.hcrc?(e.pending+2>e.pending_buf_size&&c(a),e.pending+2<=e.pending_buf_size&&(b(e,a.adler&255),b(e,a.adler>>8&255),a.adler=0,e.status=113)):e.status=113);if(0!==e.pending){if(c(a),0===a.avail_out)return e.last_flush=-1,0}else if(0===a.avail_in&&(g<<1)-(4<g?9:0)<=(h<<1)-(4<h?9:0)&&4!==g)return k(a,-5);if(666===e.status&&0!==a.avail_in)return k(a,
+-5);if(0!==a.avail_in||0!==e.lookahead||0!==g&&666!==e.status){h=2===e.strategy?w(e,g):3===e.strategy?C(e,g):H[e.level].func(e,g);if(3===h||4===h)e.status=666;if(1===h||3===h)return 0===a.avail_out&&(e.last_flush=-1),0;if(2===h&&(1===g?v._tr_align(e):5!==g&&(v._tr_stored_block(e,0,0,!1),3===g&&(f(e.head),0===e.lookahead&&(e.strstart=0,e.block_start=0,e.insert=0))),c(a),0===a.avail_out))return e.last_flush=-1,0}if(4!==g)return 0;if(0>=e.wrap)return 1;2===e.wrap?(b(e,a.adler&255),b(e,a.adler>>8&255),
+b(e,a.adler>>16&255),b(e,a.adler>>24&255),b(e,a.total_in&255),b(e,a.total_in>>8&255),b(e,a.total_in>>16&255),b(e,a.total_in>>24&255)):(d(e,a.adler>>>16),d(e,a.adler&65535));c(a);0<e.wrap&&(e.wrap=-e.wrap);return 0!==e.pending?0:1};e.deflateEnd=function(a){if(!a||!a.state)return-2;var b=a.state.status;if(42!==b&&69!==b&&73!==b&&91!==b&&103!==b&&113!==b&&666!==b)return k(a,-2);a.state=null;return 113===b?k(a,-3):0};e.deflateSetDictionary=function(a,b){var c=b.length;if(!a||!a.state)return-2;var d=a.state;
+var e=d.wrap;if(2===e||1===e&&42!==d.status||d.lookahead)return-2;1===e&&(a.adler=A(a.adler,b,c,0));d.wrap=0;if(c>=d.w_size){0===e&&(f(d.head),d.strstart=0,d.block_start=0,d.insert=0);var g=new J.Buf8(d.w_size);J.arraySet(g,b,c-d.w_size,d.w_size,0);b=g;c=d.w_size}g=a.avail_in;var h=a.next_in;var k=a.input;a.avail_in=c;a.next_in=0;a.input=b;for(l(d);3<=d.lookahead;){b=d.strstart;c=d.lookahead-2;do d.ins_h=(d.ins_h<<d.hash_shift^d.window[b+3-1])&d.hash_mask,d.prev[b&d.w_mask]=d.head[d.ins_h],d.head[d.ins_h]=
+b,b++;while(--c);d.strstart=b;d.lookahead=2;l(d)}d.strstart+=d.lookahead;d.block_start=d.strstart;d.insert=d.lookahead;d.lookahead=0;d.match_length=d.prev_length=2;d.match_available=0;a.next_in=h;a.input=k;a.avail_in=g;d.wrap=e;return 0};e.deflateInfo="pako deflate (from Nodeca project)"},function(p,e,m){function k(a){for(var b=a.length;0<=--b;)a[b]=0}function f(a,b,c,d,e){this.static_tree=a;this.extra_bits=b;this.extra_base=c;this.elems=d;this.max_length=e;this.has_stree=a&&a.length}function c(a,
+b){this.dyn_tree=a;this.max_code=0;this.stat_desc=b}function a(a,b){a.pending_buf[a.pending++]=b&255;a.pending_buf[a.pending++]=b>>>8&255}function b(b,c,d){b.bi_valid>16-d?(b.bi_buf|=c<<b.bi_valid&65535,a(b,b.bi_buf),b.bi_buf=c>>16-b.bi_valid,b.bi_valid+=d-16):(b.bi_buf|=c<<b.bi_valid&65535,b.bi_valid+=d)}function d(a,c,d){b(a,d[2*c],d[2*c+1])}function n(a,b){var c=0;do c|=a&1,a>>>=1,c<<=1;while(0<--b);return c>>>1}function l(a,b,c){var d=Array(16),e=0,g;for(g=1;15>=g;g++)d[g]=e=e+c[g-1]<<1;for(c=
+0;c<=b;c++)e=a[2*c+1],0!==e&&(a[2*c]=n(d[e]++,e))}function g(a){var b;for(b=0;286>b;b++)a.dyn_ltree[2*b]=0;for(b=0;30>b;b++)a.dyn_dtree[2*b]=0;for(b=0;19>b;b++)a.bl_tree[2*b]=0;a.dyn_ltree[512]=1;a.opt_len=a.static_len=0;a.last_lit=a.matches=0}function r(b){8<b.bi_valid?a(b,b.bi_buf):0<b.bi_valid&&(b.pending_buf[b.pending++]=b.bi_buf);b.bi_buf=0;b.bi_valid=0}function C(a,b,c,d){var e=2*b,g=2*c;return a[e]<a[g]||a[e]===a[g]&&d[b]<=d[c]}function w(a,b,c){for(var d=a.heap[c],e=c<<1;e<=a.heap_len;){e<
+a.heap_len&&C(b,a.heap[e+1],a.heap[e],a.depth)&&e++;if(C(b,d,a.heap[e],a.depth))break;a.heap[c]=a.heap[e];c=e;e<<=1}a.heap[c]=d}function h(a,c,e){var g=0;if(0!==a.last_lit){do{var f=a.pending_buf[a.d_buf+2*g]<<8|a.pending_buf[a.d_buf+2*g+1];var h=a.pending_buf[a.l_buf+g];g++;if(0===f)d(a,h,c);else{var l=K[h];d(a,l+256+1,c);var k=A[l];0!==k&&(h-=D[l],b(a,h,k));f--;l=256>f?L[f]:L[256+(f>>>7)];d(a,l,e);k=t[l];0!==k&&(f-=E[l],b(a,f,k))}}while(g<a.last_lit)}d(a,256,c)}function B(a,b){var c=b.dyn_tree,
+d=b.stat_desc.static_tree,e=b.stat_desc.has_stree,g=b.stat_desc.elems,f,h=-1;a.heap_len=0;a.heap_max=573;for(f=0;f<g;f++)0!==c[2*f]?(a.heap[++a.heap_len]=h=f,a.depth[f]=0):c[2*f+1]=0;for(;2>a.heap_len;){var k=a.heap[++a.heap_len]=2>h?++h:0;c[2*k]=1;a.depth[k]=0;a.opt_len--;e&&(a.static_len-=d[2*k+1])}b.max_code=h;for(f=a.heap_len>>1;1<=f;f--)w(a,c,f);k=g;do f=a.heap[1],a.heap[1]=a.heap[a.heap_len--],w(a,c,1),d=a.heap[1],a.heap[--a.heap_max]=f,a.heap[--a.heap_max]=d,c[2*k]=c[2*f]+c[2*d],a.depth[k]=
+(a.depth[f]>=a.depth[d]?a.depth[f]:a.depth[d])+1,c[2*f+1]=c[2*d+1]=k,a.heap[1]=k++,w(a,c,1);while(2<=a.heap_len);a.heap[--a.heap_max]=a.heap[1];f=b.dyn_tree;k=b.max_code;d=b.stat_desc.static_tree;e=b.stat_desc.has_stree;g=b.stat_desc.extra_bits;var m=b.stat_desc.extra_base,n=b.stat_desc.max_length,t,p=0;for(t=0;15>=t;t++)a.bl_count[t]=0;f[2*a.heap[a.heap_max]+1]=0;for(b=a.heap_max+1;573>b;b++){var q=a.heap[b];t=f[2*f[2*q+1]+1]+1;t>n&&(t=n,p++);f[2*q+1]=t;if(!(q>k)){a.bl_count[t]++;var r=0;q>=m&&(r=
+g[q-m]);var u=f[2*q];a.opt_len+=u*(t+r);e&&(a.static_len+=u*(d[2*q+1]+r))}}if(0!==p){do{for(t=n-1;0===a.bl_count[t];)t--;a.bl_count[t]--;a.bl_count[t+1]+=2;a.bl_count[n]--;p-=2}while(0<p);for(t=n;0!==t;t--)for(q=a.bl_count[t];0!==q;)d=a.heap[--b],d>k||(f[2*d+1]!==t&&(a.opt_len+=(t-f[2*d+1])*f[2*d],f[2*d+1]=t),q--)}l(c,h,a.bl_count)}function I(a,b,c){var d,e=-1,g=b[1],f=0,h=7,l=4;0===g&&(h=138,l=3);b[2*(c+1)+1]=65535;for(d=0;d<=c;d++){var k=g;g=b[2*(d+1)+1];++f<h&&k===g||(f<l?a.bl_tree[2*k]+=f:0!==
+k?(k!==e&&a.bl_tree[2*k]++,a.bl_tree[32]++):10>=f?a.bl_tree[34]++:a.bl_tree[36]++,f=0,e=k,0===g?(h=138,l=3):k===g?(h=6,l=3):(h=7,l=4))}}function u(a,c,e){var g,f=-1,h=c[1],l=0,k=7,m=4;0===h&&(k=138,m=3);for(g=0;g<=e;g++){var t=h;h=c[2*(g+1)+1];if(!(++l<k&&t===h)){if(l<m){do d(a,t,a.bl_tree);while(0!==--l)}else 0!==t?(t!==f&&(d(a,t,a.bl_tree),l--),d(a,16,a.bl_tree),b(a,l-3,2)):10>=l?(d(a,17,a.bl_tree),b(a,l-3,3)):(d(a,18,a.bl_tree),b(a,l-11,7));l=0;f=t;0===h?(k=138,m=3):t===h?(k=6,m=3):(k=7,m=4)}}}
+function x(a){var b=4093624447,c;for(c=0;31>=c;c++,b>>>=1)if(b&1&&0!==a.dyn_ltree[2*c])return 0;if(0!==a.dyn_ltree[18]||0!==a.dyn_ltree[20]||0!==a.dyn_ltree[26])return 1;for(c=32;256>c;c++)if(0!==a.dyn_ltree[2*c])return 1;return 0}function J(c,d,e,g){b(c,0+(g?1:0),3);r(c);a(c,e);a(c,~e);v.arraySet(c.pending_buf,c.window,d,e,c.pending);c.pending+=e}var v=m(6),A=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],t=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],z=[0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],H=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],q=Array(576);k(q);var G=Array(60);k(G);var L=Array(512);k(L);var K=Array(256);k(K);var D=Array(29);k(D);var E=Array(30);k(E);var Q,N,O,F=!1;e._tr_init=function(a){if(!F){var b,d,e,h=Array(16);for(e=d=0;28>e;e++)for(D[e]=d,b=0;b<1<<A[e];b++)K[d++]=e;K[d-1]=e;for(e=d=0;16>e;e++)for(E[e]=d,b=0;b<1<<t[e];b++)L[d++]=e;for(d>>=7;30>e;e++)for(E[e]=d<<7,b=0;b<1<<t[e]-7;b++)L[256+d++]=e;for(b=0;15>=b;b++)h[b]=0;for(b=0;143>=
+b;)q[2*b+1]=8,b++,h[8]++;for(;255>=b;)q[2*b+1]=9,b++,h[9]++;for(;279>=b;)q[2*b+1]=7,b++,h[7]++;for(;287>=b;)q[2*b+1]=8,b++,h[8]++;l(q,287,h);for(b=0;30>b;b++)G[2*b+1]=5,G[2*b]=n(b,5);Q=new f(q,A,257,286,15);N=new f(G,t,0,30,15);O=new f([],z,0,19,7);F=!0}a.l_desc=new c(a.dyn_ltree,Q);a.d_desc=new c(a.dyn_dtree,N);a.bl_desc=new c(a.bl_tree,O);a.bi_buf=0;a.bi_valid=0;g(a)};e._tr_stored_block=J;e._tr_flush_block=function(a,c,d,e){var f=0;if(0<a.level){2===a.strm.data_type&&(a.strm.data_type=x(a));B(a,
+a.l_desc);B(a,a.d_desc);I(a,a.dyn_ltree,a.l_desc.max_code);I(a,a.dyn_dtree,a.d_desc.max_code);B(a,a.bl_desc);for(f=18;3<=f&&0===a.bl_tree[2*H[f]+1];f--);a.opt_len+=3*(f+1)+14;var l=a.opt_len+3+7>>>3;var k=a.static_len+3+7>>>3;k<=l&&(l=k)}else l=k=d+5;if(d+4<=l&&-1!==c)J(a,c,d,e);else if(4===a.strategy||k===l)b(a,2+(e?1:0),3),h(a,q,G);else{b(a,4+(e?1:0),3);c=a.l_desc.max_code+1;d=a.d_desc.max_code+1;f+=1;b(a,c-257,5);b(a,d-1,5);b(a,f-4,4);for(l=0;l<f;l++)b(a,a.bl_tree[2*H[l]+1],3);u(a,a.dyn_ltree,
+c-1);u(a,a.dyn_dtree,d-1);h(a,a.dyn_ltree,a.dyn_dtree)}g(a);e&&r(a)};e._tr_tally=function(a,b,c){a.pending_buf[a.d_buf+2*a.last_lit]=b>>>8&255;a.pending_buf[a.d_buf+2*a.last_lit+1]=b&255;a.pending_buf[a.l_buf+a.last_lit]=c&255;a.last_lit++;0===b?a.dyn_ltree[2*c]++:(a.matches++,b--,a.dyn_ltree[2*(K[c]+256+1)]++,a.dyn_dtree[2*(256>b?L[b]:L[256+(b>>>7)])]++);return a.last_lit===a.lit_bufsize-1};e._tr_align=function(c){b(c,2,3);d(c,256,q);16===c.bi_valid?(a(c,c.bi_buf),c.bi_buf=0,c.bi_valid=0):8<=c.bi_valid&&
+(c.pending_buf[c.pending++]=c.bi_buf&255,c.bi_buf>>=8,c.bi_valid-=8)}},function(p,e,m){function k(b){if(!(this instanceof k))return new k(b);var e=this.options=a.assign({chunkSize:16384,windowBits:0,to:""},b||{});e.raw&&0<=e.windowBits&&16>e.windowBits&&(e.windowBits=-e.windowBits,0===e.windowBits&&(e.windowBits=-15));!(0<=e.windowBits&&16>e.windowBits)||b&&b.windowBits||(e.windowBits+=32);15<e.windowBits&&48>e.windowBits&&0===(e.windowBits&15)&&(e.windowBits|=15);this.err=0;this.msg="";this.ended=
+!1;this.chunks=[];this.strm=new l;this.strm.avail_out=0;b=c.inflateInit2(this.strm,e.windowBits);if(b!==d.Z_OK)throw Error(n[b]);this.header=new g;c.inflateGetHeader(this.strm,this.header)}function f(a,b){b=new k(b);b.push(a,!0);if(b.err)throw b.msg||n[b.err];return b.result}var c=m(108),a=m(6),b=m(48),d=m(50),n=m(28),l=m(49),g=m(111),r=Object.prototype.toString;k.prototype.push=function(e,g){var f=this.strm,l=this.options.chunkSize,k=this.options.dictionary,m=!1;if(this.ended)return!1;g=g===~~g?
+g:!0===g?d.Z_FINISH:d.Z_NO_FLUSH;"string"===typeof e?f.input=b.binstring2buf(e):"[object ArrayBuffer]"===r.call(e)?f.input=new Uint8Array(e):f.input=e;f.next_in=0;f.avail_in=f.input.length;do{0===f.avail_out&&(f.output=new a.Buf8(l),f.next_out=0,f.avail_out=l);e=c.inflate(f,d.Z_NO_FLUSH);e===d.Z_NEED_DICT&&k&&(e="string"===typeof k?b.string2buf(k):"[object ArrayBuffer]"===r.call(k)?new Uint8Array(k):k,e=c.inflateSetDictionary(this.strm,e));e===d.Z_BUF_ERROR&&!0===m&&(e=d.Z_OK,m=!1);if(e!==d.Z_STREAM_END&&
+e!==d.Z_OK)return this.onEnd(e),this.ended=!0,!1;if(f.next_out&&(0===f.avail_out||e===d.Z_STREAM_END||0===f.avail_in&&(g===d.Z_FINISH||g===d.Z_SYNC_FLUSH)))if("string"===this.options.to){var n=b.utf8border(f.output,f.next_out);var p=f.next_out-n;var v=b.buf2string(f.output,n);f.next_out=p;f.avail_out=l-p;p&&a.arraySet(f.output,f.output,n,p,0);this.onData(v)}else this.onData(a.shrinkBuf(f.output,f.next_out));0===f.avail_in&&0===f.avail_out&&(m=!0)}while((0<f.avail_in||0===f.avail_out)&&e!==d.Z_STREAM_END);
+e===d.Z_STREAM_END&&(g=d.Z_FINISH);if(g===d.Z_FINISH)return e=c.inflateEnd(this.strm),this.onEnd(e),this.ended=!0,e===d.Z_OK;g===d.Z_SYNC_FLUSH&&(this.onEnd(d.Z_OK),f.avail_out=0);return!0};k.prototype.onData=function(a){this.chunks.push(a)};k.prototype.onEnd=function(b){b===d.Z_OK&&(this.result="string"===this.options.to?this.chunks.join(""):a.flattenChunks(this.chunks));this.chunks=[];this.err=b;this.msg=this.strm.msg};e.Inflate=k;e.inflate=f;e.inflateRaw=function(a,b){b=b||{};b.raw=!0;return f(a,
+b)};e.ungzip=f},function(p,e,m){function k(a){return(a>>>24&255)+(a>>>8&65280)+((a&65280)<<8)+((a&255)<<24)}function f(){this.mode=0;this.last=!1;this.wrap=0;this.havedict=!1;this.total=this.check=this.dmax=this.flags=0;this.head=null;this.wnext=this.whave=this.wsize=this.wbits=0;this.window=null;this.extra=this.offset=this.length=this.bits=this.hold=0;this.distcode=this.lencode=null;this.have=this.ndist=this.nlen=this.ncode=this.distbits=this.lenbits=0;this.next=null;this.lens=new l.Buf16(320);this.work=
+new l.Buf16(288);this.distdyn=this.lendyn=null;this.was=this.back=this.sane=0}function c(a){if(!a||!a.state)return-2;var b=a.state;a.total_in=a.total_out=b.total=0;a.msg="";b.wrap&&(a.adler=b.wrap&1);b.mode=1;b.last=0;b.havedict=0;b.dmax=32768;b.head=null;b.hold=0;b.bits=0;b.lencode=b.lendyn=new l.Buf32(852);b.distcode=b.distdyn=new l.Buf32(592);b.sane=1;b.back=-1;return 0}function a(a){if(!a||!a.state)return-2;var b=a.state;b.wsize=0;b.whave=0;b.wnext=0;return c(a)}function b(b,c){if(!b||!b.state)return-2;
+var d=b.state;if(0>c){var e=0;c=-c}else e=(c>>4)+1,48>c&&(c&=15);if(c&&(8>c||15<c))return-2;null!==d.window&&d.wbits!==c&&(d.window=null);d.wrap=e;d.wbits=c;return a(b)}function d(a,c){if(!a)return-2;var d=new f;a.state=d;d.window=null;c=b(a,c);0!==c&&(a.state=null);return c}function n(a,b,c,d){var e=a.state;null===e.window&&(e.wsize=1<<e.wbits,e.wnext=0,e.whave=0,e.window=new l.Buf8(e.wsize));d>=e.wsize?(l.arraySet(e.window,b,c-e.wsize,e.wsize,0),e.wnext=0,e.whave=e.wsize):(a=e.wsize-e.wnext,a>d&&
+(a=d),l.arraySet(e.window,b,c-d,a,e.wnext),(d-=a)?(l.arraySet(e.window,b,c-d,d,0),e.wnext=d,e.whave=e.wsize):(e.wnext+=a,e.wnext===e.wsize&&(e.wnext=0),e.whave<e.wsize&&(e.whave+=a)));return 0}var l=m(6),g=m(46),r=m(47),C=m(109),w=m(110),h=!0,B,I;e.inflateReset=a;e.inflateReset2=b;e.inflateResetKeep=c;e.inflateInit=function(a){return d(a,15)};e.inflateInit2=d;e.inflate=function(a,b){var c,d=new l.Buf8(4),e=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!a||!a.state||!a.output||!a.input&&0!==
+a.avail_in)return-2;var f=a.state;12===f.mode&&(f.mode=13);var m=a.next_out;var p=a.output;var q=a.avail_out;var u=a.next_in;var x=a.input;var K=a.avail_in;var D=f.hold;var E=f.bits;var Q=K;var N=q;var O=0;a:for(;;)switch(f.mode){case 1:if(0===f.wrap){f.mode=13;break}for(;16>E;){if(0===K)break a;K--;D+=x[u++]<<E;E+=8}if(f.wrap&2&&35615===D){f.check=0;d[0]=D&255;d[1]=D>>>8&255;f.check=r(f.check,d,2,0);E=D=0;f.mode=2;break}f.flags=0;f.head&&(f.head.done=!1);if(!(f.wrap&1)||(((D&255)<<8)+(D>>8))%31){a.msg=
+"incorrect header check";f.mode=30;break}if(8!==(D&15)){a.msg="unknown compression method";f.mode=30;break}D>>>=4;E-=4;var F=(D&15)+8;if(0===f.wbits)f.wbits=F;else if(F>f.wbits){a.msg="invalid window size";f.mode=30;break}f.dmax=1<<F;a.adler=f.check=1;f.mode=D&512?10:12;E=D=0;break;case 2:for(;16>E;){if(0===K)break a;K--;D+=x[u++]<<E;E+=8}f.flags=D;if(8!==(f.flags&255)){a.msg="unknown compression method";f.mode=30;break}if(f.flags&57344){a.msg="unknown header flags set";f.mode=30;break}f.head&&(f.head.text=
+D>>8&1);f.flags&512&&(d[0]=D&255,d[1]=D>>>8&255,f.check=r(f.check,d,2,0));E=D=0;f.mode=3;case 3:for(;32>E;){if(0===K)break a;K--;D+=x[u++]<<E;E+=8}f.head&&(f.head.time=D);f.flags&512&&(d[0]=D&255,d[1]=D>>>8&255,d[2]=D>>>16&255,d[3]=D>>>24&255,f.check=r(f.check,d,4,0));E=D=0;f.mode=4;case 4:for(;16>E;){if(0===K)break a;K--;D+=x[u++]<<E;E+=8}f.head&&(f.head.xflags=D&255,f.head.os=D>>8);f.flags&512&&(d[0]=D&255,d[1]=D>>>8&255,f.check=r(f.check,d,2,0));E=D=0;f.mode=5;case 5:if(f.flags&1024){for(;16>E;){if(0===
+K)break a;K--;D+=x[u++]<<E;E+=8}f.length=D;f.head&&(f.head.extra_len=D);f.flags&512&&(d[0]=D&255,d[1]=D>>>8&255,f.check=r(f.check,d,2,0));E=D=0}else f.head&&(f.head.extra=null);f.mode=6;case 6:if(f.flags&1024){var y=f.length;y>K&&(y=K);y&&(f.head&&(F=f.head.extra_len-f.length,f.head.extra||(f.head.extra=Array(f.head.extra_len)),l.arraySet(f.head.extra,x,u,y,F)),f.flags&512&&(f.check=r(f.check,x,y,u)),K-=y,u+=y,f.length-=y);if(f.length)break a}f.length=0;f.mode=7;case 7:if(f.flags&2048){if(0===K)break a;
+y=0;do F=x[u+y++],f.head&&F&&65536>f.length&&(f.head.name+=String.fromCharCode(F));while(F&&y<K);f.flags&512&&(f.check=r(f.check,x,y,u));K-=y;u+=y;if(F)break a}else f.head&&(f.head.name=null);f.length=0;f.mode=8;case 8:if(f.flags&4096){if(0===K)break a;y=0;do F=x[u+y++],f.head&&F&&65536>f.length&&(f.head.comment+=String.fromCharCode(F));while(F&&y<K);f.flags&512&&(f.check=r(f.check,x,y,u));K-=y;u+=y;if(F)break a}else f.head&&(f.head.comment=null);f.mode=9;case 9:if(f.flags&512){for(;16>E;){if(0===
+K)break a;K--;D+=x[u++]<<E;E+=8}if(D!==(f.check&65535)){a.msg="header crc mismatch";f.mode=30;break}E=D=0}f.head&&(f.head.hcrc=f.flags>>9&1,f.head.done=!0);a.adler=f.check=0;f.mode=12;break;case 10:for(;32>E;){if(0===K)break a;K--;D+=x[u++]<<E;E+=8}a.adler=f.check=k(D);E=D=0;f.mode=11;case 11:if(0===f.havedict)return a.next_out=m,a.avail_out=q,a.next_in=u,a.avail_in=K,f.hold=D,f.bits=E,2;a.adler=f.check=1;f.mode=12;case 12:if(5===b||6===b)break a;case 13:if(f.last){D>>>=E&7;E-=E&7;f.mode=27;break}for(;3>
+E;){if(0===K)break a;K--;D+=x[u++]<<E;E+=8}f.last=D&1;D>>>=1;--E;switch(D&3){case 0:f.mode=14;break;case 1:F=f;if(h){B=new l.Buf32(512);I=new l.Buf32(32);for(y=0;144>y;)F.lens[y++]=8;for(;256>y;)F.lens[y++]=9;for(;280>y;)F.lens[y++]=7;for(;288>y;)F.lens[y++]=8;w(1,F.lens,0,288,B,0,F.work,{bits:9});for(y=0;32>y;)F.lens[y++]=5;w(2,F.lens,0,32,I,0,F.work,{bits:5});h=!1}F.lencode=B;F.lenbits=9;F.distcode=I;F.distbits=5;f.mode=20;if(6===b){D>>>=2;E-=2;break a}break;case 2:f.mode=17;break;case 3:a.msg=
+"invalid block type",f.mode=30}D>>>=2;E-=2;break;case 14:D>>>=E&7;for(E-=E&7;32>E;){if(0===K)break a;K--;D+=x[u++]<<E;E+=8}if((D&65535)!==(D>>>16^65535)){a.msg="invalid stored block lengths";f.mode=30;break}f.length=D&65535;E=D=0;f.mode=15;if(6===b)break a;case 15:f.mode=16;case 16:if(y=f.length){y>K&&(y=K);y>q&&(y=q);if(0===y)break a;l.arraySet(p,x,u,y,m);K-=y;u+=y;q-=y;m+=y;f.length-=y;break}f.mode=12;break;case 17:for(;14>E;){if(0===K)break a;K--;D+=x[u++]<<E;E+=8}f.nlen=(D&31)+257;D>>>=5;E-=5;
+f.ndist=(D&31)+1;D>>>=5;E-=5;f.ncode=(D&15)+4;D>>>=4;E-=4;if(286<f.nlen||30<f.ndist){a.msg="too many length or distance symbols";f.mode=30;break}f.have=0;f.mode=18;case 18:for(;f.have<f.ncode;){for(;3>E;){if(0===K)break a;K--;D+=x[u++]<<E;E+=8}f.lens[e[f.have++]]=D&7;D>>>=3;E-=3}for(;19>f.have;)f.lens[e[f.have++]]=0;f.lencode=f.lendyn;f.lenbits=7;y={bits:f.lenbits};O=w(0,f.lens,0,19,f.lencode,0,f.work,y);f.lenbits=y.bits;if(O){a.msg="invalid code lengths set";f.mode=30;break}f.have=0;f.mode=19;case 19:for(;f.have<
+f.nlen+f.ndist;){for(;;){var M=f.lencode[D&(1<<f.lenbits)-1];y=M>>>24;M&=65535;if(y<=E)break;if(0===K)break a;K--;D+=x[u++]<<E;E+=8}if(16>M)D>>>=y,E-=y,f.lens[f.have++]=M;else{if(16===M){for(F=y+2;E<F;){if(0===K)break a;K--;D+=x[u++]<<E;E+=8}D>>>=y;E-=y;if(0===f.have){a.msg="invalid bit length repeat";f.mode=30;break}F=f.lens[f.have-1];y=3+(D&3);D>>>=2;E-=2}else if(17===M){for(F=y+3;E<F;){if(0===K)break a;K--;D+=x[u++]<<E;E+=8}D>>>=y;E-=y;F=0;y=3+(D&7);D>>>=3;E-=3}else{for(F=y+7;E<F;){if(0===K)break a;
+K--;D+=x[u++]<<E;E+=8}D>>>=y;E-=y;F=0;y=11+(D&127);D>>>=7;E-=7}if(f.have+y>f.nlen+f.ndist){a.msg="invalid bit length repeat";f.mode=30;break}for(;y--;)f.lens[f.have++]=F}}if(30===f.mode)break;if(0===f.lens[256]){a.msg="invalid code -- missing end-of-block";f.mode=30;break}f.lenbits=9;y={bits:f.lenbits};O=w(1,f.lens,0,f.nlen,f.lencode,0,f.work,y);f.lenbits=y.bits;if(O){a.msg="invalid literal/lengths set";f.mode=30;break}f.distbits=6;f.distcode=f.distdyn;y={bits:f.distbits};O=w(2,f.lens,f.nlen,f.ndist,
+f.distcode,0,f.work,y);f.distbits=y.bits;if(O){a.msg="invalid distances set";f.mode=30;break}f.mode=20;if(6===b)break a;case 20:f.mode=21;case 21:if(6<=K&&258<=q){a.next_out=m;a.avail_out=q;a.next_in=u;a.avail_in=K;f.hold=D;f.bits=E;C(a,N);m=a.next_out;p=a.output;q=a.avail_out;u=a.next_in;x=a.input;K=a.avail_in;D=f.hold;E=f.bits;12===f.mode&&(f.back=-1);break}for(f.back=0;;){M=f.lencode[D&(1<<f.lenbits)-1];y=M>>>24;F=M>>>16&255;M&=65535;if(y<=E)break;if(0===K)break a;K--;D+=x[u++]<<E;E+=8}if(F&&0===
+(F&240)){var R=y;var X=F;for(c=M;;){M=f.lencode[c+((D&(1<<R+X)-1)>>R)];y=M>>>24;F=M>>>16&255;M&=65535;if(R+y<=E)break;if(0===K)break a;K--;D+=x[u++]<<E;E+=8}D>>>=R;E-=R;f.back+=R}D>>>=y;E-=y;f.back+=y;f.length=M;if(0===F){f.mode=26;break}if(F&32){f.back=-1;f.mode=12;break}if(F&64){a.msg="invalid literal/length code";f.mode=30;break}f.extra=F&15;f.mode=22;case 22:if(f.extra){for(F=f.extra;E<F;){if(0===K)break a;K--;D+=x[u++]<<E;E+=8}f.length+=D&(1<<f.extra)-1;D>>>=f.extra;E-=f.extra;f.back+=f.extra}f.was=
+f.length;f.mode=23;case 23:for(;;){M=f.distcode[D&(1<<f.distbits)-1];y=M>>>24;F=M>>>16&255;M&=65535;if(y<=E)break;if(0===K)break a;K--;D+=x[u++]<<E;E+=8}if(0===(F&240)){R=y;X=F;for(c=M;;){M=f.distcode[c+((D&(1<<R+X)-1)>>R)];y=M>>>24;F=M>>>16&255;M&=65535;if(R+y<=E)break;if(0===K)break a;K--;D+=x[u++]<<E;E+=8}D>>>=R;E-=R;f.back+=R}D>>>=y;E-=y;f.back+=y;if(F&64){a.msg="invalid distance code";f.mode=30;break}f.offset=M;f.extra=F&15;f.mode=24;case 24:if(f.extra){for(F=f.extra;E<F;){if(0===K)break a;K--;
+D+=x[u++]<<E;E+=8}f.offset+=D&(1<<f.extra)-1;D>>>=f.extra;E-=f.extra;f.back+=f.extra}if(f.offset>f.dmax){a.msg="invalid distance too far back";f.mode=30;break}f.mode=25;case 25:if(0===q)break a;y=N-q;if(f.offset>y){y=f.offset-y;if(y>f.whave&&f.sane){a.msg="invalid distance too far back";f.mode=30;break}y>f.wnext?(y-=f.wnext,F=f.wsize-y):F=f.wnext-y;y>f.length&&(y=f.length);R=f.window}else R=p,F=m-f.offset,y=f.length;y>q&&(y=q);q-=y;f.length-=y;do p[m++]=R[F++];while(--y);0===f.length&&(f.mode=21);
+break;case 26:if(0===q)break a;p[m++]=f.length;q--;f.mode=21;break;case 27:if(f.wrap){for(;32>E;){if(0===K)break a;K--;D|=x[u++]<<E;E+=8}N-=q;a.total_out+=N;f.total+=N;N&&(a.adler=f.check=f.flags?r(f.check,p,N,m-N):g(f.check,p,N,m-N));N=q;if((f.flags?D:k(D))!==f.check){a.msg="incorrect data check";f.mode=30;break}E=D=0}f.mode=28;case 28:if(f.wrap&&f.flags){for(;32>E;){if(0===K)break a;K--;D+=x[u++]<<E;E+=8}if(D!==(f.total&4294967295)){a.msg="incorrect length check";f.mode=30;break}E=D=0}f.mode=29;
+case 29:O=1;break a;case 30:O=-3;break a;case 31:return-4;default:return-2}a.next_out=m;a.avail_out=q;a.next_in=u;a.avail_in=K;f.hold=D;f.bits=E;if((f.wsize||N!==a.avail_out&&30>f.mode&&(27>f.mode||4!==b))&&n(a,a.output,a.next_out,N-a.avail_out))return f.mode=31,-4;Q-=a.avail_in;N-=a.avail_out;a.total_in+=Q;a.total_out+=N;f.total+=N;f.wrap&&N&&(a.adler=f.check=f.flags?r(f.check,p,N,a.next_out-N):g(f.check,p,N,a.next_out-N));a.data_type=f.bits+(f.last?64:0)+(12===f.mode?128:0)+(20===f.mode||15===f.mode?
+256:0);(0===Q&&0===N||4===b)&&0===O&&(O=-5);return O};e.inflateEnd=function(a){if(!a||!a.state)return-2;var b=a.state;b.window&&(b.window=null);a.state=null;return 0};e.inflateGetHeader=function(a,b){if(!a||!a.state)return-2;a=a.state;if(0===(a.wrap&2))return-2;a.head=b;b.done=!1;return 0};e.inflateSetDictionary=function(a,b){var c=b.length;if(!a||!a.state)return-2;var d=a.state;if(0!==d.wrap&&11!==d.mode)return-2;if(11===d.mode){var f=g(1,b,c,0);if(f!==d.check)return-3}if(n(a,b,c,c))return d.mode=
+31,-4;d.havedict=1;return 0};e.inflateInfo="pako inflate (from Nodeca project)"},function(p,e,m){p.exports=function(e,f){var c=e.state;var a=e.next_in;var b=e.input;var d=a+(e.avail_in-5);var k=e.next_out;var l=e.output;f=k-(f-e.avail_out);var g=k+(e.avail_out-257);var m=c.dmax;var p=c.wsize;var w=c.whave;var h=c.wnext;var B=c.window;var I=c.hold;var u=c.bits;var x=c.lencode;var J=c.distcode;var v=(1<<c.lenbits)-1;var A=(1<<c.distbits)-1;a:do{15>u&&(I+=b[a++]<<u,u+=8,I+=b[a++]<<u,u+=8);var t=x[I&
+v];b:for(;;){var z=t>>>24;I>>>=z;u-=z;z=t>>>16&255;if(0===z)l[k++]=t&65535;else if(z&16){var H=t&65535;if(z&=15)u<z&&(I+=b[a++]<<u,u+=8),H+=I&(1<<z)-1,I>>>=z,u-=z;15>u&&(I+=b[a++]<<u,u+=8,I+=b[a++]<<u,u+=8);t=J[I&A];c:for(;;){z=t>>>24;I>>>=z;u-=z;z=t>>>16&255;if(z&16){t&=65535;z&=15;u<z&&(I+=b[a++]<<u,u+=8,u<z&&(I+=b[a++]<<u,u+=8));t+=I&(1<<z)-1;if(t>m){e.msg="invalid distance too far back";c.mode=30;break a}I>>>=z;u-=z;z=k-f;if(t>z){z=t-z;if(z>w&&c.sane){e.msg="invalid distance too far back";c.mode=
+30;break a}var q=0;var G=B;if(0===h){if(q+=p-z,z<H){H-=z;do l[k++]=B[q++];while(--z);q=k-t;G=l}}else if(h<z){if(q+=p+h-z,z-=h,z<H){H-=z;do l[k++]=B[q++];while(--z);q=0;if(h<H){z=h;H-=z;do l[k++]=B[q++];while(--z);q=k-t;G=l}}}else if(q+=h-z,z<H){H-=z;do l[k++]=B[q++];while(--z);q=k-t;G=l}for(;2<H;)l[k++]=G[q++],l[k++]=G[q++],l[k++]=G[q++],H-=3;H&&(l[k++]=G[q++],1<H&&(l[k++]=G[q++]))}else{q=k-t;do l[k++]=l[q++],l[k++]=l[q++],l[k++]=l[q++],H-=3;while(2<H);H&&(l[k++]=l[q++],1<H&&(l[k++]=l[q++]))}}else if(0===
+(z&64)){t=J[(t&65535)+(I&(1<<z)-1)];continue c}else{e.msg="invalid distance code";c.mode=30;break a}break}}else if(0===(z&64)){t=x[(t&65535)+(I&(1<<z)-1)];continue b}else{z&32?c.mode=12:(e.msg="invalid literal/length code",c.mode=30);break a}break}}while(a<d&&k<g);H=u>>3;a-=H;u-=H<<3;e.next_in=a;e.next_out=k;e.avail_in=a<d?5+(d-a):5-(a-d);e.avail_out=k<g?257+(g-k):257-(k-g);c.hold=I&(1<<u)-1;c.bits=u}},function(p,e,m){var k=m(6),f=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,
+131,163,195,227,258,0,0],c=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],a=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],b=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];p.exports=function(d,e,l,g,m,p,w,h){var n=h.bits,r,u,x,C,v,A,t=0,z=new k.Buf16(16);var H=new k.Buf16(16);var q,G=0;for(r=0;15>=r;r++)z[r]=0;for(u=0;u<g;u++)z[e[l+
+u]]++;var L=n;for(x=15;1<=x&&0===z[x];x--);L>x&&(L=x);if(0===x)return m[p++]=20971520,m[p++]=20971520,h.bits=1,0;for(n=1;n<x&&0===z[n];n++);L<n&&(L=n);for(r=C=1;15>=r;r++)if(C<<=1,C-=z[r],0>C)return-1;if(0<C&&(0===d||1!==x))return-1;H[1]=0;for(r=1;15>r;r++)H[r+1]=H[r]+z[r];for(u=0;u<g;u++)0!==e[l+u]&&(w[H[e[l+u]]++]=u);if(0===d){var K=q=w;var D=19}else 1===d?(K=f,t-=257,q=c,G-=257,D=256):(K=a,q=b,D=-1);u=v=0;r=n;var E=p;g=L;H=0;var Q=-1;var N=1<<L;var O=N-1;if(1===d&&852<N||2===d&&592<N)return 1;
+for(;;){var F=r-H;if(w[u]<D){var y=0;var M=w[u]}else w[u]>D?(y=q[G+w[u]],M=K[t+w[u]]):(y=96,M=0);C=1<<r-H;n=A=1<<g;do A-=C,m[E+(v>>H)+A]=F<<24|y<<16|M|0;while(0!==A);for(C=1<<r-1;v&C;)C>>=1;0!==C?(v&=C-1,v+=C):v=0;u++;if(0===--z[r]){if(r===x)break;r=e[l+w[u]]}if(r>L&&(v&O)!==Q){0===H&&(H=L);E+=n;g=r-H;for(C=1<<g;g+H<x;){C-=z[g+H];if(0>=C)break;g++;C<<=1}N+=1<<g;if(1===d&&852<N||2===d&&592<N)return 1;Q=v&O;m[Q]=L<<24|g<<16|E-p|0}}0!==v&&(m[E+v]=r-H<<24|4194304);h.bits=L;return 0}},function(p,e,m){p.exports=
+function(){this.os=this.xflags=this.time=this.text=0;this.extra=null;this.extra_len=0;this.comment=this.name="";this.hcrc=0;this.done=!1}},function(p,e,m){function k(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function f(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function c(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+
+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function a(a,b){var c=(new DataView(b)).getUint32(0,!0);Object(d.d)(a,b,C.b.LITTLE,4,c)}Object.defineProperty(e,"__esModule",{value:!0});m.d(e,"DVIDSkeletonSource",function(){return I});e.decodeFragmentChunk=a;m.d(e,"DVIDMeshSource",function(){return u});m.d(e,"DVIDVolumeChunkSource",function(){return x});p=m(2);var b=
+m(113),d=m(17);e=m(43);var n=m(114),l=m(25),g=m(18),r=m(16),C=m(11),w=m(15);m=m(0);var h=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),B=this&&this.__decorate||function(a,b,c,d){var e=arguments.length,f=3>e?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d,g;if("object"===typeof Reflect&&"function"===
+typeof Reflect.decorate)f=Reflect.decorate(a,b,c,d);else for(var h=a.length-1;0<=h;h--)if(g=a[h])f=(3>e?g(f):3<e?g(b,c,f):g(b,c))||f;return 3<e&&f&&Object.defineProperty(b,c,f),f},I=function(a){function b(){k(this,b);return f(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}c(b,a);h(b,[{key:"download",value:function(a,b){var c=this.parameters;return Object(w.e)(Object(w.c)(c.baseUrls,"/api/node/"+c.nodeKey+"/"+c.dataInstanceKey+"/key/"+(""+a.objectId)+"_swc"),"arraybuffer",b).then(function(b){var c=
+new TextDecoder("utf-8");Object(n.a)(a,c.decode(b))})}}]);return b}(Object(p.WithParameters)(e.a,b.b));I=B([Object(m.g)()],I);var u=function(b){function d(){k(this,d);return f(this,(d.__proto__||Object.getPrototypeOf(d)).apply(this,arguments))}c(d,b);h(d,[{key:"download",value:function(a){a.fragmentIds=[""+a.objectId];return Promise.resolve(void 0)}},{key:"downloadFragment",value:function(b,c){var d=this.parameters;return Object(w.e)(Object(w.c)(d.baseUrls,"/api/node/"+d.nodeKey+"/"+d.dataInstanceKey+
+"/key/"+b.fragmentId+".ngmesh"),"arraybuffer",c).then(function(c){return a(b,c)})}}]);return d}(Object(p.WithParameters)(d.a,b.a));u=B([Object(m.g)()],u);var x=function(a){function d(){k(this,d);return f(this,(d.__proto__||Object.getPrototypeOf(d)).apply(this,arguments))}c(d,a);h(d,[{key:"download",value:function(a,c){var d=this.parameters;var e=this.computeChunkBounds(a);e=this.getPath(e,a.chunkDataSize);var f=this.getDecoder(d);return Object(w.e)(Object(w.c)(d.baseUrls,e),"arraybuffer",c).then(function(c){return f(a,
+d.encoding===b.c.JPEG?c.slice(16):c)})}},{key:"getPath",value:function(a,c){var d=this.parameters;return d.encoding===b.c.JPEG?"/api/node/"+d.nodeKey+"/"+d.dataInstanceKey+"/subvolblocks/"+(c[0]+"_"+c[1]+"_"+c[2]+"/")+(a[0]+"_"+a[1]+"_"+a[2]):d.encoding===b.c.RAW?"/api/node/"+d.nodeKey+"/"+d.dataInstanceKey+"/raw/0_1_2/"+(c[0]+"_"+c[1]+"_"+c[2]+"/")+(a[0]+"_"+a[1]+"_"+a[2]+"/jpeg"):d.encoding===b.c.COMPRESSED_SEGMENTATIONARRAY?"/api/node/"+d.nodeKey+"/"+d.dataInstanceKey+"/raw/0_1_2/"+(c[0]+"_"+c[1]+
+"_"+c[2]+"/")+(a[0]+"_"+a[1]+"_"+a[2]+"?compression=googlegzip&scale="+d.dataScale):"/api/node/"+d.nodeKey+"/"+d.dataInstanceKey+"/raw/0_1_2/"+(c[0]+"_"+c[1]+"_"+c[2]+"/")+(a[0]+"_"+a[1]+"_"+a[2]+"?compression=googlegzip")}},{key:"getDecoder",value:function(a){return a.encoding===b.c.JPEG||a.encoding===b.c.RAW?g.a:l.a}}]);return d}(Object(p.WithParameters)(r.a,b.d));x=B([Object(m.g)()],x)},function(p,e,m){function k(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
+return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function f(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}m.d(e,"c",function(){return a});m.d(e,
+"d",function(){return b});m.d(e,"b",function(){return d});m.d(e,"a",function(){return n});var a;(function(a){a[a.JPEG=0]="JPEG";a[a.RAW=1]="RAW";a[a.COMPRESSED_SEGMENTATION=2]="COMPRESSED_SEGMENTATION";a[a.COMPRESSED_SEGMENTATIONARRAY=3]="COMPRESSED_SEGMENTATIONARRAY"})(a||(a={}));p=function g(){c(this,g)};var b=function(a){function b(){c(this,b);return k(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}f(b,a);return b}(p);b.RPC_ID="dvid/VolumeChunkSource";var d=function(a){function b(){c(this,
+b);return k(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}f(b,a);return b}(p);d.RPC_ID="dvid/SkeletonSource";var n=function(a){function b(){c(this,b);return k(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}f(b,a);return b}(p);n.RPC_ID="dvid/MeshSource"},function(p,e,m){function k(c){var a=[],b=/^[ \t]*(\d+)[ \t]+(\d+)[ \t]+(-?\d*(?:\.\d+)?)[ \t]+(-?\d*(?:\.\d+)?)[ \t]+(-?\d*(?:\.\d+)?)[ \t]+(-?\d*(?:\.\d+)?)[ \t]+(-1|\d+)[ \t]*$/;c.split("\n").forEach(function(c){if(c=
+c.match(b)){var d=a[parseInt(c[1],10)-1]=new f;d.type=parseInt(c[2],10);d.x=parseFloat(c[3]);d.y=parseFloat(c[4]);d.z=parseFloat(c[5]);d.radius=parseFloat(c[6]);d.parent=parseInt(c[7],10)-1}});return a}e.a=function(c,a){a=k(a);if(2>a.length)throw Error("ERROR parsing swc file");var b=new Float32Array(3*a.length),d=new Uint32Array(2*(a.length-1));a.forEach(function(a,c){b[3*c]=a.z;b[3*c+1]=a.y;b[3*c+2]=a.x;-1!==a.parent&&(d[2*(c-1)]=c,d[2*c-1]=a.parent)});c.indices=d;c.vertexPositions=b};var f=function a(){if(!(this instanceof
+a))throw new TypeError("Cannot call a class as a function");}},function(p,e,m){function k(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function f(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function c(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&
+b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function a(a){var b=[];Object(I.a)(a,function(a){Object(I.i)(a);b.push(Object(I.l)(a.sectionId))});return b}function b(a,b,c){return Object(B.d)(Object(B.c)(b.baseUrls,"/render-ws/v1/owner/"+b.owner+"/project/"+b.project+"/"+("stack/"+b.stack+"/local-to-world-coordinates"),"PUT"),a,"json",c)}function d(a,c,d,e){var f=[];Object(I.a)(c,function(a){var b=
+Object(I.l)(a.pId),c=Object(I.l)(a.qId),d=Object(I.i)(a.matches);a=d.p;d=d.q;for(var e=0;e<a[0].length;e++)f.push({tileId:b,local:[a[0][e],a[1][e]]}),f.push({tileId:c,local:[d[0][e],d[1][e]]})});return b(f,d,e).then(function(b){for(var c=new w.a,d=0;d<b.length;d++){var e=Object(I.i)(b[d]);e=Object(I.g)(e.world);c.appendArray(e)}a.vertexPositions=c.view})}function n(a,b,c,e){if(1===b.length)b="/render-ws/v1/owner/"+c.owner+"/matchCollection/"+(c.matchCollection+"/group/"+b[0]+"/matchesWith/"+b[0]);
+else if(2===b.length)b="/render-ws/v1/owner/"+c.owner+"/matchCollection/"+(c.matchCollection+"/group/"+b[0]+"/matchesWith/"+b[1]);else throw Error("Invalid section Id vector of length: "+JSON.stringify(b.length));return Object(B.e)(Object(B.c)(c.baseUrls,b),"json",e).then(function(b){return d(a,b,c,e)})}function l(b,c,d,e){return Object(B.e)(Object(B.c)(d.baseUrls,c),"json",e).then(function(c){return n(b,a(c),d,e)})}Object.defineProperty(e,"__esModule",{value:!0});m.d(e,"TileChunkSource",function(){return v});
+m.d(e,"PointMatchSource",function(){return A});p=m(2);e=m(116);var g=m(18),r=m(117),C=m(16),w=m(119),h=m(1),B=m(15),I=m(3);m=m(0);var u=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),x=this&&this.__decorate||function(a,b,c,d){var e=arguments.length,f=3>e?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):
+d,g;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)f=Reflect.decorate(a,b,c,d);else for(var h=a.length-1;0<=h;h--)if(g=a[h])f=(3>e?g(f):3<e?g(b,c,f):g(b,c))||f;return 3<e&&f&&Object.defineProperty(b,c,f),f},J=new Map;J.set("jpg",g.a);var v=function(a){function b(){k(this,b);var a=f(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments));a.chunkDecoder=J.get(a.parameters.encoding);var c=a.parameters;var d=[];void 0!==c.channel&&d.push("channels="+c.channel);void 0!==
+c.minIntensity&&d.push("minIntensity="+JSON.stringify(c.minIntensity));void 0!==c.maxIntensity&&d.push("maxIntensity="+JSON.stringify(c.maxIntensity));void 0!==c.maxTileSpecsToRender&&d.push("maxTileSpecsToRender="+JSON.stringify(c.maxTileSpecsToRender));void 0!==c.filter&&d.push("filter="+JSON.stringify(c.filter));c=d.join("&");a.queryString=c;return a}c(b,a);u(b,[{key:"download",value:function(a,b){var c=this,d=this.parameters,e=a.chunkGridPosition,f=1/Math.pow(2,d.level);a.chunkDataSize=this.spec.chunkDataSize;
+var g=a.chunkDataSize[0]*Math.pow(2,d.level),l=a.chunkDataSize[1]*Math.pow(2,d.level),k=h.m.create();k[0]=e[0]*g;k[1]=e[1]*l;k[2]=e[2];return Object(B.e)(Object(B.c)(d.baseUrls,"/render-ws/v1/owner/"+d.owner+"/project/"+d.project+"/stack/"+d.stack+"/z/"+k[2]+"/box/"+k[0]+","+k[1]+","+g+","+l+","+f+"/jpeg-image?"+this.queryString),"arraybuffer",b).then(function(b){return c.chunkDecoder(a,b)})}}]);return b}(Object(p.WithParameters)(C.a,e.b));v=x([Object(m.g)()],v);var A=function(a){function b(){k(this,
+b);return f(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}c(b,a);u(b,[{key:"download",value:function(a,b){var c=this.parameters,d=a.chunkGridPosition;return l(a,"/render-ws/v1/owner/"+c.owner+"/project/"+c.project+"/"+("stack/"+c.stack+"/sectionData?minZ="+d[2]+"&")+("maxZ="+(d[2]+c.zoffset)),c,b)}}]);return b}(Object(p.WithParameters)(r.a,e.a));A=x([Object(m.g)()],A)},function(p,e,m){function k(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
+return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function f(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}m.d(e,"b",function(){return a});m.d(e,
+"a",function(){return b});p=function(a){function b(){c(this,b);return k(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}f(b,a);return b}(function n(){c(this,n)});var a=function(a){function b(){c(this,b);return k(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}f(b,a);return b}(p);a.RPC_ID="render/TileChunkSource";var b=function(a){function b(){c(this,b);return k(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}f(b,a);return b}(p);b.RPC_ID=
+"render/PointMatchSource"},function(p,e,m){function k(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function f(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function c(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,
+enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}m.d(e,"a",function(){return n});p=m(19);var a=m(118),b=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),d=function g(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,
+b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return g(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};m=function(a){function e(){k(this,e);var a=f(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));a.source=null;a.vertexPositions=null;a.vertexNormals=null;return a}c(e,a);b(e,[{key:"initializeVolumeChunk",value:function(a,b){d(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"initializeVolumeChunk",this).call(this,a,b);a=0;this.vertexPositions&&
+(a+=this.vertexPositions.buffer.byteLength);this.vertexNormals&&(a+=this.vertexNormals.buffer.byteLength);this.gpuMemoryBytes=this.systemMemoryBytes=a;this.vertexPositions=null}},{key:"serialize",value:function(a,b){d(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"serialize",this).call(this,a,b);var c=this.vertexPositions,f=this.vertexNormals;a.vertexPositions=c;b.push(c.buffer);f&&(a.vertexNormals=f,b.push(f.buffer));this.vertexNormals=this.vertexPositions=null}},{key:"downloadSucceeded",
+value:function(){this.systemMemoryBytes=this.gpuMemoryBytes=this.vertexPositions.byteLength;d(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"downloadSucceeded",this).call(this)}},{key:"freeSystemMemory",value:function(){this.vertexNormals=this.vertexPositions=null}}]);return e}(p.SliceViewChunk);var n=function(b){function d(b,c){k(this,d);b=f(this,(d.__proto__||Object.getPrototypeOf(d)).call(this,b,c));b.spec=a.a.fromObject(c.spec);return b}c(d,b);return d}(p.SliceViewChunkSource);n.prototype.chunkConstructor=
+m},function(p,e,m){function k(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}m.d(e,"a",function(){return d});var f=m(9),c=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in
+d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),a=function l(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return l(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},b;(function(a){a[a.LINE=0]="LINE";a[a.POINT=1]="POINT"})(b||(b={}));var d=function(b){function d(a){if(!(this instanceof d))throw new TypeError("Cannot call a class as a function");
+a=(d.__proto__||Object.getPrototypeOf(d)).call(this,a);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!a||"object"!==typeof a&&"function"!==typeof a?this:a}k(d,b);c(d,[{key:"toObject",value:function(){return a(d.prototype.__proto__||Object.getPrototypeOf(d.prototype),"toObject",this).call(this)}}],[{key:"make",value:function(a){return new d(Object.assign({},a,{transform:Object(f.k)(a.transform,a.vectorGraphicsSourceOptions)}))}},{key:"fromObject",
+value:function(a){return new d(a)}}]);return d}(f.i)},function(p,e,m){m.d(e,"a",function(){return f});var k=function(){function c(a,b){for(var c=0;c<b.length;c++){var e=b[c];e.enumerable=e.enumerable||!1;e.configurable=!0;"value"in e&&(e.writable=!0);Object.defineProperty(a,e.key,e)}}return function(a,b,d){b&&c(a.prototype,b);d&&c(a,d);return a}}(),f=function(){function c(a){a=void 0===a?16:a;if(!(this instanceof c))throw new TypeError("Cannot call a class as a function");this.length=0;this.data=
+new Float32Array(a)}k(c,[{key:"resize",value:function(a){var b=this.data;if(a>b.length){var c=new Float32Array(Math.max(a,2*b.length));c.set(b.subarray(0,this.length));this.data=c}this.length=a}},{key:"shrinkToFit",value:function(){this.data=new Float32Array(this.view)}},{key:"clear",value:function(){this.length=0}},{key:"appendArray",value:function(a){var b=this.length;this.resize(b+a.length);this.data.set(a,b)}},{key:"eraseRange",value:function(a,b){this.data.copyWithin(a,b,this.length);this.length-=
+b-a}},{key:"view",get:function(){var a=this.data;return new Float32Array(a.buffer,a.byteOffset,this.length)}}]);return c}()},function(p,e,m){Object.defineProperty(e,"__esModule",{value:!0});m(45)},function(p,e,m){function k(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function f(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function c(a,b){if("function"!==
+typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function a(a,b){return Object(d.c)(a,b,"fragments")}function b(a,b){var c=(new DataView(b)).getUint32(0,!0);Object(d.d)(a,b,C.b.LITTLE,4,c)}Object.defineProperty(e,"__esModule",{value:!0});m.d(e,"PrecomputedVolumeChunkSource",
+function(){return u});e.decodeManifestChunk=a;e.decodeFragmentChunk=b;m.d(e,"PrecomputedMeshSource",function(){return x});p=m(2);e=m(122);var d=m(17),n=m(25),l=m(18),g=m(23),r=m(16),C=m(11),w=m(15);m=m(0);var h=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),B=this&&this.__decorate||function(a,b,c,d){var e=
+arguments.length,f=3>e?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d,g;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)f=Reflect.decorate(a,b,c,d);else for(var h=a.length-1;0<=h;h--)if(g=a[h])f=(3>e?g(f):3<e?g(b,c,f):g(b,c))||f;return 3<e&&f&&Object.defineProperty(b,c,f),f},I=new Map;I.set(e.b.RAW,g.a);I.set(e.b.JPEG,l.a);I.set(e.b.COMPRESSED_SEGMENTATION,n.a);var u=function(a){function b(){k(this,b);var a=f(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments));
+a.chunkDecoder=I.get(a.parameters.encoding);return a}c(b,a);h(b,[{key:"download",value:function(a,b){var c=this,d=this.parameters,e=this.computeChunkBounds(a),f=a.chunkDataSize;return Object(w.e)(Object(w.c)(d.baseUrls,d.path+"/"+e[0]+"-"+(e[0]+f[0])+"_"+(e[1]+"-"+(e[1]+f[1])+"_")+(e[2]+"-"+(e[2]+f[2]))),"arraybuffer",b).then(function(b){return c.chunkDecoder(a,b)})}}]);return b}(Object(p.WithParameters)(r.a,e.c));u=B([Object(m.g)()],u);var x=function(d){function e(){k(this,e);return f(this,(e.__proto__||
+Object.getPrototypeOf(e)).apply(this,arguments))}c(e,d);h(e,[{key:"download",value:function(b,c){var d=this.parameters;return Object(w.e)(Object(w.c)(d.baseUrls,d.path+"/"+b.objectId+":"+d.lod),"json",c).then(function(c){return a(b,c)})}},{key:"downloadFragment",value:function(a,c){var d=this.parameters;return Object(w.e)(Object(w.c)(d.baseUrls,d.path+"/"+a.fragmentId),"arraybuffer",c).then(function(c){return b(a,c)})}}]);return e}(Object(p.WithParameters)(d.a,e.a));x=B([Object(m.g)()],x)},function(p,
+e,m){function k(a,c){if(!(a instanceof c))throw new TypeError("Cannot call a class as a function");}m.d(e,"b",function(){return f});m.d(e,"c",function(){return c});m.d(e,"a",function(){return a});var f;(function(a){a[a.RAW=0]="RAW";a[a.JPEG=1]="JPEG";a[a.COMPRESSED_SEGMENTATION=2]="COMPRESSED_SEGMENTATION"})(f||(f={}));var c=function d(){k(this,d)};c.RPC_ID="precomputed/VolumeChunkSource";var a=function n(){k(this,n)};a.RPC_ID="precomputed/MeshSource"},function(p,e,m){function k(a,b){if("function"!==
+typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function f(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function c(a){Object(B.isCompressed)(a)&&(a=Object(B.decompress)(a));var b=new u;b.uncompressedData=a;a=Object(B.readHeader)(a);
+if(null===a)throw Error("Failed to parse NIFTI header.");b.header=a;return b}function a(a,b,d,e){return n.a.getData(a,c,b,d,e)}function b(b,c,e){return a(b,c,function(){return{priorityTier:d.d.VISIBLE,priority:1E3}},e).then(function(a){return a.header})}Object.defineProperty(e,"__esModule",{value:!0});m.d(e,"NiftiFileData",function(){return u});m.d(e,"NiftiVolumeChunkSource",function(){return J});p=m(2);var d=m(7),n=m(29),l=m(125),g=m(23);e=m(16);var r=m(44),C=m(11),w=m(1),h=m(0),B=m(126);m.n(B);
+var I=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();m=this&&this.__decorate||function(a,b,c,d){var e=arguments.length,f=3>e?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d,g;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)f=Reflect.decorate(a,b,c,d);else for(var h=a.length-1;0<=h;h--)if(g=
+a[h])f=(3>e?g(f):3<e?g(b,c,f):g(b,c))||f;return 3<e&&f&&Object.defineProperty(b,c,f),f};var u=function A(){f(this,A)},x=new Map([[l.b.INT8,{dataType:r.a.UINT8,volumeType:r.c.IMAGE}],[l.b.UINT8,{dataType:r.a.UINT8,volumeType:r.c.IMAGE}],[l.b.INT16,{dataType:r.a.UINT16,volumeType:r.c.IMAGE}],[l.b.UINT16,{dataType:r.a.UINT16,volumeType:r.c.IMAGE}],[l.b.INT32,{dataType:r.a.UINT32,volumeType:r.c.SEGMENTATION}],[l.b.UINT32,{dataType:r.a.UINT32,volumeType:r.c.SEGMENTATION}],[l.b.INT64,{dataType:r.a.UINT64,
+volumeType:r.c.SEGMENTATION}],[l.b.UINT64,{dataType:r.a.UINT64,volumeType:r.c.SEGMENTATION}],[l.b.FLOAT32,{dataType:r.a.FLOAT32,volumeType:r.c.IMAGE}]]);Object(h.e)(l.a,function(a,c){return b(this.getRef(a.chunkManager),a.url,c).then(function(a){var b=x.get(a.datatypeCode);if(void 0===b)throw Error("Unsupported data type: "+((l.b[a.datatypeCode]||a.datatypeCode)+"."));if(1!==a.dims[4])throw Error("Time series data not supported.");var c=1;switch(a.xyzt_units&B.NIFTI1.SPATIAL_UNITS_MASK){case B.NIFTI1.UNITS_METER:c=
+1E9;break;case B.NIFTI1.UNITS_MM:c=1E6;break;case B.NIFTI1.UNITS_MICRON:c=1E3}var d=a.quatern_b,e=a.quatern_c,f=a.quatern_d,g=Math.sqrt(1-d*d-e*e-f*f),h=-1===a.pixDims[0]?-1:1,k=a.description;var m=a.affine;m=w.h.fromValues(m[0][0],m[1][0],m[2][0],m[3][0],m[0][1],m[1][1],m[2][1],m[3][1],m[0][2],m[1][2],m[2][2],m[3][2],m[0][3],m[1][3],m[2][3],m[3][3]);return{value:{description:k,affine:m,dataType:b.dataType,numChannels:a.dims[5],volumeType:b.volumeType,voxelSize:w.m.fromValues(c*a.pixDims[1],c*a.pixDims[2],
+c*a.pixDims[3]),volumeSize:w.m.fromValues(a.dims[1],a.dims[2],a.dims[3]),qoffset:w.m.fromValues(c*a.qoffset_x,c*a.qoffset_y,c*a.qoffset_z),qform_code:a.qform_code,sform_code:a.sform_code,qfac:h,quatern:w.j.fromValues(d,e,f,g)}}})});var J=function(b){function c(){f(this,c);var a=(c.__proto__||Object.getPrototypeOf(c)).apply(this,arguments);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!a||"object"!==typeof a&&"function"!==typeof a?this:a}k(c,b);
+I(c,[{key:"download",value:function(b,c){b.chunkDataSize=this.spec.chunkDataSize;return a(this.chunkManager.addRef(),this.parameters.url,function(){return{priorityTier:b.priorityTier,priority:b.priority}},c).then(function(a){var c=Object(B.readImage)(a.header,a.uncompressedData);Object(g.a)(b,c,a.header.littleEndian?C.b.LITTLE:C.b.BIG)})}}]);return c}(Object(p.WithParameters)(e.a,l.c));J=m([Object(h.g)()],J)},function(p,e,m){e.a=function(c){if(c instanceof Object){var a=c[k];void 0===a&&(a=c[k]=f++);
+return"o"+a}return""+JSON.stringify(c)};$jscomp.initSymbol();var k=Symbol("objectId"),f=0},function(p,e,m){m.d(e,"b",function(){return k});m.d(e,"c",function(){return f});e.a="nifti/getNiftiVolumeInfo";var k;(function(c){c[c.NONE=0]="NONE";c[c.BINARY=1]="BINARY";c[c.UINT8=2]="UINT8";c[c.INT16=4]="INT16";c[c.INT32=8]="INT32";c[c.FLOAT32=16]="FLOAT32";c[c.COMPLEX64=32]="COMPLEX64";c[c.FLOAT64=64]="FLOAT64";c[c.RGB24=128]="RGB24";c[c.INT8=256]="INT8";c[c.UINT16=512]="UINT16";c[c.UINT32=768]="UINT32";
+c[c.INT64=1024]="INT64";c[c.UINT64=1280]="UINT64";c[c.FLOAT128=1536]="FLOAT128";c[c.COMPLEX128=1792]="COMPLEX128";c[c.COMPLEX256=2048]="COMPLEX256"})(k||(k={}));var f=function a(){if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");};f.RPC_ID="nifti/VolumeChunkSource"},function(p,e,m){var k=k||{};k.NIFTI1=k.NIFTI1||m(51);k.NIFTI2=k.NIFTI2||m(127);k.Utils=k.Utils||m(30);var f=f||m(27);k.isNIFTI1=function(c){if(c.byteLength<k.NIFTI1.STANDARD_HEADER_SIZE)return!1;var a=new DataView(c);
+c=a.getUint8(k.NIFTI1.MAGIC_NUMBER_LOCATION);var b=a.getUint8(k.NIFTI1.MAGIC_NUMBER_LOCATION+1);a=a.getUint8(k.NIFTI1.MAGIC_NUMBER_LOCATION+2);return!(c!==k.NIFTI1.MAGIC_NUMBER[0]||b!==k.NIFTI1.MAGIC_NUMBER[1]||a!==k.NIFTI1.MAGIC_NUMBER[2])};k.isNIFTI2=function(c){if(c.byteLength<k.NIFTI1.STANDARD_HEADER_SIZE)return!1;var a=new DataView(c);c=a.getUint8(k.NIFTI2.MAGIC_NUMBER_LOCATION);var b=a.getUint8(k.NIFTI2.MAGIC_NUMBER_LOCATION+1);a=a.getUint8(k.NIFTI2.MAGIC_NUMBER_LOCATION+2);return!(c!==k.NIFTI2.MAGIC_NUMBER[0]||
+b!==k.NIFTI2.MAGIC_NUMBER[1]||a!==k.NIFTI2.MAGIC_NUMBER[2])};k.isNIFTI=function(c){return k.isNIFTI1(c)||k.isNIFTI2(c)};k.isCompressed=function(c){if(c){var a=new DataView(c);c=a.getUint8(0);a=a.getUint8(1);if(c===k.Utils.GUNZIP_MAGIC_COOKIE1||a===k.Utils.GUNZIP_MAGIC_COOKIE2)return!0}return!1};k.decompress=function(c){return f.inflate(c).buffer};k.readHeader=function(c){var a=null;k.isCompressed(c)&&(c=k.decompress(c));k.isNIFTI1(c)?a=new k.NIFTI1:k.isNIFTI2(c)&&(a=new k.NIFTI2);a?a.readHeader(c):
+console.error("That file does not appear to be NIFTI!");return a};k.hasExtension=function(c){return 0!=c.extensionFlag[0]};k.readImage=function(c,a){var b=c.vox_offset,d=1,e=1;c.dims[4]&&(d=c.dims[4]);c.dims[5]&&(e=c.dims[5]);return a.slice(b,b+c.numBitsPerVoxel/8*c.dims[2]*c.dims[3]*d*e*c.dims[1])};k.readExtension=function(c,a){var b=c.getExtensionLocation();return a.slice(b,b+c.extensionSize)};k.readExtensionData=function(c,a){var b=c.getExtensionLocation();return a.slice(b+8,b+c.extensionSize-
+8)};"undefined"!==typeof p&&p.exports&&(p.exports=k)},function(p,e,m){var k=k||{};k.Utils=k.Utils||m(30);k.NIFTI1=k.NIFTI1||m(51);k.NIFTI2=k.NIFTI2||function(){this.littleEndian=!1;this.dim_info=0;this.dims=[];this.slice_code=this.slice_end=this.slice_start=this.numBitsPerVoxel=this.datatypeCode=this.intent_code=this.intent_p3=this.intent_p2=this.intent_p1=0;this.pixDims=[];this.vox_offset=0;this.scl_slope=1;this.toffset=this.slice_duration=this.cal_min=this.cal_max=this.xyzt_units=this.scl_inter=
+0;this.intent_name=this.aux_file=this.description="";this.qoffset_z=this.qoffset_y=this.qoffset_x=this.quatern_d=this.quatern_c=this.quatern_b=this.sform_code=this.qform_code=0;this.affine=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]];this.magic=0;this.extensionFlag=[0,0,0,0]};k.NIFTI2.MAGIC_COOKIE=540;k.NIFTI2.MAGIC_NUMBER_LOCATION=4;k.NIFTI2.MAGIC_NUMBER=[110,43,50,0,13,10,26,10];k.NIFTI2.prototype.readHeader=function(e){e=new DataView(e);var c=k.Utils.getIntAt(e,0,this.littleEndian),a,b;c!==k.NIFTI2.MAGIC_COOKIE&&
+(this.littleEndian=!0,c=k.Utils.getIntAt(e,0,this.littleEndian));if(c!==k.NIFTI2.MAGIC_COOKIE)throw Error("This does not appear to be a NIFTI file!");this.datatypeCode=k.Utils.getShortAt(e,12,this.littleEndian);this.numBitsPerVoxel=k.Utils.getShortAt(e,14,this.littleEndian);for(a=0;8>a;a+=1)c=16+8*a,this.dims[a]=k.Utils.getLongAt(e,c,this.littleEndian);this.intent_p1=k.Utils.getDoubleAt(e,80,this.littleEndian);this.intent_p2=k.Utils.getDoubleAt(e,88,this.littleEndian);this.intent_p3=k.Utils.getDoubleAt(e,
+96,this.littleEndian);for(a=0;8>a;a+=1)c=104+8*a,this.pixDims[a]=k.Utils.getDoubleAt(e,c,this.littleEndian);this.vox_offset=k.Utils.getLongAt(e,168,this.littleEndian);this.scl_slope=k.Utils.getDoubleAt(e,176,this.littleEndian);this.scl_inter=k.Utils.getDoubleAt(e,184,this.littleEndian);this.cal_max=k.Utils.getDoubleAt(e,192,this.littleEndian);this.cal_min=k.Utils.getDoubleAt(e,200,this.littleEndian);this.slice_duration=k.Utils.getDoubleAt(e,208,this.littleEndian);this.toffset=k.Utils.getDoubleAt(e,
+216,this.littleEndian);this.slice_start=k.Utils.getLongAt(e,224,this.littleEndian);this.slice_end=k.Utils.getLongAt(e,232,this.littleEndian);this.description=k.Utils.getStringAt(e,240,320);this.aux_file=k.Utils.getStringAt(e,320,344);this.qform_code=k.Utils.getIntAt(e,344,this.littleEndian);this.sform_code=k.Utils.getIntAt(e,348,this.littleEndian);this.quatern_b=k.Utils.getDoubleAt(e,352,this.littleEndian);this.quatern_c=k.Utils.getDoubleAt(e,360,this.littleEndian);this.quatern_d=k.Utils.getDoubleAt(e,
+368,this.littleEndian);this.qoffset_x=k.Utils.getDoubleAt(e,376,this.littleEndian);this.qoffset_y=k.Utils.getDoubleAt(e,384,this.littleEndian);this.qoffset_z=k.Utils.getDoubleAt(e,392,this.littleEndian);for(a=0;3>a;a+=1)for(b=0;4>b;b+=1)c=400+8*(4*a+b),this.affine[a][b]=k.Utils.getDoubleAt(e,c,this.littleEndian);this.affine[3][0]=0;this.affine[3][1]=0;this.affine[3][2]=0;this.affine[3][3]=1;this.slice_code=k.Utils.getIntAt(e,496,this.littleEndian);this.xyzt_units=k.Utils.getIntAt(e,500,this.littleEndian);
+this.intent_code=k.Utils.getIntAt(e,504,this.littleEndian);this.intent_name=k.Utils.getStringAt(e,508,524);this.dim_info=k.Utils.getByteAt(e,524);e.byteLength>k.NIFTI2.MAGIC_COOKIE&&(this.extensionFlag[0]=k.Utils.getByteAt(e,540),this.extensionFlag[1]=k.Utils.getByteAt(e,541),this.extensionFlag[2]=k.Utils.getByteAt(e,542),this.extensionFlag[3]=k.Utils.getByteAt(e,543),this.extensionFlag[0]&&(this.extensionSize=this.getExtensionSize(e),this.extensionCode=this.getExtensionCode(e)))};k.NIFTI2.prototype.toFormattedString=
+function(){var e=k.Utils.formatNumber;var c=""+("Datatype = "+ +this.datatypeCode+" ("+this.getDatatypeCodeString(this.datatypeCode)+")\n");c+="Bits Per Voxel =  = "+this.numBitsPerVoxel+"\n";c+="Image Dimensions (1-8): "+this.dims[0]+", "+this.dims[1]+", "+this.dims[2]+", "+this.dims[3]+", "+this.dims[4]+", "+this.dims[5]+", "+this.dims[6]+", "+this.dims[7]+"\n";c+="Intent Parameters (1-3): "+this.intent_p1+", "+this.intent_p2+", "+this.intent_p3+"\n";c+="Voxel Dimensions (1-8): "+e(this.pixDims[0])+
+", "+e(this.pixDims[1])+", "+e(this.pixDims[2])+", "+e(this.pixDims[3])+", "+e(this.pixDims[4])+", "+e(this.pixDims[5])+", "+e(this.pixDims[6])+", "+e(this.pixDims[7])+"\n";c+="Image Offset = "+this.vox_offset+"\n";c+="Data Scale:  Slope = "+e(this.scl_slope)+"  Intercept = "+e(this.scl_inter)+"\n";c+="Display Range:  Max = "+e(this.cal_max)+"  Min = "+e(this.cal_min)+"\n";c+="Slice Duration = "+this.slice_duration+"\n";c+="Time Axis Shift = "+this.toffset+"\n";c+="Slice Start = "+this.slice_start+
+"\n";c+="Slice End = "+this.slice_end+"\n";c+='Description: "'+this.description+'"\n';c+='Auxiliary File: "'+this.aux_file+'"\n';c+="Q-Form Code = "+this.qform_code+" ("+this.getTransformCodeString(this.qform_code)+")\n";c+="S-Form Code = "+this.sform_code+" ("+this.getTransformCodeString(this.sform_code)+")\n";c+="Quaternion Parameters:  b = "+e(this.quatern_b)+"  c = "+e(this.quatern_c)+"  d = "+e(this.quatern_d)+"\n";c+="Quaternion Offsets:  x = "+this.qoffset_x+"  y = "+this.qoffset_y+"  z = "+
+this.qoffset_z+"\n";c+="S-Form Parameters X: "+e(this.affine[0][0])+", "+e(this.affine[0][1])+", "+e(this.affine[0][2])+", "+e(this.affine[0][3])+"\n";c+="S-Form Parameters Y: "+e(this.affine[1][0])+", "+e(this.affine[1][1])+", "+e(this.affine[1][2])+", "+e(this.affine[1][3])+"\n";c+="S-Form Parameters Z: "+e(this.affine[2][0])+", "+e(this.affine[2][1])+", "+e(this.affine[2][2])+", "+e(this.affine[2][3])+"\n";c+="Slice Code = "+this.slice_code+"\n";c+="Units Code = "+this.xyzt_units+" ("+this.getUnitsCodeString(k.NIFTI1.SPATIAL_UNITS_MASK&
+this.xyzt_units)+", "+this.getUnitsCodeString(k.NIFTI1.TEMPORAL_UNITS_MASK&this.xyzt_units)+")\n";c+="Intent Code = "+this.intent_code+"\n";c+='Intent Name: "'+this.intent_name+'"\n';return c+="Dim Info = "+this.dim_info+"\n"};k.NIFTI2.prototype.getExtensionLocation=function(){return k.NIFTI2.MAGIC_COOKIE+4};k.NIFTI2.prototype.getExtensionSize=k.NIFTI1.prototype.getExtensionSize;k.NIFTI2.prototype.getExtensionCode=k.NIFTI1.prototype.getExtensionCode;k.NIFTI2.prototype.getDatatypeCodeString=k.NIFTI1.prototype.getDatatypeCodeString;
+k.NIFTI2.prototype.getTransformCodeString=k.NIFTI1.prototype.getTransformCodeString;k.NIFTI2.prototype.getUnitsCodeString=k.NIFTI1.prototype.getUnitsCodeString;k.NIFTI2.prototype.getQformMat=k.NIFTI1.prototype.getQformMat;k.NIFTI2.prototype.convertNiftiQFormToNiftiSForm=k.NIFTI1.prototype.convertNiftiQFormToNiftiSForm;k.NIFTI2.prototype.convertNiftiSFormToNEMA=k.NIFTI1.prototype.convertNiftiSFormToNEMA;k.NIFTI2.prototype.nifti_mat33_mul=k.NIFTI1.prototype.nifti_mat33_mul;k.NIFTI2.prototype.nifti_mat33_determ=
+k.NIFTI1.prototype.nifti_mat33_determ;"undefined"!==typeof p&&p.exports&&(p.exports=k.NIFTI2)},function(p,e,m){function k(a){return Object(c.a)(Object(b.a)(a))}Object.defineProperty(e,"__esModule",{value:!0});var f=m(29),c=m(129);p=m(52);var a=m(14),b=m(53);Object(p.a)("vtk",{description:"VTK",getMesh:function(b,c,e,g){return f.a.getData(b.addRef(),k,c,e,g).then(function(b){var c={info:{numTriangles:b.numTriangles,numVertices:b.numVertices,vertexAttributes:[]},indices:b.indices,vertexPositions:b.vertexPositions,
+vertexAttributes:[]};b=$jscomp.makeIterator(b.vertexAttributes);for(var d=b.next();!d.done;d=b.next())d=d.value,c.info.vertexAttributes.push({name:d.name,dataType:a.b.FLOAT32,numComponents:d.numComponents}),c.vertexAttributes.push(d.data);return c})}})},function(p,e,m){e.a=function(a){var b=(new TextDecoder).decode(new Uint8Array(a.buffer,a.byteOffset,Math.min(a.byteLength,1E3))).match(k);if(null===b)throw Error("Failed to parse VTK file header.");var c=b[0].length,d=b[4],e=b[3];b={version:b[1],comment:b[2],
+datasetType:d,dataFormat:e};a=new Uint8Array(a.buffer,a.byteOffset+c,a.byteLength-c);if("ASCII"===e){e=r.get(d);if(void 0===e)throw Error("VTK dataset type "+JSON.stringify(d)+" is not supported.");return e(b,a)}throw Error("VTK data format "+JSON.stringify(e)+" is not supported.");};var k=/^[ \t]*#[ \t]+vtk[ \t]+DataFile[ \t]+Version[ \t]+([^\s]+)[ \t]*\n(.*)\n[ \t]*(ASCII|BINARY)[ \t]*\n[ \t]*DATASET[ \t]+([^ ]+)[ \t]*\n/,f=/^[ \t]*POINT_DATA[ \t]+([0-9]+)[ \t]*$/,c=/^[ \t]*POINTS[ \t]+([0-9]+)[ \t]+([^\s]+)[ \t]*$/,
+a=/^[ \t]*SCALARS[ \t]+([^\s]+)[ \t]+([^\s]+)(?:[ \t]+([0-9]+))?[ \t]*$/,b=/^[ \t]*LOOKUP_TABLE[ \t]+([^\s]+)[ \t]*$/,d=/^[ \t]*POLYGONS[ \t]+([0-9]+)[ \t]+([0-9]+)[ \t]*$/,n=/^[ \t]*3[ \t]+([0-9]+)[ \t]+([0-9]+)[ \t]+([0-9]+)[ \t]*$/,l=/^[ \t]*$/,g=function w(a,b,c,d,e,f){if(!(this instanceof w))throw new TypeError("Cannot call a class as a function");this.header=a;this.numVertices=b;this.vertexPositions=c;this.numTriangles=d;this.indices=e;this.vertexAttributes=f},r=new Map([["POLYDATA",function(e,
+h){function k(a,b,c,d){d=RegExp("^[ \t]*"+"([^s]+)[ \t]+".repeat(c-1)+"([^s]+)[ \t]*$");if(v-A<b)throw Error("VTK data ended unexpectedly while parsing "+a+".");for(var e=new Float32Array(b*c),f=0,g=0;g<b;++g){var h=w[A++],k=h.match(d);if(null===k)throw Error("Failed to parse "+a+" line "+g+": "+JSON.stringify(h)+".");for(h=0;h<c;++h)e[f++]=parseFloat(k[h+1])}return e}function m(a,b){if(void 0!==q)throw Error("POINTS specified more than once.");t=a;z=k("POINTS",a,3,b)}function p(a,b){if(void 0!==
+q)throw Error("VERTICES specified more than once.");if(v-A<a)throw Error("VTK data ended unexpectedly");if(b!==4*a)throw Error("Only triangular faces are supported.");H=a;q=new Uint32Array(3*a);for(var c=b=0;c<a;++c){var d=w[A++].match(n);if(null===d)throw Error("Failed to parse indices for face "+c);q[b++]=parseInt(d[1],10);q[b++]=parseInt(d[2],10);q[b++]=parseInt(d[3],10)}}function r(c){if(t!==c)throw Error("Number of vertices specified in POINT_DATA section ("+c+") "+("must match number of points ("+
+t+")."));for(;A<v;)if(c=w[A],c.match(l))++A;else{var d=c.match(a);if(null!==d){var e=void 0===d[3]?1:parseInt(d[3],10);++A;c=d[1];d=d[2];if(A===v)throw Error("Expected LOOKUP_TABLE directive.");var f=w[A++],g=f.match(b);if(null===g)throw Error("Expected LOOKUP_TABLE directive in "+JSON.stringify(f)+".");f=g[1];g=k("SCALARS("+c+")",t,e,d);G.push({name:c,data:g,numComponents:e,dataType:d,tableName:f})}}}for(var w=(new TextDecoder).decode(h).split("\n"),v=w.length,A=0,t=-1,z=void 0,H=-1,q=void 0,G=[];A<
+v;)if(h=w[A],h.match(l))++A;else{var L=void 0;L=h.match(c);if(null!==L)++A,m(parseInt(L[1],10),L[2]);else if(L=h.match(d),null!==L)++A,p(parseInt(L[1],10),parseInt(L[2],10));else{L=h.match(f);if(null!==L){++A;r(parseInt(L[1],10));break}throw Error("Failed to parse VTK line "+JSON.stringify(h)+".");}}if(void 0===z)throw Error("Vertex positions not specified.");if(void 0===q)throw Error("Indices not specified.");return new g(e,t,z,H,q,G)}]])},function(p,e,m){function k(a,b){if("function"!==typeof b&&
+null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function f(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}m.d(e,"d",function(){return c});e.c="single_mesh/SingleMeshLayer";e.a="single_mesh/getSingleMeshInfo";e.b="";var c=function(a){function b(){f(this,
+b);var a=(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!a||"object"!==typeof a&&"function"!==typeof a?this:a}k(b,a);return b}(function b(){f(this,b)});c.RPC_ID="single_mesh/SingleMeshSource"},function(p,e,m){function k(b){b=(new TextDecoder).decode(Object(a.a)(b)).trim().split(/\n+/);if(!b)throw Error("CSV file is empty.");var d=b[0].split(","),e=d.map(function(a){return{name:a.trim(),
+dataType:c.b.FLOAT32,numComponents:1}}),f=b.length-1,g=d.length;d=d.map(function(){return new Float32Array(f)});for(var k=0;k<f;++k)for(var m=b[k+1].split(","),p=0;p<g;++p)d[p][k]=parseFloat(m[p]);return{numVertices:f,attributeInfo:e,attributes:d}}Object.defineProperty(e,"__esModule",{value:!0});var f=m(29);p=m(52);var c=m(14),a=m(53);Object(p.b)("csv",{description:"Comma separated value text file",getMeshVertexAttributes:function(a,c,e,l){return f.a.getData(a.addRef(),k,c,e,l)}})}])});
diff --git a/third_party/export_nehuba/main.bundle.js b/third_party/export_nehuba/main.bundle.js
index 795f59b6d64ac002ede3048da435f84592ab5b18..09e1d3e2f5c288cd7263cc31a19314bce80da01a 100644
--- a/third_party/export_nehuba/main.bundle.js
+++ b/third_party/export_nehuba/main.bundle.js
@@ -25,1924 +25,2308 @@
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
+
+ Copyright 2018 Google Inc.
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
 */
-var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.ASSUME_ES5=!1;$jscomp.ASSUME_NO_NATIVE_MAP=!1;$jscomp.ASSUME_NO_NATIVE_SET=!1;$jscomp.defineProperty=$jscomp.ASSUME_ES5||"function"==typeof Object.defineProperties?Object.defineProperty:function(g,e,a){g!=Array.prototype&&g!=Object.prototype&&(g[e]=a.value)};$jscomp.getGlobal=function(g){return"undefined"!=typeof window&&window===g?g:"undefined"!=typeof global&&null!=global?global:g};$jscomp.global=$jscomp.getGlobal(this);$jscomp.SYMBOL_PREFIX="jscomp_symbol_";
-$jscomp.initSymbol=function(){$jscomp.initSymbol=function(){};$jscomp.global.Symbol||($jscomp.global.Symbol=$jscomp.Symbol)};$jscomp.symbolCounter_=0;$jscomp.Symbol=function(g){return $jscomp.SYMBOL_PREFIX+(g||"")+$jscomp.symbolCounter_++};
-$jscomp.initSymbolIterator=function(){$jscomp.initSymbol();var g=$jscomp.global.Symbol.iterator;g||(g=$jscomp.global.Symbol.iterator=$jscomp.global.Symbol("iterator"));"function"!=typeof Array.prototype[g]&&$jscomp.defineProperty(Array.prototype,g,{configurable:!0,writable:!0,value:function(){return $jscomp.arrayIterator(this)}});$jscomp.initSymbolIterator=function(){}};$jscomp.arrayIterator=function(g){var e=0;return $jscomp.iteratorPrototype(function(){return e<g.length?{done:!1,value:g[e++]}:{done:!0}})};
-$jscomp.iteratorPrototype=function(g){$jscomp.initSymbolIterator();g={next:g};g[$jscomp.global.Symbol.iterator]=function(){return this};return g};$jscomp.makeIterator=function(g){$jscomp.initSymbolIterator();$jscomp.initSymbol();$jscomp.initSymbolIterator();var e=g[Symbol.iterator];return e?e.call(g):$jscomp.arrayIterator(g)};$jscomp.arrayFromIterator=function(g){for(var e,a=[];!(e=g.next()).done;)a.push(e.value);return a};$jscomp.arrayFromIterable=function(g){return g instanceof Array?g:$jscomp.arrayFromIterator($jscomp.makeIterator(g))};
-$jscomp.polyfill=function(g,e,a,p){if(e){a=$jscomp.global;g=g.split(".");for(p=0;p<g.length-1;p++){var n=g[p];n in a||(a[n]={});a=a[n]}g=g[g.length-1];p=a[g];e=e(p);e!=p&&null!=e&&$jscomp.defineProperty(a,g,{configurable:!0,writable:!0,value:e})}};$jscomp.polyfill("Number.isNaN",function(g){return g?g:function(e){return"number"===typeof e&&isNaN(e)}},"es6","es3");
-$jscomp.polyfill("Number.isFinite",function(g){return g?g:function(e){return"number"!==typeof e?!1:!isNaN(e)&&Infinity!==e&&-Infinity!==e}},"es6","es3");$jscomp.iteratorFromArray=function(g,e){$jscomp.initSymbolIterator();g instanceof String&&(g+="");var a=0,p={next:function(){if(a<g.length){var n=a++;return{value:e(n,g[n]),done:!1}}p.next=function(){return{done:!0,value:void 0}};return p.next()}};p[Symbol.iterator]=function(){return p};return p};
-$jscomp.polyfill("Array.prototype.keys",function(g){return g?g:function(){return $jscomp.iteratorFromArray(this,function(e){return e})}},"es6","es3");$jscomp.polyfill("Number.isInteger",function(g){return g?g:function(e){return Number.isFinite(e)?e===Math.floor(e):!1}},"es6","es3");
-$jscomp.polyfill("Array.from",function(g){return g?g:function(e,a,g){$jscomp.initSymbolIterator();a=null!=a?a:function(b){return b};var n=[],m=e[Symbol.iterator];if("function"==typeof m)for(e=m.call(e);!(m=e.next()).done;)n.push(a.call(g,m.value));else{m=e.length;for(var c=0;c<m;c++)n.push(a.call(g,e[c]))}return n}},"es6","es3");$jscomp.owns=function(g,e){return Object.prototype.hasOwnProperty.call(g,e)};
-$jscomp.polyfill("WeakMap",function(g){function e(a){$jscomp.owns(a,p)||$jscomp.defineProperty(a,p,{value:{}})}function a(a){var b=Object[a];b&&(Object[a]=function(a){e(a);return b(a)})}if(function(){if(!g||!Object.seal)return!1;try{var a=Object.seal({}),b=Object.seal({}),d=new g([[a,2],[b,3]]);if(2!=d.get(a)||3!=d.get(b))return!1;d.delete(a);d.set(b,4);return!d.has(a)&&4==d.get(b)}catch(f){return!1}}())return g;var p="$jscomp_hidden_"+Math.random().toString().substring(2);a("freeze");a("preventExtensions");
-a("seal");var n=0,m=function(a){this.id_=(n+=Math.random()+1).toString();if(a){$jscomp.initSymbol();$jscomp.initSymbolIterator();a=$jscomp.makeIterator(a);for(var b;!(b=a.next()).done;)b=b.value,this.set(b[0],b[1])}};m.prototype.set=function(a,b){e(a);if(!$jscomp.owns(a,p))throw Error("WeakMap key fail: "+a);a[p][this.id_]=b;return this};m.prototype.get=function(a){return $jscomp.owns(a,p)?a[p][this.id_]:void 0};m.prototype.has=function(a){return $jscomp.owns(a,p)&&$jscomp.owns(a[p],this.id_)};m.prototype.delete=
-function(a){return $jscomp.owns(a,p)&&$jscomp.owns(a[p],this.id_)?delete a[p][this.id_]:!1};return m},"es6","es3");$jscomp.MapEntry=function(){};
-$jscomp.polyfill("Map",function(g){if(!$jscomp.ASSUME_NO_NATIVE_MAP&&function(){if(!g||!g.prototype.entries||"function"!=typeof Object.seal)return!1;try{var b=Object.seal({x:4}),a=new g($jscomp.makeIterator([[b,"s"]]));if("s"!=a.get(b)||1!=a.size||a.get({x:4})||a.set({x:4},"t")!=a||2!=a.size)return!1;var c=a.entries(),h=c.next();if(h.done||h.value[0]!=b||"s"!=h.value[1])return!1;h=c.next();return h.done||4!=h.value[0].x||"t"!=h.value[1]||!c.next().done?!1:!0}catch(q){return!1}}())return g;$jscomp.initSymbol();
-$jscomp.initSymbolIterator();var e=new WeakMap,a=function(b){this.data_={};this.head_=m();this.size=0;if(b){b=$jscomp.makeIterator(b);for(var a;!(a=b.next()).done;)a=a.value,this.set(a[0],a[1])}};a.prototype.set=function(b,a){var c=p(this,b);c.list||(c.list=this.data_[c.id]=[]);c.entry?c.entry.value=a:(c.entry={next:this.head_,previous:this.head_.previous,head:this.head_,key:b,value:a},c.list.push(c.entry),this.head_.previous.next=c.entry,this.head_.previous=c.entry,this.size++);return this};a.prototype.delete=
-function(b){b=p(this,b);return b.entry&&b.list?(b.list.splice(b.index,1),b.list.length||delete this.data_[b.id],b.entry.previous.next=b.entry.next,b.entry.next.previous=b.entry.previous,b.entry.head=null,this.size--,!0):!1};a.prototype.clear=function(){this.data_={};this.head_=this.head_.previous=m();this.size=0};a.prototype.has=function(b){return!!p(this,b).entry};a.prototype.get=function(b){return(b=p(this,b).entry)&&b.value};a.prototype.entries=function(){return n(this,function(b){return[b.key,
-b.value]})};a.prototype.keys=function(){return n(this,function(b){return b.key})};a.prototype.values=function(){return n(this,function(b){return b.value})};a.prototype.forEach=function(b,a){for(var c=this.entries(),d;!(d=c.next()).done;)d=d.value,b.call(a,d[1],d[0],this)};a.prototype[Symbol.iterator]=a.prototype.entries;var p=function(b,a){var d=a&&typeof a;"object"==d||"function"==d?e.has(a)?d=e.get(a):(d=""+ ++c,e.set(a,d)):d="p_"+a;var h=b.data_[d];if(h&&$jscomp.owns(b.data_,d))for(b=0;b<h.length;b++){var q=
-h[b];if(a!==a&&q.key!==q.key||a===q.key)return{id:d,list:h,index:b,entry:q}}return{id:d,list:h,index:-1,entry:void 0}},n=function(b,a){var c=b.head_;return $jscomp.iteratorPrototype(function(){if(c){for(;c.head!=b.head_;)c=c.previous;for(;c.next!=c.head;)return c=c.next,{done:!1,value:a(c)};c=null}return{done:!0,value:void 0}})},m=function(){var b={};return b.previous=b.next=b.head=b},c=0;return a},"es6","es3");
-$jscomp.checkStringArgs=function(g,e,a){if(null==g)throw new TypeError("The 'this' value for String.prototype."+a+" must not be null or undefined");if(e instanceof RegExp)throw new TypeError("First argument to String.prototype."+a+" must not be a regular expression");return g+""};
-$jscomp.polyfill("String.prototype.startsWith",function(g){return g?g:function(e,a){var g=$jscomp.checkStringArgs(this,e,"startsWith");e+="";var n=g.length,m=e.length;a=Math.max(0,Math.min(a|0,g.length));for(var c=0;c<m&&a<n;)if(g[a++]!=e[c++])return!1;return c>=m}},"es6","es3");
-$jscomp.polyfill("Set",function(g){if(!$jscomp.ASSUME_NO_NATIVE_SET&&function(){if(!g||!g.prototype.entries||"function"!=typeof Object.seal)return!1;try{var a=Object.seal({x:4}),e=new g($jscomp.makeIterator([a]));if(!e.has(a)||1!=e.size||e.add(a)!=e||1!=e.size||e.add({x:4})!=e||2!=e.size)return!1;var n=e.entries(),m=n.next();if(m.done||m.value[0]!=a||m.value[1]!=a)return!1;m=n.next();return m.done||m.value[0]==a||4!=m.value[0].x||m.value[1]!=m.value[0]?!1:n.next().done}catch(c){return!1}}())return g;
-$jscomp.initSymbol();$jscomp.initSymbolIterator();var e=function(a){this.map_=new Map;if(a){a=$jscomp.makeIterator(a);for(var e;!(e=a.next()).done;)this.add(e.value)}this.size=this.map_.size};e.prototype.add=function(a){this.map_.set(a,a);this.size=this.map_.size;return this};e.prototype.delete=function(a){a=this.map_.delete(a);this.size=this.map_.size;return a};e.prototype.clear=function(){this.map_.clear();this.size=0};e.prototype.has=function(a){return this.map_.has(a)};e.prototype.entries=function(){return this.map_.entries()};
-e.prototype.values=function(){return this.map_.values()};e.prototype.keys=e.prototype.values;e.prototype[Symbol.iterator]=e.prototype.values;e.prototype.forEach=function(a,e){var g=this;this.map_.forEach(function(m){return a.call(e,m,m,g)})};return e},"es6","es3");$jscomp.polyfill("Math.log2",function(g){return g?g:function(e){return Math.log(e)/Math.LN2}},"es6","es3");
-$jscomp.polyfill("String.prototype.repeat",function(g){return g?g:function(e){var a=$jscomp.checkStringArgs(this,null,"repeat");if(0>e||1342177279<e)throw new RangeError("Invalid count value");e|=0;for(var g="";e;)if(e&1&&(g+=a),e>>>=1)a+=a;return g}},"es6","es3");$jscomp.polyfill("Object.assign",function(g){return g?g:function(e,a){for(var g=1;g<arguments.length;g++){var n=arguments[g];if(n)for(var m in n)$jscomp.owns(n,m)&&(e[m]=n[m])}return e}},"es6","es3");$jscomp.FORCE_POLYFILL_PROMISE=!1;
-$jscomp.polyfill("Promise",function(g){function e(){this.batch_=null}function a(a){return a instanceof n?a:new n(function(b,c){b(a)})}if(g&&!$jscomp.FORCE_POLYFILL_PROMISE)return g;e.prototype.asyncExecute=function(a){null==this.batch_&&(this.batch_=[],this.asyncExecuteBatch_());this.batch_.push(a);return this};e.prototype.asyncExecuteBatch_=function(){var a=this;this.asyncExecuteFunction(function(){a.executeBatch_()})};var p=$jscomp.global.setTimeout;e.prototype.asyncExecuteFunction=function(a){p(a,
-0)};e.prototype.executeBatch_=function(){for(;this.batch_&&this.batch_.length;){var a=this.batch_;this.batch_=[];for(var b=0;b<a.length;++b){var d=a[b];delete a[b];try{d()}catch(f){this.asyncThrow_(f)}}}this.batch_=null};e.prototype.asyncThrow_=function(a){this.asyncExecuteFunction(function(){throw a;})};var n=function(a){this.state_=0;this.result_=void 0;this.onSettledCallbacks_=[];var b=this.createResolveAndReject_();try{a(b.resolve,b.reject)}catch(d){b.reject(d)}};n.prototype.createResolveAndReject_=
-function(){function a(a){return function(c){d||(d=!0,a.call(b,c))}}var b=this,d=!1;return{resolve:a(this.resolveTo_),reject:a(this.reject_)}};n.prototype.resolveTo_=function(a){if(a===this)this.reject_(new TypeError("A Promise cannot resolve to itself"));else if(a instanceof n)this.settleSameAsPromise_(a);else{a:switch(typeof a){case "object":var b=null!=a;break a;case "function":b=!0;break a;default:b=!1}b?this.resolveToNonPromiseObj_(a):this.fulfill_(a)}};n.prototype.resolveToNonPromiseObj_=function(a){var b=
-void 0;try{b=a.then}catch(d){this.reject_(d);return}"function"==typeof b?this.settleSameAsThenable_(b,a):this.fulfill_(a)};n.prototype.reject_=function(a){this.settle_(2,a)};n.prototype.fulfill_=function(a){this.settle_(1,a)};n.prototype.settle_=function(a,b){if(0!=this.state_)throw Error("Cannot settle("+a+", "+b|"): Promise already settled in state"+this.state_);this.state_=a;this.result_=b;this.executeOnSettledCallbacks_()};n.prototype.executeOnSettledCallbacks_=function(){if(null!=this.onSettledCallbacks_){for(var a=
-this.onSettledCallbacks_,b=0;b<a.length;++b)a[b].call(),a[b]=null;this.onSettledCallbacks_=null}};var m=new e;n.prototype.settleSameAsPromise_=function(a){var b=this.createResolveAndReject_();a.callWhenSettled_(b.resolve,b.reject)};n.prototype.settleSameAsThenable_=function(a,b){var c=this.createResolveAndReject_();try{a.call(b,c.resolve,c.reject)}catch(f){c.reject(f)}};n.prototype.then=function(a,b){function c(a,b){return"function"==typeof a?function(b){try{f(a(b))}catch(l){h(l)}}:b}var f,h,q=new n(function(a,
-b){f=a;h=b});this.callWhenSettled_(c(a,f),c(b,h));return q};n.prototype.catch=function(a){return this.then(void 0,a)};n.prototype.callWhenSettled_=function(a,b){function c(){switch(f.state_){case 1:a(f.result_);break;case 2:b(f.result_);break;default:throw Error("Unexpected state: "+f.state_);}}var f=this;null==this.onSettledCallbacks_?m.asyncExecute(c):this.onSettledCallbacks_.push(function(){m.asyncExecute(c)})};n.resolve=a;n.reject=function(a){return new n(function(b,c){c(a)})};n.race=function(c){return new n(function(b,
-d){for(var f=$jscomp.makeIterator(c),h=f.next();!h.done;h=f.next())a(h.value).callWhenSettled_(b,d)})};n.all=function(c){var b=$jscomp.makeIterator(c),d=b.next();return d.done?a([]):new n(function(c,h){function f(a){return function(b){k[a]=b;t--;0==t&&c(k)}}var k=[],t=0;do k.push(void 0),t++,a(d.value).callWhenSettled_(f(k.length-1),h),d=b.next();while(!d.done)})};return n},"es6","es3");
-$jscomp.polyfill("WeakSet",function(g){if(function(){if(!g||!Object.seal)return!1;try{var a=Object.seal({}),e=Object.seal({}),n=new g([a]);if(!n.has(a)||n.has(e))return!1;n.delete(a);n.add(e);return!n.has(a)&&n.has(e)}catch(m){return!1}}())return g;var e=function(a){this.map_=new WeakMap;if(a){$jscomp.initSymbol();$jscomp.initSymbolIterator();a=$jscomp.makeIterator(a);for(var e;!(e=a.next()).done;)this.add(e.value)}};e.prototype.add=function(a){this.map_.set(a,!0);return this};e.prototype.has=function(a){return this.map_.has(a)};
-e.prototype.delete=function(a){return this.map_.delete(a)};return e},"es6","es3");$jscomp.findInternal=function(g,e,a){g instanceof String&&(g=String(g));for(var p=g.length,n=0;n<p;n++){var m=g[n];if(e.call(a,m,n,g))return{i:n,v:m}}return{i:-1,v:void 0}};$jscomp.polyfill("Array.prototype.find",function(g){return g?g:function(e,a){return $jscomp.findInternal(this,e,a).v}},"es6","es3");
-$jscomp.polyfill("Array.prototype.values",function(g){return g?g:function(){return $jscomp.iteratorFromArray(this,function(e,a){return a})}},"es6","es3");$jscomp.polyfill("Array.prototype.entries",function(g){return g?g:function(){return $jscomp.iteratorFromArray(this,function(e,a){return[e,a]})}},"es6","es3");$jscomp.polyfill("Math.sign",function(g){return g?g:function(e){e=Number(e);return 0===e||isNaN(e)?e:0<e?1:-1}},"es6","es3");
-$jscomp.polyfill("Array.prototype.fill",function(g){return g?g:function(e,a,g){var n=this.length||0;0>a&&(a=Math.max(0,n+a));if(null==g||g>n)g=n;g=Number(g);0>g&&(g=Math.max(0,n+g));for(a=Number(a||0);a<g;a++)this[a]=e;return this}},"es6","es3");
-$jscomp.polyfill("Array.prototype.copyWithin",function(g){return g?g:function(e,a,g){var n=this.length;e=Number(e);a=Number(a);g=Number(null!=g?g:n);if(e<a)for(g=Math.min(g,n);a<g;)a in this?this[e++]=this[a++]:(delete this[e++],a++);else for(g=Math.min(g,n+a-e),e+=g-a;g>a;)--g in this?this[--e]=this[g]:delete this[e];return this}},"es6","es3");$jscomp.polyfill("Array.prototype.findIndex",function(g){return g?g:function(e,a){return $jscomp.findInternal(this,e,a).i}},"es6","es3");
-(function(g,e){"object"===typeof exports&&"object"===typeof module?module.exports=e():"function"===typeof define&&define.amd?define([],e):"object"===typeof exports?exports.exportNehubaFn=e():g.exportNehubaFn=e()})("undefined"!==typeof self?self:this,function(){return function(g){function e(p){if(a[p])return a[p].exports;var n=a[p]={i:p,l:!1,exports:{}};g[p].call(n.exports,n,n.exports,e);n.l=!0;return n.exports}var a={};e.m=g;e.c=a;e.d=function(a,g,m){e.o(a,g)||Object.defineProperty(a,g,{configurable:!1,
-enumerable:!0,get:m})};e.n=function(a){var g=a&&a.__esModule?function(){return a["default"]}:function(){return a};e.d(g,"a",g);return g};e.o=function(a,e){return Object.prototype.hasOwnProperty.call(a,e)};e.p="";return e(e.s=199)}([function(g,e,a){var p=a(12),n=a(320),m=a(75);g=function(){function a(a){this._isScalar=!1;a&&(this._subscribe=a)}a.prototype.lift=function(b){var c=new a;c.source=this;c.operator=b;return c};a.prototype.subscribe=function(a,c,f){var b=this.operator;a=n.toSubscriber(a,c,
-f);b?b.call(a,this.source):a.add(this.source?this._subscribe(a):this._trySubscribe(a));if(a.syncErrorThrowable&&(a.syncErrorThrowable=!1,a.syncErrorThrown))throw a.syncErrorValue;return a};a.prototype._trySubscribe=function(a){try{return this._subscribe(a)}catch(d){a.syncErrorThrown=!0,a.syncErrorValue=d,a.error(d)}};a.prototype.forEach=function(a,c){var b=this;c||(p.root.Rx&&p.root.Rx.config&&p.root.Rx.config.Promise?c=p.root.Rx.config.Promise:p.root.Promise&&(c=p.root.Promise));if(!c)throw Error("no Promise impl found");
-return new c(function(c,d){var f=b.subscribe(function(b){if(f)try{a(b)}catch(r){d(r),f.unsubscribe()}else a(b)},d,c)})};a.prototype._subscribe=function(a){return this.source.subscribe(a)};a.prototype[m.observable]=function(){return this};a.create=function(b){return new a(b)};return a}();e.Observable=g},function(g,e,a){function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,
-{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function n(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function m(a,b,c,d){a.addEventListener(b,c,d);return function(){return a.removeEventListener(b,c,d)}}a.d(e,"c",function(){return m});a.d(e,"a",function(){return b});a.d(e,"b",function(){return d});var c=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=
-d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),b=function(){function a(){n(this,a);this.refCount=1}c(a,[{key:"addRef",value:function(){++this.refCount;return this}},{key:"dispose",value:function(){0===--this.refCount&&this.refCountReachedZero()}},{key:"refCountReachedZero",value:function(){this.disposed();var a=this.disposers;if(null!=a){for(var b=a.length;0<b;--b){var c=a[b-1];"object"===
-typeof c?c.dispose():c.call(this)}this.disposers=void 0}this.wasDisposed=!0}},{key:"disposed",value:function(){}},{key:"registerDisposer",value:function(a){var b=this.disposers;null==b?this.disposers=[a]:b.push(a);return a}},{key:"unregisterDisposer",value:function(a){var b=this.disposers;if(null!=b){var c=b.indexOf(a);-1!==c&&b.splice(c,1)}return a}},{key:"registerEventListener",value:function(a,b,c,d){this.registerDisposer(m(a,b,c,d))}},{key:"registerCancellable",value:function(a){this.registerDisposer(function(){a.cancel()});
-return a}}]);return a}(),d=function(a){function b(a){n(this,b);var c=(b.__proto__||Object.getPrototypeOf(b)).call(this);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");c=!c||"object"!==typeof c&&"function"!==typeof c?this:c;c.value=a;return c}p(b,a);return b}(b)},function(g,e,a){var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,
-new c)},n=a(73);g=a(8);var m=a(170),c=a(74);a=function(a){function d(c,f,k){a.call(this);this.syncErrorValue=null;this.isStopped=this.syncErrorThrowable=this.syncErrorThrown=!1;switch(arguments.length){case 0:this.destination=m.empty;break;case 1:if(!c){this.destination=m.empty;break}if("object"===typeof c){c instanceof d?(this.destination=c,this.destination.add(this)):(this.syncErrorThrowable=!0,this.destination=new b(this,c));break}default:this.syncErrorThrowable=!0,this.destination=new b(this,
-c,f,k)}}p(d,a);d.prototype[c.rxSubscriber]=function(){return this};d.create=function(a,b,c){a=new d(a,b,c);a.syncErrorThrowable=!1;return a};d.prototype.next=function(a){this.isStopped||this._next(a)};d.prototype.error=function(a){this.isStopped||(this.isStopped=!0,this._error(a))};d.prototype.complete=function(){this.isStopped||(this.isStopped=!0,this._complete())};d.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,a.prototype.unsubscribe.call(this))};d.prototype._next=function(a){this.destination.next(a)};
-d.prototype._error=function(a){this.destination.error(a);this.unsubscribe()};d.prototype._complete=function(){this.destination.complete();this.unsubscribe()};d.prototype._unsubscribeAndRecycle=function(){var a=this._parent,b=this._parents;this._parents=this._parent=null;this.unsubscribe();this.isStopped=this.closed=!1;this._parent=a;this._parents=b;return this};return d}(g.Subscription);e.Subscriber=a;var b=function(a){function b(b,c,d,f){a.call(this);this._parentSubscriber=b;b=this;if(n.isFunction(c))var h=
-c;else c&&(h=c.next,d=c.error,f=c.complete,c!==m.empty&&(b=Object.create(c),n.isFunction(b.unsubscribe)&&this.add(b.unsubscribe.bind(b)),b.unsubscribe=this.unsubscribe.bind(this)));this._context=b;this._next=h;this._error=d;this._complete=f}p(b,a);b.prototype.next=function(a){if(!this.isStopped&&this._next){var b=this._parentSubscriber;b.syncErrorThrowable?this.__tryOrSetError(b,this._next,a)&&this.unsubscribe():this.__tryOrUnsub(this._next,a)}};b.prototype.error=function(a){if(!this.isStopped){var b=
-this._parentSubscriber;if(this._error)b.syncErrorThrowable?this.__tryOrSetError(b,this._error,a):this.__tryOrUnsub(this._error,a),this.unsubscribe();else if(b.syncErrorThrowable)b.syncErrorValue=a,b.syncErrorThrown=!0,this.unsubscribe();else throw this.unsubscribe(),a;}};b.prototype.complete=function(){var a=this;if(!this.isStopped){var b=this._parentSubscriber;if(this._complete){var c=function(){return a._complete.call(a._context)};b.syncErrorThrowable?this.__tryOrSetError(b,c):this.__tryOrUnsub(c)}this.unsubscribe()}};
-b.prototype.__tryOrUnsub=function(a,b){try{a.call(this._context,b)}catch(k){throw this.unsubscribe(),k;}};b.prototype.__tryOrSetError=function(a,b,c){try{b.call(this._context,c)}catch(t){return a.syncErrorValue=t,a.syncErrorThrown=!0}return!1};b.prototype._unsubscribe=function(){var a=this._parentSubscriber;this._parentSubscriber=this._context=null;a.unsubscribe()};return b}(a)},function(g,e,a){function p(a,b){var c=Math.abs(a[b]),f=Math.abs(a[b+1]),h=Math.abs(a[b+2]),q=Math.max(c,f,h);1E-4>c/q&&
-(a[b]=0);1E-4>f/q&&(a[b+1]=0);1E-4>h/q&&(a[b+2]=0)}a.d(e,"b",function(){return m});e.k=function(a){return a[0]*a[1]*a[2]};e.q=function(a){return a[0]+","+a[1]+","+a[2]};e.m=function(a){p(a,0);p(a,4);p(a,8)};e.n=function(a,b,d){var c=b[0],h=b[1];b=b[2];a[0]=d[0]*c+d[4]*h+d[8]*b;a[1]=d[1]*c+d[5]*h+d[9]*b;a[2]=d[2]*c+d[6]*h+d[10]*b;return a};e.c=function(a,b){var c=b[0],f=b[1],h=b[2],q=b[4],k=b[5],t=b[6],r=b[8],l=b[9];b=b[10];a[0]=Math.sqrt(c*c+f*f+h*h);a[1]=Math.sqrt(q*q+k*k+t*t);a[2]=Math.sqrt(r*r+
-l*l+b*b);return a};e.o=function(a,b,d,f,h){a[0]=f[0];a[1]=f[1];a[2]=f[2]*h;return n.b.fromRotationTranslationScale(a,d,b,a)};var n=a(119);g=a(16);a.d(e,"i",function(){return n.a});a.d(e,"j",function(){return n.b});a.d(e,"l",function(){return n.c});a.d(e,"p",function(){return n.d});a.d(e,"r",function(){return n.e});a=n.b.create();e.d=a;e.a=["x","y","z"];var m=function b(a,f){if(!(this instanceof b))throw new TypeError("Cannot call a class as a function");this.lower=a;this.upper=f};a=[n.d.fromValues(1,
-0,0),n.d.fromValues(0,1,0),n.d.fromValues(0,0,1)];e.e=a;a=n.d.fromValues(0,0,0);e.h=a;a=n.d.fromValues(1,1,1);e.g=a;a=n.d.fromValues(Infinity,Infinity,Infinity);e.f=a;n.c.create();new g.a(1227133513,306783378);new g.a(3272356035,818089008);new g.a(251719695,4027515120);new g.a(4278190335,16711680);new g.a(65535,16711680);new g.a(2097151,0)},function(g,e,a){var p=this&&this.__extends||function(a,e){function c(){this.constructor=a}for(var b in e)e.hasOwnProperty(b)&&(a[b]=e[b]);a.prototype=null===e?
-Object.create(e):(c.prototype=e.prototype,new c)};g=function(a){function e(){a.apply(this,arguments)}p(e,a);e.prototype.notifyNext=function(a,b,d,f,h){this.destination.next(b)};e.prototype.notifyError=function(a,b){this.destination.error(a)};e.prototype.notifyComplete=function(a){this.destination.complete()};return e}(a(2).Subscriber);e.OuterSubscriber=g},function(g,e,a){var p=a(12),n=a(172),m=a(173),c=a(168),b=a(0),d=a(56),f=a(329),h=a(75);e.subscribeToResult=function(a,k,t,r){var l=new f.InnerSubscriber(a,
-t,r);if(l.closed)return null;if(k instanceof b.Observable)if(k._isScalar)l.next(k.value),l.complete();else return k.subscribe(l);else if(n.isArrayLike(k)){a=0;for(t=k.length;a<t&&!l.closed;a++)l.next(k[a]);l.closed||l.complete()}else{if(m.isPromise(k))return k.then(function(a){l.closed||(l.next(a),l.complete())},function(a){return l.error(a)}).then(null,function(a){p.root.setTimeout(function(){throw a;})}),l;if(k&&"function"===typeof k[d.iterator]){k=k[d.iterator]();do{a=k.next();if(a.done){l.complete();
-break}l.next(a.value);if(l.closed)break}while(1)}else if(k&&"function"===typeof k[h.observable])if(k=k[h.observable](),"function"!==typeof k.subscribe)l.error(new TypeError("Provided object does not correctly implement Symbol.observable"));else return k.subscribe(new f.InnerSubscriber(a,t,r));else k=c.isObject(k)?"an invalid object":"'"+k+"'",l.error(new TypeError("You provided "+k+" where a stream was expected. You can provide an Observable, Promise, Array, or Iterable."))}return null}},function(g,
-e,a){function p(a){var b=typeof a;if("number"===b||"string"===b)if(b=parseFloat(""+a),!Number.isNaN(b))return b;throw Error("Expected floating-point number, but received: "+JSON.stringify(a)+".");}function n(a){a=p(a);if(Number.isFinite(a))return a;throw Error("Expected finite floating-point number, but received: "+a+".");}function m(a){a=n(a);if(0<a)return a;throw Error("Expected positive finite floating-point number, but received: "+a+".");}function c(a){if("object"===typeof a){if(null===a)return"null";
-if(Array.isArray(a)){var b="[",d=a.length,f=0;if(f<d)for(b+=c(a[f]);++f<d;)b+=",",b+=c(a[f]);return b+"]"}b="{";d=Object.keys(a).sort();f=0;var l=d.length;if(f<l){var h=d[f];b+=JSON.stringify(h);for(b=b+":"+c(a[h]);++f<l;)b+=",",h=d[f],b+=JSON.stringify(h),b+=":",b+=c(a[h])}return b+"}"}return JSON.stringify(a)}function b(a){return a.replace(/['"]/g,function(a){return'"'===a?"'":'"'})}function d(a){if("object"===typeof a){if(null===a)return"null";var c=a.toJSON;if("function"===typeof c)return d(c.call(a));
-if(Array.isArray(a)){c="[";var f=a.length,l=0;if(l<f)for(c+=d(a[l]);++l<f;)c+="_",c+=d(a[l]);return c+"]"}c="{";l=Object.keys(a);f=!0;l=$jscomp.makeIterator(l);for(var h=l.next();!h.done;h=l.next()){h=h.value;var k=a[h];void 0!==k&&(k=d(k))&&(f?f=!1:c+="_",c+=b(JSON.stringify(b(h))),c+=":",c+=k)}return c+"}"}return"string"===typeof a?b(JSON.stringify(b(a))):JSON.stringify(a)}function f(a,b,c){var d=/[&_,]/g;if('"'===c){var f="'";var l=z;var h=A}else f='"',l=B,h=y;for(var k="";0<a.length;){var q=a.match(h);
-if(null===q){var r=a;q=a=""}else{r=a.substr(0,q.index);a=a.substr(q.index+q[0].length);var u=q[1];if(void 0!==u){var t=u,e=f;q=c;u=l;if(2<=t.length&&t.charAt(0)===e&&t.charAt(t.length-1)===e){t=t.substr(1,t.length-2);for(e=q;0<t.length;){var g=t.match(u);if(null===g){e+=t;break}e+=g[1];e+="\\";e+=q;t=t.substr(g.index+g[0].length)}q=e+q}else q=t}else q=q[2]}k+=r.replace(d,b);k+=q}return k}function h(a){return JSON.parse(f(a,",",'"'))}function q(a,b,c){var d=a.length;if(!Array.isArray(b)||b.length!==
-d)throw Error("Expected length "+d+" array, but received: "+JSON.stringify(b)+".");for(var f=0;f<d;++f)a[f]=c(b[f],f);return a}function k(a){if("object"!==typeof a||null==a||Array.isArray(a))throw Error("Expected JSON object, but received: "+JSON.stringify(a)+".");return a}function t(a){var b=parseInt(a,10);if(!Number.isInteger(b))throw Error("Expected integer, but received: "+JSON.stringify(a)+".");return b}function r(a){a=t(a);if(0>=a)throw Error("Expected positive integer, but received: "+a+".");
-return a}function l(a){if("string"!==typeof a)throw Error("Expected string, but received: "+JSON.stringify(a)+".");return a}e.q=p;e.o=n;e.p=m;e.f=function(a,b,c){c=void 0===c?p:c;k(b);var d=Object.keys(b);d.sort();if(3!==d.length||"x"!==d[0]||"y"!==d[1]||"z"!==d[2])throw Error("Expected object to have keys ['x', 'y', 'z'], but received: "+JSON.stringify(b)+".");a[0]=c(b.x);a[1]=c(b.y);a[2]=c(b.z);return a};e.b=function(a,b){var c=a.length;if(!Array.isArray(b)||b.length!==c)throw Error("Incompatible sizes");
-for(var d=0;d<c;++d)if(!Number.isFinite(parseFloat(b[d])))throw Error("Non-finite value.");for(d=0;d<c;++d)a[d]=parseFloat(b[d]);return a};e.d=function(a,b){var c=a.length;if(!Array.isArray(b)||b.length!==c)throw Error("Incompatible sizes.");for(var d=0;d<c;++d){var f=parseInt(b[d],void 0);if(!Number.isInteger(f))throw Error("Non-integer value.");}for(d=0;d<c;++d)a[d]=parseInt(b[d],void 0);return a};e.g=c;e.i=d;e.h=h;e.a=function(a,b){if(!Array.isArray(a))throw Error("Expected array, but received: "+
-JSON.stringify(a)+".");return a.map(b)};e.c=q;e.u=k;e.s=t;e.A=r;e.t=function(a,b){var c=b.get(a);if(void 0===c)throw Error("Expected one of "+JSON.stringify(Array.from(b.keys()))+", "+("but received: "+JSON.stringify(a)+"."));return c};e.B=l;e.z=function(a){if(void 0!==a)return l(a)};e.y=function(a){if(void 0!==a)return t(a)};e.x=function(a){if(void 0!==a){if("boolean"===typeof a)return a;if("true"===a)return!0;if("false"===a)return!1;throw Error("Expected string or boolean but received: "+JSON.stringify(a));
-}};e.w=function(a,b,c){a=a.hasOwnProperty(b)?a[b]:void 0;try{return c(a)}catch(F){throw Error("Error parsing "+JSON.stringify(b)+" property: "+F.message);}};e.v=function(a,b){k(a);for(var c=new Map,d=$jscomp.makeIterator(Object.keys(a)),f=d.next();!f.done;f=d.next()){f=f.value;try{c.set(f,b(a[f]))}catch(G){throw Error("Error parsing value associated with key "+JSON.stringify(f)+": "+G.message);}}return c};e.r=function(a){if("number"!==typeof a||!Number.isFinite(a)||0>a||1<a)throw Error("Expected floating point number in [0,1], but received: "+
-JSON.stringify(a)+".");return a};e.e=function(a){if(""===a)return{};if(a.startsWith("{"))return h(a);var b={};a=a.split(/[&;]/);a=$jscomp.makeIterator(a);for(var c=a.next();!c.done;c=a.next()){c=c.value;var d=c.match(/^([^=&;]+)=([^&;]*)$/);if(null===d)throw Error("Invalid query string part: "+JSON.stringify(c)+".");b[d[1]]=decodeURIComponent(d[2])}return b};e.n=function(a,b){if("string"===typeof a&&null!==a.match(/^[a-zA-Z]/)&&(a=a.toUpperCase(),b.hasOwnProperty(a)))return b[a];throw Error("Invalid enum value: "+
-JSON.stringify(a)+".");};e.l=function(a){return q(u.p.create(),a,n)};e.k=function(a){return q(u.p.create(),a,m)};e.j=function(a){return q(u.p.create(),a,r)};e.m=function(a){if("boolean"!==typeof a)throw Error("Expected boolean, received: "+JSON.stringify(a));return a};var u=a(3);g=/('(?:[^'\\]|(?:\\.))*')/;e=/("(?:[^'\\]|(?:\\.))*")/;var A=new RegExp(g.source+"|"+e.source),y=new RegExp(e.source+"|"+g.source),z=/^((?:[^"'\\]|(?:\\.))*)"/,B=/^((?:[^"'\\]|(?:\\.))*)'/},function(g,e,a){function p(a,b){if("function"!==
-typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function n(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}a.d(e,"b",function(){return c});a.d(e,"a",function(){return b});var m=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=
-b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),c=function(){function a(){n(this,a);this.handlers=new Set;this.count=0;var b=this;this.dispatch=function(){var a=this,c=arguments;++b.count;b.handlers.forEach(function(b){b.apply(a,c)})}}m(a,[{key:"add",value:function(a){var b=this;this.handlers.add(a);return function(){return b.remove(a)}}},{key:"remove",value:function(a){return this.handlers.delete(a)}},
-{key:"dispose",value:function(){this.handlers=void 0}}]);return a}(),b=function(a){function b(){n(this,b);var a=(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!a||"object"!==typeof a&&"function"!==typeof a?this:a}p(b,a);return b}(c)},function(g,e,a){function p(a){return a.reduce(function(a,b){return a.concat(b instanceof f.UnsubscriptionError?b.errors:b)},[])}var n=a(32),m=a(168),c=
-a(73),b=a(13),d=a(11),f=a(169);g=function(){function a(a){this.closed=!1;this._subscriptions=this._parents=this._parent=null;a&&(this._unsubscribe=a)}a.prototype.unsubscribe=function(){var a=!1;if(!this.closed){var h=this._parent;var t=this._parents,r=this._unsubscribe,l=this._subscriptions;this.closed=!0;this._subscriptions=this._parents=this._parent=null;for(var u=-1,e=t?t.length:0;h;)h.remove(this),h=++u<e&&t[u]||null;if(c.isFunction(r)&&(h=b.tryCatch(r).call(this),h===d.errorObject)){a=!0;var g=
-g||(d.errorObject.e instanceof f.UnsubscriptionError?p(d.errorObject.e.errors):[d.errorObject.e])}if(n.isArray(l))for(u=-1,e=l.length;++u<e;)h=l[u],m.isObject(h)&&(h=b.tryCatch(h.unsubscribe).call(h),h===d.errorObject&&(a=!0,g=g||[],h=d.errorObject.e,h instanceof f.UnsubscriptionError?g=g.concat(p(h.errors)):g.push(h)));if(a)throw new f.UnsubscriptionError(g);}};a.prototype.add=function(b){if(!b||b===a.EMPTY)return a.EMPTY;if(b===this)return this;var c=b;switch(typeof b){case "function":c=new a(b);
-case "object":if(c.closed||"function"!==typeof c.unsubscribe)return c;if(this.closed)return c.unsubscribe(),c;"function"!==typeof c._addParent&&(b=c,c=new a,c._subscriptions=[b]);break;default:throw Error("unrecognized teardown "+b+" added to Subscription.");}(this._subscriptions||(this._subscriptions=[])).push(c);c._addParent(this);return c};a.prototype.remove=function(a){var b=this._subscriptions;b&&(a=b.indexOf(a),-1!==a&&b.splice(a,1))};a.prototype._addParent=function(a){var b=this._parent,c=
-this._parents;b&&b!==a?c?-1===c.indexOf(a)&&c.push(a):this._parents=[a]:this._parent=a};a.EMPTY=function(a){a.closed=!0;return a}(new a);return a}();e.Subscription=g},function(g,e,a){e.a=function(a){for(;;){var e=a.firstElementChild;if(!e)break;a.removeChild(e)}};e.b=function(a){var e=a.parentElement;return e?(e.removeChild(a),!0):!1}},function(g,e,a){var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):
-(c.prototype=b.prototype,new c)},n=a(0);g=a(2);var m=a(8),c=a(76),b=a(171),d=a(74),f=function(a){function b(b){a.call(this,b);this.destination=b}p(b,a);return b}(g.Subscriber);e.SubjectSubscriber=f;a=function(a){function k(){a.call(this);this.observers=[];this.hasError=this.isStopped=this.closed=!1;this.thrownError=null}p(k,a);k.prototype[d.rxSubscriber]=function(){return new f(this)};k.prototype.lift=function(a){var b=new h(this,this);b.operator=a;return b};k.prototype.next=function(a){if(this.closed)throw new c.ObjectUnsubscribedError;
-if(!this.isStopped){var b=this.observers,d=b.length;b=b.slice();for(var f=0;f<d;f++)b[f].next(a)}};k.prototype.error=function(a){if(this.closed)throw new c.ObjectUnsubscribedError;this.hasError=!0;this.thrownError=a;this.isStopped=!0;var b=this.observers,d=b.length;b=b.slice();for(var f=0;f<d;f++)b[f].error(a);this.observers.length=0};k.prototype.complete=function(){if(this.closed)throw new c.ObjectUnsubscribedError;this.isStopped=!0;var a=this.observers,b=a.length;a=a.slice();for(var d=0;d<b;d++)a[d].complete();
-this.observers.length=0};k.prototype.unsubscribe=function(){this.closed=this.isStopped=!0;this.observers=null};k.prototype._trySubscribe=function(b){if(this.closed)throw new c.ObjectUnsubscribedError;return a.prototype._trySubscribe.call(this,b)};k.prototype._subscribe=function(a){if(this.closed)throw new c.ObjectUnsubscribedError;if(this.hasError)return a.error(this.thrownError),m.Subscription.EMPTY;if(this.isStopped)return a.complete(),m.Subscription.EMPTY;this.observers.push(a);return new b.SubjectSubscription(this,
-a)};k.prototype.asObservable=function(){var a=new n.Observable;a.source=this;return a};k.create=function(a,b){return new h(a,b)};return k}(n.Observable);e.Subject=a;var h=function(a){function b(b,c){a.call(this);this.destination=b;this.source=c}p(b,a);b.prototype.next=function(a){var b=this.destination;b&&b.next&&b.next(a)};b.prototype.error=function(a){var b=this.destination;b&&b.error&&this.destination.error(a)};b.prototype.complete=function(){var a=this.destination;a&&a.complete&&this.destination.complete()};
-b.prototype._subscribe=function(a){return this.source?this.source.subscribe(a):m.Subscription.EMPTY};return b}(a);e.AnonymousSubject=h},function(g,e,a){e.errorObject={e:{}}},function(g,e,a){g=a(62);a="undefined"!==typeof self&&"undefined"!==typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self;g="undefined"!==typeof window&&window||"undefined"!==typeof g&&g||a;e.root=g;if(!g)throw Error("RxJS could not find any global context (window, self, global)");},function(g,e,a){function p(){try{return m.apply(this,
-arguments)}catch(c){return n.errorObject.e=c,n.errorObject}}var n=a(11),m;e.tryCatch=function(a){m=a;return p}},function(g,e,a){function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function n(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");
-}a.d(e,"b",function(){return b});a.d(e,"a",function(){return d});var m=a(7),c=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),b=function(){function a(b){n(this,a);this.value_=b;this.changed=new m.a}c(a,[{key:"value",get:function(){return this.value_},set:function(a){a!==this.value_&&(this.value_=a,this.changed.dispatch())}}]);
-return a}(),d=function(a){function b(a,c,d){d=void 0===d?a:d;n(this,b);a=(b.__proto__||Object.getPrototypeOf(b)).call(this,a);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");a=!a||"object"!==typeof a&&"function"!==typeof a?this:a;a.validator=c;a.defaultValue=d;return a}p(b,a);c(b,[{key:"toJSON",value:function(){if(this.value_!==this.defaultValue)return this.value_}},{key:"reset",value:function(){this.value=this.defaultValue}},{key:"restoreState",value:function(a){if(void 0!==
-a){var b=this.validator;try{this.value=b(a);return}catch(t){}}this.value=this.defaultValue}}]);return b}(b)},function(g,e,a){function p(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function n(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function m(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+
-typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a,b){q.set(a,b)}e.e=c;e.d=function(a,d){c(a,function(a){var c=this,f=a.id,l=new b.b;a=d.call(this,a,l);this.set(f,{promise:a,cancellationToken:l});a.then(function(a){var b=a.value;a=a.transfers;c.delete(f);c.invoke("rpc.promise.response",{id:f,value:b},a)},function(a){c.delete(f);c.invoke("rpc.promise.response",
-{id:f,error:a.message,errorName:a.name})})})};a.d(e,"a",function(){return r});a.d(e,"b",function(){return l});a.d(e,"c",function(){return u});e.g=function(a){return function(b){b.prototype.RPC_TYPE_ID=a}};e.f=function(a){return function(b){if(void 0!==a)b.prototype.RPC_TYPE_ID=a;else if(a=b.prototype.RPC_TYPE_ID,void 0===a)throw Error("RPC_TYPE_ID should have already been defined");A.set(a,b)}};var b=a(26);g=a(1);var d=function z(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,
-b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return z(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},f=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),h=!("undefined"!==typeof Window&&self instanceof Window),q=new Map,k=function(a){function b(a,c){p(this,
-b);var d=n(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,c));d.name=a;d.message=c;return d}m(b,a);return b}(Error);c("rpc.promise.cancel",function(a){this.get(a.id).cancellationToken.cancel()});c("rpc.promise.response",function(a){var c=a.id,d=this.get(c),f=d.resolve;d=d.reject;this.delete(c);a.hasOwnProperty("value")?f(a.value):a.errorName===b.a.name?d(b.a):d(new k(a.errorName,a.error))});var t=h?-1:0,r=function(){function a(b){var c=this;p(this,a);this.target=b;this.objects=new Map;this.nextId=
-t;b.onmessage=function(a){a=a.data;q.get(a.functionName).call(c,a)}}f(a,[{key:"set",value:function(a,b){this.objects.set(a,b)}},{key:"delete",value:function(a){this.objects.delete(a)}},{key:"get",value:function(a){return this.objects.get(a)}},{key:"getRef",value:function(a){var b=this.get(a.id);b.referencedGeneration=a.gen;b.addRef();return b}},{key:"invoke",value:function(a,b,c){b.functionName=a;this.target.postMessage(b,c)}},{key:"promiseInvoke",value:function(a,c,d,f){var l=this;d=void 0===d?b.e:
-d;return Object(b.d)(d,function(b,d,h){var k=c.id=l.newId();l.set(k,{resolve:b,reject:d});l.invoke(a,c,f);h.add(function(){l.invoke("rpc.promise.cancel",{id:k})})})}},{key:"newId",value:function(){return h?this.nextId--:this.nextId++}},{key:"numObjects",get:function(){return this.objects.size}}]);return a}(),l=function(a){function b(){p(this,b);var a=n(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments));a.rpc=null;a.rpcId=null;return a}m(b,a);f(b,[{key:"initializeSharedObject",value:function(a,
+var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.ASSUME_ES5=!1;$jscomp.ASSUME_NO_NATIVE_MAP=!1;$jscomp.ASSUME_NO_NATIVE_SET=!1;$jscomp.defineProperty=$jscomp.ASSUME_ES5||"function"==typeof Object.defineProperties?Object.defineProperty:function(h,f,a){h!=Array.prototype&&h!=Object.prototype&&(h[f]=a.value)};$jscomp.getGlobal=function(h){return"undefined"!=typeof window&&window===h?h:"undefined"!=typeof global&&null!=global?global:h};$jscomp.global=$jscomp.getGlobal(this);$jscomp.SYMBOL_PREFIX="jscomp_symbol_";
+$jscomp.initSymbol=function(){$jscomp.initSymbol=function(){};$jscomp.global.Symbol||($jscomp.global.Symbol=$jscomp.Symbol)};$jscomp.symbolCounter_=0;$jscomp.Symbol=function(h){return $jscomp.SYMBOL_PREFIX+(h||"")+$jscomp.symbolCounter_++};
+$jscomp.initSymbolIterator=function(){$jscomp.initSymbol();var h=$jscomp.global.Symbol.iterator;h||(h=$jscomp.global.Symbol.iterator=$jscomp.global.Symbol("iterator"));"function"!=typeof Array.prototype[h]&&$jscomp.defineProperty(Array.prototype,h,{configurable:!0,writable:!0,value:function(){return $jscomp.arrayIterator(this)}});$jscomp.initSymbolIterator=function(){}};$jscomp.arrayIterator=function(h){var f=0;return $jscomp.iteratorPrototype(function(){return f<h.length?{done:!1,value:h[f++]}:{done:!0}})};
+$jscomp.iteratorPrototype=function(h){$jscomp.initSymbolIterator();h={next:h};h[$jscomp.global.Symbol.iterator]=function(){return this};return h};$jscomp.makeIterator=function(h){$jscomp.initSymbolIterator();$jscomp.initSymbol();$jscomp.initSymbolIterator();var f=h[Symbol.iterator];return f?f.call(h):$jscomp.arrayIterator(h)};$jscomp.arrayFromIterator=function(h){for(var f,a=[];!(f=h.next()).done;)a.push(f.value);return a};$jscomp.arrayFromIterable=function(h){return h instanceof Array?h:$jscomp.arrayFromIterator($jscomp.makeIterator(h))};
+$jscomp.polyfill=function(h,f,a,q){if(f){a=$jscomp.global;h=h.split(".");for(q=0;q<h.length-1;q++){var p=h[q];p in a||(a[p]={});a=a[p]}h=h[h.length-1];q=a[h];f=f(q);f!=q&&null!=f&&$jscomp.defineProperty(a,h,{configurable:!0,writable:!0,value:f})}};$jscomp.polyfill("Number.isNaN",function(h){return h?h:function(f){return"number"===typeof f&&isNaN(f)}},"es6","es3");
+$jscomp.polyfill("Number.isFinite",function(h){return h?h:function(f){return"number"!==typeof f?!1:!isNaN(f)&&Infinity!==f&&-Infinity!==f}},"es6","es3");$jscomp.iteratorFromArray=function(h,f){$jscomp.initSymbolIterator();h instanceof String&&(h+="");var a=0,q={next:function(){if(a<h.length){var p=a++;return{value:f(p,h[p]),done:!1}}q.next=function(){return{done:!0,value:void 0}};return q.next()}};q[Symbol.iterator]=function(){return q};return q};
+$jscomp.polyfill("Array.prototype.keys",function(h){return h?h:function(){return $jscomp.iteratorFromArray(this,function(f){return f})}},"es6","es3");$jscomp.polyfill("Number.isInteger",function(h){return h?h:function(f){return Number.isFinite(f)?f===Math.floor(f):!1}},"es6","es3");
+$jscomp.polyfill("Array.from",function(h){return h?h:function(f,a,h){$jscomp.initSymbolIterator();a=null!=a?a:function(a){return a};var p=[],n=f[Symbol.iterator];if("function"==typeof n)for(f=n.call(f);!(n=f.next()).done;)p.push(a.call(h,n.value));else{n=f.length;for(var c=0;c<n;c++)p.push(a.call(h,f[c]))}return p}},"es6","es3");$jscomp.owns=function(h,f){return Object.prototype.hasOwnProperty.call(h,f)};
+$jscomp.polyfill("WeakMap",function(h){function f(a){$jscomp.owns(a,q)||$jscomp.defineProperty(a,q,{value:{}})}function a(a){var b=Object[a];b&&(Object[a]=function(a){f(a);return b(a)})}if(function(){if(!h||!Object.seal)return!1;try{var a=Object.seal({}),b=Object.seal({}),d=new h([[a,2],[b,3]]);if(2!=d.get(a)||3!=d.get(b))return!1;d.delete(a);d.set(b,4);return!d.has(a)&&4==d.get(b)}catch(e){return!1}}())return h;var q="$jscomp_hidden_"+Math.random().toString().substring(2);a("freeze");a("preventExtensions");
+a("seal");var p=0,n=function(a){this.id_=(p+=Math.random()+1).toString();if(a){$jscomp.initSymbol();$jscomp.initSymbolIterator();a=$jscomp.makeIterator(a);for(var b;!(b=a.next()).done;)b=b.value,this.set(b[0],b[1])}};n.prototype.set=function(a,b){f(a);if(!$jscomp.owns(a,q))throw Error("WeakMap key fail: "+a);a[q][this.id_]=b;return this};n.prototype.get=function(a){return $jscomp.owns(a,q)?a[q][this.id_]:void 0};n.prototype.has=function(a){return $jscomp.owns(a,q)&&$jscomp.owns(a[q],this.id_)};n.prototype.delete=
+function(a){return $jscomp.owns(a,q)&&$jscomp.owns(a[q],this.id_)?delete a[q][this.id_]:!1};return n},"es6","es3");$jscomp.MapEntry=function(){};
+$jscomp.polyfill("Map",function(h){if(!$jscomp.ASSUME_NO_NATIVE_MAP&&function(){if(!h||!h.prototype.entries||"function"!=typeof Object.seal)return!1;try{var a=Object.seal({x:4}),c=new h($jscomp.makeIterator([[a,"s"]]));if("s"!=c.get(a)||1!=c.size||c.get({x:4})||c.set({x:4},"t")!=c||2!=c.size)return!1;var e=c.entries(),g=e.next();if(g.done||g.value[0]!=a||"s"!=g.value[1])return!1;g=e.next();return g.done||4!=g.value[0].x||"t"!=g.value[1]||!e.next().done?!1:!0}catch(l){return!1}}())return h;$jscomp.initSymbol();
+$jscomp.initSymbolIterator();var f=new WeakMap,a=function(a){this.data_={};this.head_=n();this.size=0;if(a){a=$jscomp.makeIterator(a);for(var b;!(b=a.next()).done;)b=b.value,this.set(b[0],b[1])}};a.prototype.set=function(a,c){var b=q(this,a);b.list||(b.list=this.data_[b.id]=[]);b.entry?b.entry.value=c:(b.entry={next:this.head_,previous:this.head_.previous,head:this.head_,key:a,value:c},b.list.push(b.entry),this.head_.previous.next=b.entry,this.head_.previous=b.entry,this.size++);return this};a.prototype.delete=
+function(a){a=q(this,a);return a.entry&&a.list?(a.list.splice(a.index,1),a.list.length||delete this.data_[a.id],a.entry.previous.next=a.entry.next,a.entry.next.previous=a.entry.previous,a.entry.head=null,this.size--,!0):!1};a.prototype.clear=function(){this.data_={};this.head_=this.head_.previous=n();this.size=0};a.prototype.has=function(a){return!!q(this,a).entry};a.prototype.get=function(a){return(a=q(this,a).entry)&&a.value};a.prototype.entries=function(){return p(this,function(a){return[a.key,
+a.value]})};a.prototype.keys=function(){return p(this,function(a){return a.key})};a.prototype.values=function(){return p(this,function(a){return a.value})};a.prototype.forEach=function(a,c){for(var b=this.entries(),d;!(d=b.next()).done;)d=d.value,a.call(c,d[1],d[0],this)};a.prototype[Symbol.iterator]=a.prototype.entries;var q=function(a,d){var b=d&&typeof d;"object"==b||"function"==b?f.has(d)?b=f.get(d):(b=""+ ++c,f.set(d,b)):b="p_"+d;var g=a.data_[b];if(g&&$jscomp.owns(a.data_,b))for(a=0;a<g.length;a++){var l=
+g[a];if(d!==d&&l.key!==l.key||d===l.key)return{id:b,list:g,index:a,entry:l}}return{id:b,list:g,index:-1,entry:void 0}},p=function(a,c){var b=a.head_;return $jscomp.iteratorPrototype(function(){if(b){for(;b.head!=a.head_;)b=b.previous;for(;b.next!=b.head;)return b=b.next,{done:!1,value:c(b)};b=null}return{done:!0,value:void 0}})},n=function(){var a={};return a.previous=a.next=a.head=a},c=0;return a},"es6","es3");
+$jscomp.checkStringArgs=function(h,f,a){if(null==h)throw new TypeError("The 'this' value for String.prototype."+a+" must not be null or undefined");if(f instanceof RegExp)throw new TypeError("First argument to String.prototype."+a+" must not be a regular expression");return h+""};
+$jscomp.polyfill("String.prototype.startsWith",function(h){return h?h:function(f,a){var h=$jscomp.checkStringArgs(this,f,"startsWith");f+="";var p=h.length,n=f.length;a=Math.max(0,Math.min(a|0,h.length));for(var c=0;c<n&&a<p;)if(h[a++]!=f[c++])return!1;return c>=n}},"es6","es3");
+$jscomp.polyfill("Set",function(h){if(!$jscomp.ASSUME_NO_NATIVE_SET&&function(){if(!h||!h.prototype.entries||"function"!=typeof Object.seal)return!1;try{var a=Object.seal({x:4}),f=new h($jscomp.makeIterator([a]));if(!f.has(a)||1!=f.size||f.add(a)!=f||1!=f.size||f.add({x:4})!=f||2!=f.size)return!1;var p=f.entries(),n=p.next();if(n.done||n.value[0]!=a||n.value[1]!=a)return!1;n=p.next();return n.done||n.value[0]==a||4!=n.value[0].x||n.value[1]!=n.value[0]?!1:p.next().done}catch(c){return!1}}())return h;
+$jscomp.initSymbol();$jscomp.initSymbolIterator();var f=function(a){this.map_=new Map;if(a){a=$jscomp.makeIterator(a);for(var f;!(f=a.next()).done;)this.add(f.value)}this.size=this.map_.size};f.prototype.add=function(a){this.map_.set(a,a);this.size=this.map_.size;return this};f.prototype.delete=function(a){a=this.map_.delete(a);this.size=this.map_.size;return a};f.prototype.clear=function(){this.map_.clear();this.size=0};f.prototype.has=function(a){return this.map_.has(a)};f.prototype.entries=function(){return this.map_.entries()};
+f.prototype.values=function(){return this.map_.values()};f.prototype.keys=f.prototype.values;f.prototype[Symbol.iterator]=f.prototype.values;f.prototype.forEach=function(a,f){var h=this;this.map_.forEach(function(n){return a.call(f,n,n,h)})};return f},"es6","es3");$jscomp.polyfill("Array.prototype.values",function(h){return h?h:function(){return $jscomp.iteratorFromArray(this,function(f,a){return a})}},"es6","es3");
+$jscomp.polyfill("Math.log2",function(h){return h?h:function(f){return Math.log(f)/Math.LN2}},"es6","es3");$jscomp.polyfill("String.prototype.repeat",function(h){return h?h:function(f){var a=$jscomp.checkStringArgs(this,null,"repeat");if(0>f||1342177279<f)throw new RangeError("Invalid count value");f|=0;for(var h="";f;)if(f&1&&(h+=a),f>>>=1)a+=a;return h}},"es6","es3");
+$jscomp.polyfill("WeakSet",function(h){if(function(){if(!h||!Object.seal)return!1;try{var a=Object.seal({}),f=Object.seal({}),p=new h([a]);if(!p.has(a)||p.has(f))return!1;p.delete(a);p.add(f);return!p.has(a)&&p.has(f)}catch(n){return!1}}())return h;var f=function(a){this.map_=new WeakMap;if(a){$jscomp.initSymbol();$jscomp.initSymbolIterator();a=$jscomp.makeIterator(a);for(var f;!(f=a.next()).done;)this.add(f.value)}};f.prototype.add=function(a){this.map_.set(a,!0);return this};f.prototype.has=function(a){return this.map_.has(a)};
+f.prototype.delete=function(a){return this.map_.delete(a)};return f},"es6","es3");$jscomp.findInternal=function(h,f,a){h instanceof String&&(h=String(h));for(var q=h.length,p=0;p<q;p++){var n=h[p];if(f.call(a,n,p,h))return{i:p,v:n}}return{i:-1,v:void 0}};$jscomp.polyfill("Array.prototype.find",function(h){return h?h:function(f,a){return $jscomp.findInternal(this,f,a).v}},"es6","es3");
+$jscomp.polyfill("Object.assign",function(h){return h?h:function(f,a){for(var h=1;h<arguments.length;h++){var p=arguments[h];if(p)for(var n in p)$jscomp.owns(p,n)&&(f[n]=p[n])}return f}},"es6","es3");$jscomp.FORCE_POLYFILL_PROMISE=!1;
+$jscomp.polyfill("Promise",function(h){function f(){this.batch_=null}function a(a){return a instanceof p?a:new p(function(b,c){b(a)})}if(h&&!$jscomp.FORCE_POLYFILL_PROMISE)return h;f.prototype.asyncExecute=function(a){null==this.batch_&&(this.batch_=[],this.asyncExecuteBatch_());this.batch_.push(a);return this};f.prototype.asyncExecuteBatch_=function(){var a=this;this.asyncExecuteFunction(function(){a.executeBatch_()})};var q=$jscomp.global.setTimeout;f.prototype.asyncExecuteFunction=function(a){q(a,
+0)};f.prototype.executeBatch_=function(){for(;this.batch_&&this.batch_.length;){var a=this.batch_;this.batch_=[];for(var b=0;b<a.length;++b){var d=a[b];delete a[b];try{d()}catch(e){this.asyncThrow_(e)}}}this.batch_=null};f.prototype.asyncThrow_=function(a){this.asyncExecuteFunction(function(){throw a;})};var p=function(a){this.state_=0;this.result_=void 0;this.onSettledCallbacks_=[];var b=this.createResolveAndReject_();try{a(b.resolve,b.reject)}catch(d){b.reject(d)}};p.prototype.createResolveAndReject_=
+function(){function a(a){return function(c){d||(d=!0,a.call(b,c))}}var b=this,d=!1;return{resolve:a(this.resolveTo_),reject:a(this.reject_)}};p.prototype.resolveTo_=function(a){if(a===this)this.reject_(new TypeError("A Promise cannot resolve to itself"));else if(a instanceof p)this.settleSameAsPromise_(a);else{a:switch(typeof a){case "object":var b=null!=a;break a;case "function":b=!0;break a;default:b=!1}b?this.resolveToNonPromiseObj_(a):this.fulfill_(a)}};p.prototype.resolveToNonPromiseObj_=function(a){var b=
+void 0;try{b=a.then}catch(d){this.reject_(d);return}"function"==typeof b?this.settleSameAsThenable_(b,a):this.fulfill_(a)};p.prototype.reject_=function(a){this.settle_(2,a)};p.prototype.fulfill_=function(a){this.settle_(1,a)};p.prototype.settle_=function(a,b){if(0!=this.state_)throw Error("Cannot settle("+a+", "+b|"): Promise already settled in state"+this.state_);this.state_=a;this.result_=b;this.executeOnSettledCallbacks_()};p.prototype.executeOnSettledCallbacks_=function(){if(null!=this.onSettledCallbacks_){for(var a=
+this.onSettledCallbacks_,b=0;b<a.length;++b)a[b].call(),a[b]=null;this.onSettledCallbacks_=null}};var n=new f;p.prototype.settleSameAsPromise_=function(a){var b=this.createResolveAndReject_();a.callWhenSettled_(b.resolve,b.reject)};p.prototype.settleSameAsThenable_=function(a,b){var d=this.createResolveAndReject_();try{a.call(b,d.resolve,d.reject)}catch(e){d.reject(e)}};p.prototype.then=function(a,b){function d(a,b){return"function"==typeof a?function(b){try{c(a(b))}catch(r){g(r)}}:b}var c,g,l=new p(function(a,
+b){c=a;g=b});this.callWhenSettled_(d(a,c),d(b,g));return l};p.prototype.catch=function(a){return this.then(void 0,a)};p.prototype.callWhenSettled_=function(a,b){function d(){switch(c.state_){case 1:a(c.result_);break;case 2:b(c.result_);break;default:throw Error("Unexpected state: "+c.state_);}}var c=this;null==this.onSettledCallbacks_?n.asyncExecute(d):this.onSettledCallbacks_.push(function(){n.asyncExecute(d)})};p.resolve=a;p.reject=function(a){return new p(function(b,c){c(a)})};p.race=function(c){return new p(function(b,
+d){for(var e=$jscomp.makeIterator(c),g=e.next();!g.done;g=e.next())a(g.value).callWhenSettled_(b,d)})};p.all=function(c){var b=$jscomp.makeIterator(c),d=b.next();return d.done?a([]):new p(function(c,g){function e(a){return function(b){k[a]=b;t--;0==t&&c(k)}}var k=[],t=0;do k.push(void 0),t++,a(d.value).callWhenSettled_(e(k.length-1),g),d=b.next();while(!d.done)})};return p},"es6","es3");
+$jscomp.polyfill("Math.sign",function(h){return h?h:function(f){f=Number(f);return 0===f||isNaN(f)?f:0<f?1:-1}},"es6","es3");$jscomp.polyfill("Array.prototype.entries",function(h){return h?h:function(){return $jscomp.iteratorFromArray(this,function(f,a){return[f,a]})}},"es6","es3");$jscomp.polyfill("Array.prototype.findIndex",function(h){return h?h:function(f,a){return $jscomp.findInternal(this,f,a).i}},"es6","es3");
+$jscomp.polyfill("Array.prototype.fill",function(h){return h?h:function(f,a,h){var p=this.length||0;0>a&&(a=Math.max(0,p+a));if(null==h||h>p)h=p;h=Number(h);0>h&&(h=Math.max(0,p+h));for(a=Number(a||0);a<h;a++)this[a]=f;return this}},"es6","es3");
+(function(h,f){"object"===typeof exports&&"object"===typeof module?module.exports=f():"function"===typeof define&&define.amd?define([],f):"object"===typeof exports?exports.exportNehuba=f():h.exportNehuba=f()})("undefined"!==typeof self?self:this,function(){return function(h){function f(q){if(a[q])return a[q].exports;var p=a[q]={i:q,l:!1,exports:{}};h[q].call(p.exports,p,p.exports,f);p.l=!0;return p.exports}var a={};f.m=h;f.c=a;f.d=function(a,h,n){f.o(a,h)||Object.defineProperty(a,h,{configurable:!1,
+enumerable:!0,get:n})};f.n=function(a){var h=a&&a.__esModule?function(){return a["default"]}:function(){return a};f.d(h,"a",h);return h};f.o=function(a,f){return Object.prototype.hasOwnProperty.call(a,f)};f.p="";return f(f.s=226)}([function(h,f,a){var q=a(16),p=a(365),n=a(86);h=function(){function a(a){this._isScalar=!1;a&&(this._subscribe=a)}a.prototype.lift=function(b){var d=new a;d.source=this;d.operator=b;return d};a.prototype.subscribe=function(a,d,c){var b=this.operator;a=p.toSubscriber(a,d,
+c);b?b.call(a,this.source):a.add(this.source?this._subscribe(a):this._trySubscribe(a));if(a.syncErrorThrowable&&(a.syncErrorThrowable=!1,a.syncErrorThrown))throw a.syncErrorValue;return a};a.prototype._trySubscribe=function(a){try{return this._subscribe(a)}catch(d){a.syncErrorThrown=!0,a.syncErrorValue=d,a.error(d)}};a.prototype.forEach=function(a,d){var b=this;d||(q.root.Rx&&q.root.Rx.config&&q.root.Rx.config.Promise?d=q.root.Rx.config.Promise:q.root.Promise&&(d=q.root.Promise));if(!d)throw Error("no Promise impl found");
+return new d(function(d,c){var e=b.subscribe(function(b){if(e)try{a(b)}catch(m){c(m),e.unsubscribe()}else a(b)},c,d)})};a.prototype._subscribe=function(a){return this.source.subscribe(a)};a.prototype[n.observable]=function(){return this};a.create=function(b){return new a(b)};return a}();f.Observable=h},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,
+{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function p(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function n(a,b,d,c){a.addEventListener(b,d,c);return function(){return a.removeEventListener(b,d,c)}}a.d(f,"c",function(){return n});a.d(f,"a",function(){return b});a.d(f,"b",function(){return d});var c=function(){function a(a,b){for(var d=0;d<b.length;d++){var c=b[d];c.enumerable=
+c.enumerable||!1;c.configurable=!0;"value"in c&&(c.writable=!0);Object.defineProperty(a,c.key,c)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),b=function(){function a(){p(this,a);this.refCount=1}c(a,[{key:"addRef",value:function(){++this.refCount;return this}},{key:"dispose",value:function(){0===--this.refCount&&this.refCountReachedZero()}},{key:"refCountReachedZero",value:function(){this.disposed();var a=this.disposers;if(null!=a){for(var b=a.length;0<b;--b){var c=a[b-1];"object"===
+typeof c?c.dispose():c.call(this)}this.disposers=void 0}this.wasDisposed=!0}},{key:"disposed",value:function(){}},{key:"registerDisposer",value:function(a){var b=this.disposers;null==b?this.disposers=[a]:b.push(a);return a}},{key:"unregisterDisposer",value:function(a){var b=this.disposers;if(null!=b){var c=b.indexOf(a);-1!==c&&b.splice(c,1)}return a}},{key:"registerEventListener",value:function(a,b,c,d){this.registerDisposer(n(a,b,c,d))}},{key:"registerCancellable",value:function(a){this.registerDisposer(function(){a.cancel()});
+return a}}]);return a}(),d=function(a){function b(a){p(this,b);var c=(b.__proto__||Object.getPrototypeOf(b)).call(this);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");c=!c||"object"!==typeof c&&"function"!==typeof c?this:c;c.value=a;return c}q(b,a);return b}(b)},function(h,f,a){function q(a,b){var c=Math.abs(a[b]),e=Math.abs(a[b+1]),g=Math.abs(a[b+2]),l=Math.max(c,e,g);1E-4>c/l&&(a[b]=0);1E-4>e/l&&(a[b+1]=0);1E-4>g/l&&(a[b+2]=0)}a.d(f,"b",function(){return n});
+f.l=function(a){return a[0]*a[1]*a[2]};f.t=function(a){return a[0]+","+a[1]+","+a[2]};f.o=function(a){q(a,0);q(a,4);q(a,8)};f.p=function(a,b,d){var c=b[0],g=b[1];b=b[2];a[0]=d[0]*c+d[4]*g+d[8]*b;a[1]=d[1]*c+d[5]*g+d[9]*b;a[2]=d[2]*c+d[6]*g+d[10]*b;return a};f.c=function(a,b){var d=b[0],c=b[1],g=b[2],l=b[4],k=b[5],t=b[6],m=b[8],r=b[9];b=b[10];a[0]=Math.sqrt(d*d+c*c+g*g);a[1]=Math.sqrt(l*l+k*k+t*t);a[2]=Math.sqrt(m*m+r*r+b*b);return a};f.q=function(a,b,d,e,g){a[0]=e[0];a[1]=e[1];a[2]=e[2]*g;return p.b.fromRotationTranslationScale(a,
+d,b,a)};f.m=function(a,b,d,e){for(var c=p.e.squaredDistance(b,d),l=0,k=0;3>k;++k){var t=b[k];l-=(t-e[k])*(d[k]-t)}e=l/Math.max(c,1E-6);e=Math.max(0,Math.min(1,e));for(c=0;3>c;++c)l=b[c],a[c]=l+e*(d[c]-l);return a};f.j=function(a,b){var d=b[1],c=b[2],g=b[4],l=b[5],k=b[6],t=b[8],m=b[9],r=b[10];a[0]=b[0];a[1]=d;a[2]=c;a[3]=g;a[4]=l;a[5]=k;a[6]=t;a[7]=m;a[8]=r;return a};var p=a(132);h=a(14);a.d(f,"i",function(){return p.a});a.d(f,"k",function(){return p.b});a.d(f,"n",function(){return p.c});a.d(f,"r",
+function(){return p.d});a.d(f,"s",function(){return p.e});a.d(f,"u",function(){return p.f});a=p.b.create();f.d=a;f.a=["x","y","z"];var n=function b(a,e){if(!(this instanceof b))throw new TypeError("Cannot call a class as a function");this.lower=a;this.upper=e};a=[p.e.fromValues(1,0,0),p.e.fromValues(0,1,0),p.e.fromValues(0,0,1)];f.e=a;a=p.e.fromValues(0,0,0);f.h=a;a=p.e.fromValues(1,1,1);f.g=a;a=p.e.fromValues(Infinity,Infinity,Infinity);f.f=a;p.c.create();new h.a(1227133513,306783378);new h.a(3272356035,
+818089008);new h.a(251719695,4027515120);new h.a(4278190335,16711680);new h.a(65535,16711680);new h.a(2097151,0)},function(h,f,a){var q=this&&this.__extends||function(a,b){function d(){this.constructor=a}for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c]);a.prototype=null===b?Object.create(b):(d.prototype=b.prototype,new d)},p=a(84);h=a(11);var n=a(197),c=a(85);a=function(a){function d(c,e,k){a.call(this);this.syncErrorValue=null;this.isStopped=this.syncErrorThrowable=this.syncErrorThrown=!1;switch(arguments.length){case 0:this.destination=
+n.empty;break;case 1:if(!c){this.destination=n.empty;break}if("object"===typeof c){c instanceof d?(this.destination=c,this.destination.add(this)):(this.syncErrorThrowable=!0,this.destination=new b(this,c));break}default:this.syncErrorThrowable=!0,this.destination=new b(this,c,e,k)}}q(d,a);d.prototype[c.rxSubscriber]=function(){return this};d.create=function(a,b,c){a=new d(a,b,c);a.syncErrorThrowable=!1;return a};d.prototype.next=function(a){this.isStopped||this._next(a)};d.prototype.error=function(a){this.isStopped||
+(this.isStopped=!0,this._error(a))};d.prototype.complete=function(){this.isStopped||(this.isStopped=!0,this._complete())};d.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,a.prototype.unsubscribe.call(this))};d.prototype._next=function(a){this.destination.next(a)};d.prototype._error=function(a){this.destination.error(a);this.unsubscribe()};d.prototype._complete=function(){this.destination.complete();this.unsubscribe()};d.prototype._unsubscribeAndRecycle=function(){var a=this._parent,
+b=this._parents;this._parents=this._parent=null;this.unsubscribe();this.isStopped=this.closed=!1;this._parent=a;this._parents=b;return this};return d}(h.Subscription);f.Subscriber=a;var b=function(a){function b(b,d,c,e){a.call(this);this._parentSubscriber=b;b=this;if(p.isFunction(d))var g=d;else d&&(g=d.next,c=d.error,e=d.complete,d!==n.empty&&(b=Object.create(d),p.isFunction(b.unsubscribe)&&this.add(b.unsubscribe.bind(b)),b.unsubscribe=this.unsubscribe.bind(this)));this._context=b;this._next=g;this._error=
+c;this._complete=e}q(b,a);b.prototype.next=function(a){if(!this.isStopped&&this._next){var b=this._parentSubscriber;b.syncErrorThrowable?this.__tryOrSetError(b,this._next,a)&&this.unsubscribe():this.__tryOrUnsub(this._next,a)}};b.prototype.error=function(a){if(!this.isStopped){var b=this._parentSubscriber;if(this._error)b.syncErrorThrowable?this.__tryOrSetError(b,this._error,a):this.__tryOrUnsub(this._error,a),this.unsubscribe();else if(b.syncErrorThrowable)b.syncErrorValue=a,b.syncErrorThrown=!0,
+this.unsubscribe();else throw this.unsubscribe(),a;}};b.prototype.complete=function(){var a=this;if(!this.isStopped){var b=this._parentSubscriber;if(this._complete){var d=function(){return a._complete.call(a._context)};b.syncErrorThrowable?this.__tryOrSetError(b,d):this.__tryOrUnsub(d)}this.unsubscribe()}};b.prototype.__tryOrUnsub=function(a,b){try{a.call(this._context,b)}catch(k){throw this.unsubscribe(),k;}};b.prototype.__tryOrSetError=function(a,b,d){try{b.call(this._context,d)}catch(t){return a.syncErrorValue=
+t,a.syncErrorThrown=!0}return!1};b.prototype._unsubscribe=function(){var a=this._parentSubscriber;this._parentSubscriber=this._context=null;a.unsubscribe()};return b}(a)},function(h,f,a){function q(a){var b=typeof a;if("number"===b||"string"===b)if(b=parseFloat(""+a),!Number.isNaN(b))return b;throw Error("Expected floating-point number, but received: "+JSON.stringify(a)+".");}function p(a){a=q(a);if(Number.isFinite(a))return a;throw Error("Expected finite floating-point number, but received: "+a+
+".");}function n(a){a=p(a);if(0<a)return a;throw Error("Expected positive finite floating-point number, but received: "+a+".");}function c(a){if("object"===typeof a){if(null===a)return"null";if(Array.isArray(a)){var b="[",d=a.length,e=0;if(e<d)for(b+=c(a[e]);++e<d;)b+=",",b+=c(a[e]);return b+"]"}b="{";d=Object.keys(a).sort();e=0;var g=d.length;if(e<g){var k=d[e];b+=JSON.stringify(k);for(b=b+":"+c(a[k]);++e<g;)b+=",",k=d[e],b+=JSON.stringify(k),b+=":",b+=c(a[k])}return b+"}"}return JSON.stringify(a)}
+function b(a,b,d){var c=/[&_,]/g;if('"'===d){var e="'";var g=v;var k=r}else e='"',g=w,k=u;for(var m="";0<a.length;){var l=a.match(k);if(null===l){var t=a;l=a=""}else{t=a.substr(0,l.index);a=a.substr(l.index+l[0].length);var f=l[1];if(void 0!==f){var h=f;l=e;f=d;var x=g;if(2<=h.length&&h.charAt(0)===l&&h.charAt(h.length-1)===l){h=h.substr(1,h.length-2);for(var n=f;0<h.length;){var y=h.match(x);if(null===y){n+=h;break}n+=y[1];y[2]===f?(n+="\\",n+=f):n+=l;h=h.substr(y.index+y[0].length)}l=n+f}else l=
+h}else l=l[2]}m+=t.replace(c,b);m+=l}return m}function d(a){return JSON.parse(b(a,",",'"'))}function e(a,b,d){var c=a.length;if(!Array.isArray(b)||b.length!==c)throw Error("Expected length "+c+" array, but received: "+JSON.stringify(b)+".");for(var e=0;e<c;++e)a[e]=d(b[e],e);return a}function g(a){if("object"!==typeof a||null==a||Array.isArray(a))throw Error("Expected JSON object, but received: "+JSON.stringify(a)+".");return a}function l(a){var b=parseInt(a,10);if(!Number.isInteger(b))throw Error("Expected integer, but received: "+
+JSON.stringify(a)+".");return b}function k(a){a=l(a);if(0>=a)throw Error("Expected positive integer, but received: "+a+".");return a}function t(a){if("string"!==typeof a)throw Error("Expected string, but received: "+JSON.stringify(a)+".");return a}f.p=q;f.n=p;f.o=n;f.f=function(a,b,d){d=void 0===d?q:d;g(b);a[0]=a[1]=a[2]=0;for(var c=$jscomp.makeIterator(Object.keys(b)),e=c.next();!e.done;e=c.next())switch(e=e.value,e){case "x":a[0]=d(b[e]);break;case "y":a[1]=d(b[e]);break;case "z":a[2]=d(b[e]);break;
+default:throw Error("Expected object to have keys ['x', 'y', 'z'], but received: "+JSON.stringify(b)+".");}return a};f.b=function(a,b){var d=a.length;if(!Array.isArray(b)||b.length!==d)throw Error("Incompatible sizes");for(var c=0;c<d;++c)if(!Number.isFinite(parseFloat(b[c])))throw Error("Non-finite value.");for(c=0;c<d;++c)a[c]=parseFloat(b[c]);return a};f.d=function(a,b){var d=a.length;if(!Array.isArray(b)||b.length!==d)throw Error("Incompatible sizes.");for(var c=0;c<d;++c){var e=parseInt(b[c],
+void 0);if(!Number.isInteger(e))throw Error("Non-integer value.");}for(c=0;c<d;++c)a[c]=parseInt(b[c],void 0);return a};f.g=c;f.h=d;f.a=function(a,b){if(!Array.isArray(a))throw Error("Expected array, but received: "+JSON.stringify(a)+".");return a.map(b)};f.c=e;f.t=g;f.r=l;f.z=k;f.s=function(a,b){var d=b.get(a);if(void 0===d)throw Error("Expected one of "+JSON.stringify(Array.from(b.keys()))+", "+("but received: "+JSON.stringify(a)+"."));return d};f.A=t;f.y=function(a){if(void 0!==a)return t(a)};
+f.x=function(a){if(void 0!==a)return l(a)};f.w=function(a){if(void 0!==a){if("boolean"===typeof a)return a;if("true"===a)return!0;if("false"===a)return!1;throw Error("Expected string or boolean but received: "+JSON.stringify(a));}};f.v=function(a,b,d){a=a.hasOwnProperty(b)?a[b]:void 0;try{return d(a)}catch(z){throw Error("Error parsing "+JSON.stringify(b)+" property: "+z.message);}};f.u=function(a,b){g(a);for(var d=new Map,c=$jscomp.makeIterator(Object.keys(a)),e=c.next();!e.done;e=c.next()){e=e.value;
+try{d.set(e,b(a[e]))}catch(E){throw Error("Error parsing value associated with key "+JSON.stringify(e)+": "+E.message);}}return d};f.q=function(a){if("number"!==typeof a||!Number.isFinite(a)||0>a||1<a)throw Error("Expected floating point number in [0,1], but received: "+JSON.stringify(a)+".");return a};f.e=function(a){if(""===a)return{};if(a.startsWith("{"))return d(a);var b={};a=a.split(/[&;]/);a=$jscomp.makeIterator(a);for(var c=a.next();!c.done;c=a.next()){c=c.value;var e=c.match(/^([^=&;]+)=([^&;]*)$/);
+if(null===e)throw Error("Invalid query string part: "+JSON.stringify(c)+".");b[e[1]]=decodeURIComponent(e[2])}return b};f.m=function(a,b){if("string"===typeof a&&null!==a.match(/^[a-zA-Z]/)&&(a=a.toUpperCase(),b.hasOwnProperty(a)))return b[a];throw Error("Invalid enum value: "+JSON.stringify(a)+".");};f.k=function(a){return e(m.s.create(),a,p)};f.j=function(a){return e(m.s.create(),a,n)};f.i=function(a){return e(m.s.create(),a,k)};f.l=function(a){if("boolean"!==typeof a)throw Error("Expected boolean, received: "+
+JSON.stringify(a));return a};var m=a(2);h=/('(?:[^'\\]|(?:\\.))*')/;f=/("(?:[^'\\]|(?:\\.))*")/;var r=new RegExp(h.source+"|"+f.source),u=new RegExp(f.source+"|"+h.source),v=/^((?:[^"'\\]|(?:\\[^']))*)("|\\')/,w=/^((?:[^"'\\]|(?:\\.))*)'/},function(h,f,a){var q=this&&this.__extends||function(a,f){function c(){this.constructor=a}for(var b in f)f.hasOwnProperty(b)&&(a[b]=f[b]);a.prototype=null===f?Object.create(f):(c.prototype=f.prototype,new c)};h=function(a){function f(){a.apply(this,arguments)}q(f,
+a);f.prototype.notifyNext=function(a,b,d,e,g){this.destination.next(b)};f.prototype.notifyError=function(a,b){this.destination.error(a)};f.prototype.notifyComplete=function(a){this.destination.complete()};return f}(a(3).Subscriber);f.OuterSubscriber=h},function(h,f,a){var q=a(16),p=a(199),n=a(200),c=a(195),b=a(0),d=a(67),e=a(374),g=a(86);f.subscribeToResult=function(a,k,t,m){var r=new e.InnerSubscriber(a,t,m);if(r.closed)return null;if(k instanceof b.Observable)if(k._isScalar)r.next(k.value),r.complete();
+else return k.subscribe(r);else if(p.isArrayLike(k)){a=0;for(t=k.length;a<t&&!r.closed;a++)r.next(k[a]);r.closed||r.complete()}else{if(n.isPromise(k))return k.then(function(a){r.closed||(r.next(a),r.complete())},function(a){return r.error(a)}).then(null,function(a){q.root.setTimeout(function(){throw a;})}),r;if(k&&"function"===typeof k[d.iterator]){k=k[d.iterator]();do{a=k.next();if(a.done){r.complete();break}r.next(a.value);if(r.closed)break}while(1)}else if(k&&"function"===typeof k[g.observable])if(k=
+k[g.observable](),"function"!==typeof k.subscribe)r.error(new TypeError("Provided object does not correctly implement Symbol.observable"));else return k.subscribe(new e.InnerSubscriber(a,t,m));else k=c.isObject(k)?"an invalid object":"'"+k+"'",r.error(new TypeError("You provided "+k+" where a stream was expected. You can provide an Observable, Promise, Array, or Iterable."))}return null}},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+
+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function p(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}a.d(f,"b",function(){return c});a.d(f,"a",function(){return b});var n=function(){function a(a,b){for(var d=0;d<b.length;d++){var c=b[d];c.enumerable=c.enumerable||!1;c.configurable=!0;"value"in c&&(c.writable=!0);Object.defineProperty(a,
+c.key,c)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),c=function(){function a(){p(this,a);this.handlers=new Set;this.count=0;var b=this;this.dispatch=function(){var a=this,c=arguments;++b.count;b.handlers.forEach(function(b){b.apply(a,c)})}}n(a,[{key:"add",value:function(a){var b=this;this.handlers.add(a);return function(){return b.remove(a)}}},{key:"remove",value:function(a){return this.handlers.delete(a)}},{key:"dispose",value:function(){this.handlers=void 0}}]);return a}(),
+b=function(a){function b(){p(this,b);var a=(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!a||"object"!==typeof a&&"function"!==typeof a?this:a}q(b,a);return b}(c)},function(h,f,a){f.a=function(a){for(;;){var f=a.firstElementChild;if(!f)break;a.removeChild(f)}};f.b=function(a){var f=a.parentElement;return f?(f.removeChild(a),!0):!1}},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
+return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function n(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}a.d(f,"f",function(){return l});a.d(f,
+"c",function(){return k});f.g=function(a,b){for(var c=[],d=1;d<arguments.length;++d)c[d-1]=arguments[d];return new t(a,c)};a.d(f,"a",function(){return m});a.d(f,"d",function(){return r});a.d(f,"b",function(){return u});a.d(f,"e",function(){return v});f.h=function(a,d){function e(){g=a.value;k=new b.a;d(k,g)}var g,k,m=c()(function(){a.value!==g&&(k.dispose(),e())},0),r=a.changed.add(m);e();return function(){m.cancel();r();k.dispose()}};h=a(10);var c=a.n(h),b=a(1),d=a(7),e=function y(a,b,c){null===
+a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return y(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},g=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,d,c){d&&a(b.prototype,d);c&&a(b,c);return b}}(),l=function(){function a(b){n(this,a);
+this.value_=b;this.changed=new d.a}g(a,[{key:"value",get:function(){return this.value_},set:function(a){a!==this.value_&&(this.value_=a,this.changed.dispatch())}}]);return a}(),k=function(a){function b(a,d,c){c=void 0===c?a:c;n(this,b);a=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a));a.validator=d;a.defaultValue=c;return a}p(b,a);g(b,[{key:"toJSON",value:function(){if(this.value_!==this.defaultValue)return this.value_}},{key:"reset",value:function(){this.value=this.defaultValue}},{key:"restoreState",
+value:function(a){if(void 0!==a){var b=this.validator;try{this.value=b(a);return}catch(D){}}this.value=this.defaultValue}}]);return b}(l),t=function(a){function b(a,c){n(this,b);var e=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));e.changed=new d.a;e.f=a;e.ws=c;a=$jscomp.makeIterator(c);for(c=a.next();!c.done;c=a.next())e.registerDisposer(c.value.changed.add(e.changed.dispatch));return e}p(b,a);g(b,[{key:"value",get:function(){return this.f.apply(this,[].concat($jscomp.arrayFromIterable(this.ws.map(function(a){return a.value}))))}}]);
+return b}(b.a),m=function(a){function b(a,c){for(var e=[],g=1;g<arguments.length;++g)e[g-1]=arguments[g];n(this,b);g=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));g.f=a;g.changed=new d.a;e=$jscomp.makeIterator(e);for(var k=e.next();!k.done;k=e.next())g.registerDisposer(k.value.add(g.changed.dispatch));return g}p(b,a);g(b,[{key:"value",get:function(){return this.f()}}]);return b}(b.a),r=function(a){function b(){n(this,b);var a=q(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,
+arguments));a.changed=new d.a;return a}p(b,a);g(b,[{key:"reset",value:function(){this.value=void 0}},{key:"disposed",value:function(){void 0!==this.value_&&this.value_.dispose();this.value_=void 0;e(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"disposed",this).call(this)}},{key:"value",get:function(){return this.value_},set:function(a){var b=this,c=this.value_;this.value_=a;void 0!==c&&(c.dispose(),this.valueHandler=void 0);if(void 0!==a){var d=this.valueHandler=function(){b.value_===
+a&&(b.value_=void 0,b.changed.dispatch())};a.registerDisposer(d)}a!==c&&this.changed.dispatch()}}]);return b}(b.a),u=function(a){function b(a,c){n(this,b);var d=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));d.validator=a;d.jsonConverter=c;return d}p(b,a);g(b,[{key:"toJSON",value:function(){var a=this.value;return a&&this.jsonConverter(a)}},{key:"restoreState",value:function(a){this.value=this.validator(a)}}]);return b}(r),v=function(){function a(b){n(this,a);this.changed=new d.a;this.values=
+void 0===b?new Set:new Set(b)}$jscomp.initSymbol();$jscomp.initSymbolIterator();g(a,[{key:"add",value:function(a){var b=this.values;b.has(a)||(b.add(a),this.changed.dispatch());return this}},{key:"delete",value:function(a){return this.values.delete(a)?(this.changed.dispatch(),!0):!1}},{key:"has",value:function(a){return this.values.has(a)}},{key:Symbol.iterator,value:function(){$jscomp.initSymbol();$jscomp.initSymbolIterator();return this.values[Symbol.iterator]()}},{key:"clear",value:function(){var a=
+this.values;0<a.size&&(a.clear(),this.changed.dispatch())}},{key:"size",get:function(){return this.values.size}}]);return a}()},function(h,f,a){var q=a(95),p=a(235),n=a(237),c=Math.max,b=Math.min;h.exports=function(a,e,g){function d(b){var c=u,d=v;u=v=void 0;A=b;return f=a.apply(d,c)}function k(a){var b=a-x;a-=A;return void 0===x||b>=e||0>b||D&&a>=G}function t(){var a=p();if(k(a))return m(a);var c=setTimeout;var d=a-A;a=e-(a-x);d=D?b(a,G-d):a;h=c(t,d)}function m(a){h=void 0;if(E&&u)return d(a);u=
+v=void 0;return f}function r(){var a=p(),b=k(a);u=arguments;v=this;x=a;if(b){if(void 0===h)return A=a=x,h=setTimeout(t,e),z?d(a):f;if(D)return h=setTimeout(t,e),d(x)}void 0===h&&(h=setTimeout(t,e));return f}var u,v,f,h,x,A=0,z=!1,D=!1,E=!0;if("function"!=typeof a)throw new TypeError("Expected a function");e=n(e)||0;if(q(g)){z=!!g.leading;var G=(D="maxWait"in g)?c(n(g.maxWait)||0,e):G;E="trailing"in g?!!g.trailing:E}r.cancel=function(){void 0!==h&&clearTimeout(h);A=0;u=x=v=h=void 0};r.flush=function(){return void 0===
+h?f:m(p())};return r}},function(h,f,a){function q(a){return a.reduce(function(a,b){return a.concat(b instanceof e.UnsubscriptionError?b.errors:b)},[])}var p=a(36),n=a(195),c=a(84),b=a(17),d=a(13),e=a(196);h=function(){function a(a){this.closed=!1;this._subscriptions=this._parents=this._parent=null;a&&(this._unsubscribe=a)}a.prototype.unsubscribe=function(){var a=!1;if(!this.closed){var g=this._parent;var t=this._parents,m=this._unsubscribe,r=this._subscriptions;this.closed=!0;this._subscriptions=
+this._parents=this._parent=null;for(var u=-1,v=t?t.length:0;g;)g.remove(this),g=++u<v&&t[u]||null;if(c.isFunction(m)&&(g=b.tryCatch(m).call(this),g===d.errorObject)){a=!0;var f=f||(d.errorObject.e instanceof e.UnsubscriptionError?q(d.errorObject.e.errors):[d.errorObject.e])}if(p.isArray(r))for(u=-1,v=r.length;++u<v;)g=r[u],n.isObject(g)&&(g=b.tryCatch(g.unsubscribe).call(g),g===d.errorObject&&(a=!0,f=f||[],g=d.errorObject.e,g instanceof e.UnsubscriptionError?f=f.concat(q(g.errors)):f.push(g)));if(a)throw new e.UnsubscriptionError(f);
+}};a.prototype.add=function(b){if(!b||b===a.EMPTY)return a.EMPTY;if(b===this)return this;var c=b;switch(typeof b){case "function":c=new a(b);case "object":if(c.closed||"function"!==typeof c.unsubscribe)return c;if(this.closed)return c.unsubscribe(),c;"function"!==typeof c._addParent&&(b=c,c=new a,c._subscriptions=[b]);break;default:throw Error("unrecognized teardown "+b+" added to Subscription.");}(this._subscriptions||(this._subscriptions=[])).push(c);c._addParent(this);return c};a.prototype.remove=
+function(a){var b=this._subscriptions;b&&(a=b.indexOf(a),-1!==a&&b.splice(a,1))};a.prototype._addParent=function(a){var b=this._parent,c=this._parents;b&&b!==a?c?-1===c.indexOf(a)&&c.push(a):this._parents=[a]:this._parent=a};a.EMPTY=function(a){a.closed=!0;return a}(new a);return a}();f.Subscription=h},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,
+new c)},p=a(0);h=a(3);var n=a(11),c=a(87),b=a(198),d=a(85),e=function(a){function b(b){a.call(this,b);this.destination=b}q(b,a);return b}(h.Subscriber);f.SubjectSubscriber=e;a=function(a){function k(){a.call(this);this.observers=[];this.hasError=this.isStopped=this.closed=!1;this.thrownError=null}q(k,a);k.prototype[d.rxSubscriber]=function(){return new e(this)};k.prototype.lift=function(a){var b=new g(this,this);b.operator=a;return b};k.prototype.next=function(a){if(this.closed)throw new c.ObjectUnsubscribedError;
+if(!this.isStopped){var b=this.observers,d=b.length;b=b.slice();for(var e=0;e<d;e++)b[e].next(a)}};k.prototype.error=function(a){if(this.closed)throw new c.ObjectUnsubscribedError;this.hasError=!0;this.thrownError=a;this.isStopped=!0;var b=this.observers,d=b.length;b=b.slice();for(var e=0;e<d;e++)b[e].error(a);this.observers.length=0};k.prototype.complete=function(){if(this.closed)throw new c.ObjectUnsubscribedError;this.isStopped=!0;var a=this.observers,b=a.length;a=a.slice();for(var d=0;d<b;d++)a[d].complete();
+this.observers.length=0};k.prototype.unsubscribe=function(){this.closed=this.isStopped=!0;this.observers=null};k.prototype._trySubscribe=function(b){if(this.closed)throw new c.ObjectUnsubscribedError;return a.prototype._trySubscribe.call(this,b)};k.prototype._subscribe=function(a){if(this.closed)throw new c.ObjectUnsubscribedError;if(this.hasError)return a.error(this.thrownError),n.Subscription.EMPTY;if(this.isStopped)return a.complete(),n.Subscription.EMPTY;this.observers.push(a);return new b.SubjectSubscription(this,
+a)};k.prototype.asObservable=function(){var a=new p.Observable;a.source=this;return a};k.create=function(a,b){return new g(a,b)};return k}(p.Observable);f.Subject=a;var g=function(a){function b(b,c){a.call(this);this.destination=b;this.source=c}q(b,a);b.prototype.next=function(a){var b=this.destination;b&&b.next&&b.next(a)};b.prototype.error=function(a){var b=this.destination;b&&b.error&&this.destination.error(a)};b.prototype.complete=function(){var a=this.destination;a&&a.complete&&this.destination.complete()};
+b.prototype._subscribe=function(a){return this.source?this.source.subscribe(a):n.Subscription.EMPTY};return b}(a);f.AnonymousSubject=g},function(h,f,a){f.errorObject={e:{}}},function(h,f,a){a.d(f,"a",function(){return e});var q=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),p=new Uint32Array(2),n=[];for(h=
+2;36>=h;++h){f=Math.floor(32/Math.log2(h));a=Math.pow(h,f);var c=Math.floor(f/2),b=Math.pow(h,c);c=Math.pow(h,f-c);var d="^[0-"+String.fromCharCode(48+Math.min(9,h-1));10<h&&(d+="a-"+String.fromCharCode(97+h-11),d+="A-"+String.fromCharCode(65+h-11));d+="]{1,"+Math.ceil(64/Math.log2(h))+"}$";n[h]={lowDigits:f,lowBase:a,lowBase1:b,lowBase2:c,pattern:new RegExp(d)}}var e=function(){function a(b,c){b=void 0===b?0:b;c=void 0===c?0:c;if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");
+this.low=b;this.high=c}q(a,[{key:"clone",value:function(){return new a(this.low,this.high)}},{key:"assign",value:function(a){this.low=a.low;this.high=a.high}},{key:"toString",value:function(a){a=void 0===a?10:a;var b=this.low,c=this.high;if(0===c)return b.toString(a);c*=4294967296;var d=n[a],e=d.lowBase;d=d.lowDigits;var g=c%e;c=Math.floor(c/e);b+=g;c+=Math.floor(b/e);b=(b%e).toString(a);return c.toString(a)+"0".repeat(d-b.length)+b}},{key:"tryParseString",value:function(a,b){b=void 0===b?10:b;var c=
+n[b],d=c.lowDigits,e=c.lowBase,g=c.lowBase1,k=c.lowBase2;if(!c.pattern.test(a))return!1;if(a.length<=d)return this.low=parseInt(a,b),this.high=0,!0;d=a.length-d;c=parseInt(a.substr(d),b);a=parseInt(a.substr(0,d),b);e=Math.floor(a*e/4294967296);g=c+a%4294967296*g%4294967296*k%4294967296;4294967296<=g&&(++e,g-=4294967296);if(g>>>0!==g||e>>>0!==e)return!1;this.low=g;this.high=e;return!0}},{key:"parseString",value:function(a,b){if(!this.tryParseString(a,void 0===b?10:b))throw Error("Failed to parse string as uint64 value: "+
+JSON.stringify(a)+".");return this}},{key:"valid",value:function(){var a=this.low,b=this.high;return a>>>0===a&&b>>>0===b}},{key:"toJSON",value:function(){return this.toString()}},{key:"lshift",value:function(b){b&=63;if(0==b)return this.clone();var c=this.low,d=this.high;return 32>b?new a(c<<b,d<<b|c>>>32-b):new a(0,c<<b-32)}},{key:"rshift",value:function(b){b&=63;if(0==b)return this.clone();var c=this.low,d=this.high;return 32>b?new a(c>>>b|d<<32-b,d>>b):new a(d>>b-32,0<=d?0:-1)}},{key:"or",value:function(b){return new a(this.low|
+b.low,this.high|b.high)}},{key:"xor",value:function(b){return new a(this.low^b.low,this.high^b.high)}},{key:"and",value:function(b){return new a(this.low&b.low,this.high&b.high)}}],[{key:"less",value:function(a,b){return a.high<b.high||a.high===b.high&&a.low<b.low}},{key:"compare",value:function(a,b){return a.high-b.high||a.low-b.low}},{key:"equal",value:function(a,b){return a.low===b.low&&a.high===b.high}},{key:"min",value:function(b,c){return a.less(b,c)?b:c}},{key:"random",value:function(){crypto.getRandomValues(p);
+return new a(p[0],p[1])}},{key:"parseString",value:function(b,c){c=void 0===c?10:c;return(new a).parseString(b,c)}}]);return a}();e.ZERO=new e(0,0)},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+
+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a,b){l.set(a,b)}f.e=c;f.d=function(a,d){c(a,function(a){var c=this,e=a.id,g=new b.b;a=d.call(this,a,g);this.set(e,{promise:a,cancellationToken:g});a.then(function(a){var b=a.value;a=a.transfers;c.delete(e);c.invoke("rpc.promise.response",{id:e,value:b},a)},function(a){c.delete(e);c.invoke("rpc.promise.response",
+{id:e,error:a.message,errorName:a.name})})})};a.d(f,"a",function(){return m});a.d(f,"b",function(){return r});a.d(f,"c",function(){return u});f.g=function(a){return function(b){b.prototype.RPC_TYPE_ID=a}};f.f=function(a){return function(b){if(void 0!==a)b.prototype.RPC_TYPE_ID=a;else if(a=b.prototype.RPC_TYPE_ID,void 0===a)throw Error("RPC_TYPE_ID should have already been defined");v.set(a,b)}};var b=a(32);h=a(1);var d=function y(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,
+b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return y(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},e=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),g=!("undefined"!==typeof Window&&self instanceof Window),l=new Map,k=function(a){function b(a,c){q(this,
+b);var d=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,c));d.name=a;d.message=c;return d}n(b,a);return b}(Error);c("rpc.promise.cancel",function(a){this.get(a.id).cancellationToken.cancel()});c("rpc.promise.response",function(a){var c=a.id,d=this.get(c),e=d.resolve;d=d.reject;this.delete(c);a.hasOwnProperty("value")?e(a.value):a.errorName===b.a.name?d(b.a):d(new k(a.errorName,a.error))});var t=g?-1:0,m=function(){function a(b){var c=this;q(this,a);this.target=b;this.objects=new Map;this.nextId=
+t;b.onmessage=function(a){a=a.data;l.get(a.functionName).call(c,a)}}e(a,[{key:"set",value:function(a,b){this.objects.set(a,b)}},{key:"delete",value:function(a){this.objects.delete(a)}},{key:"get",value:function(a){return this.objects.get(a)}},{key:"getRef",value:function(a){var b=this.get(a.id);b.referencedGeneration=a.gen;b.addRef();return b}},{key:"invoke",value:function(a,b,c){b.functionName=a;this.target.postMessage(b,c)}},{key:"promiseInvoke",value:function(a,c,d,e){var g=this;d=void 0===d?b.e:
+d;return Object(b.d)(d,function(b,d,m){var k=c.id=g.newId();g.set(k,{resolve:b,reject:d});g.invoke(a,c,e);m.add(function(){g.invoke("rpc.promise.cancel",{id:k})})})}},{key:"newId",value:function(){return g?this.nextId--:this.nextId++}},{key:"numObjects",get:function(){return this.objects.size}}]);return a}(),r=function(a){function b(){q(this,b);var a=p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments));a.rpc=null;a.rpcId=null;return a}n(b,a);e(b,[{key:"initializeSharedObject",value:function(a,
 b){b=void 0===b?a.newId():b;this.rpc=a;this.rpcId=b;this.isOwner=!1;a.set(b,this)}},{key:"initializeCounterpart",value:function(a,b){b=void 0===b?{}:b;this.initializeSharedObject(a);this.referencedGeneration=this.unreferencedGeneration=0;this.isOwner=!0;b.id=this.rpcId;b.type=this.RPC_TYPE_ID;a.invoke("SharedObject.new",b)}},{key:"dispose",value:function(){d(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"dispose",this).call(this)}},{key:"addCounterpartRef",value:function(){return{id:this.rpcId,
 gen:++this.referencedGeneration}}},{key:"refCountReachedZero",value:function(){!0===this.isOwner?this.referencedGeneration===this.unreferencedGeneration&&this.ownerDispose():!1===this.isOwner?this.rpc.invoke("SharedObject.refCountReachedZero",{id:this.rpcId,gen:this.referencedGeneration}):d(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"refCountReachedZero",this).call(this)}},{key:"ownerDispose",value:function(){var a=this.rpc,c=this.rpcId;d(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),
-"refCountReachedZero",this).call(this);a.delete(c);a.invoke("SharedObject.dispose",{id:c})}},{key:"counterpartRefCountReachedZero",value:function(a){this.unreferencedGeneration=a;0===this.refCount&&a===this.referencedGeneration&&this.ownerDispose()}}]);return b}(g.a),u=function(a){function b(a,c){c=void 0===c?{}:c;p(this,b);var d=n(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c=void 0===c?{}:c;null!=a&&d.initializeSharedObject(a,c.id);return d}m(b,a);return b}(l);c("SharedObject.dispose",
-function(a){a=this.get(a.id);if(0!==a.refCount)throw Error("Attempted to dispose object with non-zero reference count.");a.disposed();this.delete(a.rpcId);a.rpcId=null;a.rpc=null});c("SharedObject.refCountReachedZero",function(a){this.get(a.id).counterpartRefCountReachedZero(a.gen)});var A=new Map;c("SharedObject.new",function(a){--(new (A.get(a.type))(this,a)).refCount})},function(g,e,a){a.d(e,"a",function(){return f});var p=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=
-d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),n=new Uint32Array(2),m=[];for(g=2;36>=g;++g){e=Math.floor(32/Math.log2(g));a=Math.pow(g,e);var c=Math.floor(e/2),b=Math.pow(g,c);c=Math.pow(g,e-c);var d="^[0-"+String.fromCharCode(48+Math.min(9,g-1));10<g&&(d+="a-"+String.fromCharCode(97+g-11),d+="A-"+String.fromCharCode(65+g-11));d+="]{1,"+Math.ceil(64/Math.log2(g))+"}$";m[g]={lowDigits:e,
-lowBase:a,lowBase1:b,lowBase2:c,pattern:new RegExp(d)}}var f=function(){function a(b,c){b=void 0===b?0:b;c=void 0===c?0:c;if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");this.low=b;this.high=c}p(a,[{key:"clone",value:function(){return new a(this.low,this.high)}},{key:"assign",value:function(a){this.low=a.low;this.high=a.high}},{key:"toString",value:function(a){a=void 0===a?10:a;var b=this.low,c=this.high;if(0===c)return b.toString(a);c*=4294967296;var d=m[a],f=d.lowBase;
-d=d.lowDigits;var h=c%f;c=Math.floor(c/f);b+=h;c+=Math.floor(b/f);b=(b%f).toString(a);return c.toString(a)+"0".repeat(d-b.length)+b}},{key:"tryParseString",value:function(a,b){b=void 0===b?10:b;var c=m[b],d=c.lowDigits,f=c.lowBase,h=c.lowBase1,k=c.lowBase2;if(!c.pattern.test(a))return!1;if(a.length<=d)return this.low=parseInt(a,b),this.high=0,!0;d=a.length-d;c=parseInt(a.substr(d),b);a=parseInt(a.substr(0,d),b);f=Math.floor(a*f/4294967296);h=c+a%4294967296*h%4294967296*k%4294967296;4294967296<h&&
-(++f,h-=4294967296);if(h>>>0!==h||f>>>0!==f)return!1;this.low=h;this.high=f;return!0}},{key:"parseString",value:function(a,b){if(!this.tryParseString(a,void 0===b?10:b))throw Error("Failed to parse string as uint64 value: "+JSON.stringify(a)+".");return this}},{key:"valid",value:function(){var a=this.low,b=this.high;return a>>>0===a&&b>>>0===b}},{key:"toJSON",value:function(){return this.toString()}},{key:"lshift",value:function(b){b&=63;if(0==b)return this.clone();var c=this.low,d=this.high;return 32>
-b?new a(c<<b,d<<b|c>>>32-b):new a(0,c<<b-32)}},{key:"rshift",value:function(b){b&=63;if(0==b)return this.clone();var c=this.low,d=this.high;return 32>b?new a(c>>>b|d<<32-b,d>>b):new a(d>>b-32,0<=d?0:-1)}},{key:"or",value:function(b){return new a(this.low|b.low,this.high|b.high)}},{key:"xor",value:function(b){return new a(this.low^b.low,this.high^b.high)}},{key:"and",value:function(b){return new a(this.low&b.low,this.high&b.high)}}],[{key:"less",value:function(a,b){return a.high<b.high||a.high===b.high&&
-a.low<b.low}},{key:"compare",value:function(a,b){return a.high-b.high||a.low-b.low}},{key:"equal",value:function(a,b){return a.low===b.low&&a.high===b.high}},{key:"min",value:function(b,c){return a.less(b,c)?b:c}},{key:"random",value:function(){crypto.getRandomValues(n);return new a(n[0],n[1])}},{key:"parseString",value:function(b,c){c=void 0===c?10:c;return(new a).parseString(b,c)}}]);return a}();f.ZERO=new f(0,0)},function(g,e,a){g=a(58);a=a(59);e.async=new a.AsyncScheduler(g.AsyncAction)},function(g,
-e,a){a.d(e,"i",function(){return m});e.q=function(a){return(a[3]+1/256*a[2]+1/65536*a[1]+1/16777216*a[0])/256};a.d(e,"g",function(){return c});a.d(e,"f",function(){return f});a.d(e,"h",function(){return h});a.d(e,"d",function(){return q});e.p=function(a,b){for(var c=0;4>c;++c)a[c]=(b>>8*c&255)/255;return a};e.a=function(a,b){b=void 0===b?1:b;switch(a){case p.b.FLOAT32:if(1===b)return"float";if(1<b&&4>b)return"vec"+b;break;case p.b.UINT8:if(1===b)return"uint8_t";if(1<b&&4>b)return"uint8x"+b+"_t";break;
-case p.b.UINT16:if(1===b)return"uint16_t";if(2===b)return"uint16x2_t";break;case p.b.UINT32:if(1===b)return"uint32_t";break;case p.b.UINT64:if(1===b)return"uint64_t"}throw Error("No shader type for "+p.b[a]+"["+b+"].");};var p=a(42),n=a(222),m="\nvec4 packFloat01ToFixedPoint(const float value) {\n  const vec4 shift = vec4(256.0 * 256.0 * 256.0, 256.0 * 256.0, 256.0, 1.0);\n  const vec4 mask = vec4(0.0, 1.0 / 256.0, 1.0 / 256.0, 1.0 / 256.0);\n  vec4 result = fract(value * shift);\n  result -= result.xxyz * mask;\n  return result * 256.0 / 255.0;\n}\n",
-c="\nvec3 hueToRgb(float hue) {\n  float hue6 = hue * 6.0;\n  float r = abs(hue6 - 3.0) - 1.0;\n  float g = 2.0 - abs(hue6 - 2.0);\n  float b = 2.0 - abs(hue6 - 4.0);\n  return clamp(vec3(r, g, b), 0.0, 1.0);\n}\nvec3 hsvToRgb(vec3 c) {\n  vec3 hueRgb = hueToRgb(c.x);\n  return c.z * ((hueRgb - 1.0) * c.y + 1.0);\n}\n";g=["float","vec2","vec3","vec4"].map(function(a){return"\n"+a+" unnormalizeUint8("+a+" value) {\n  return floor(value * 255.0 + 0.5);\n}\n"}).join("");e.o=g;var b=[g,"\nfloat uintleToFloat(float v) {\n  return unnormalizeUint8(v);\n}\nfloat uintleToFloat(vec2 v) {\n  v = unnormalizeUint8(v);\n  return v.x + v.y * 256.0;\n}\nfloat uintleToFloat(vec3 v) {\n  v = unnormalizeUint8(v);\n  return v.x + v.y * 256.0 + v.z * 256.0 * 256.0;\n}\n"];
-e.n=b;var d=[g,"\nfloat uintbeToFloat(float v) {\n  return unnormalizeUint8(v);\n}\nfloat uintbeToFloat(vec2 v) {\n  v = unnormalizeUint8(v);\n  return v.y + v.x * 256.0;\n}\nfloat uintbeToFloat(vec3 v) {\n  v = unnormalizeUint8(v);\n  return v.z + v.y * 256.0 + v.x * 256.0 * 256.0;\n}\n"];(function(){var a=n.a===n.b.BIG?"be":"le";return[n.a===n.b.BIG?d:b,"\nfloat uintToFloat(float v) {\n  return uint"+a+"ToFloat(v);\n}\nfloat uintToFloat(vec2 v) {\n  return uint"+a+"ToFloat(v);\n}\nfloat uintToFloat(vec3 v) {\n  return uint"+
-a+"ToFloat(v);\n}\n"]})();e.l="\nstruct uint64_t {\n  vec4 low, high;\n};\nuint64_t toUint64(uint64_t x) { return x; }\n";e.m=[g,"\nstruct uint64_t {\n  vec4 low, high;\n};\nuint64_t toUint64(uint64_t x) { return x; }\n","\nstruct uint8_t {\n  float value;\n};\nstruct uint8x2_t {\n  vec2 value;\n};\nstruct uint8x3_t {\n  vec3 value;\n};\nstruct uint8x4_t {\n  vec4 value;\n};\nfloat toRaw(uint8_t x) { return unnormalizeUint8(x.value); }\nfloat toNormalized(uint8_t x) { return x.value; }\nvec2 toRaw(uint8x2_t x) { return unnormalizeUint8(x.value); }\nvec2 toNormalized(uint8x2_t x) { return x.value; }\nvec3 toRaw(uint8x3_t x) { return unnormalizeUint8(x.value); }\nvec3 toNormalized(uint8x3_t x) { return x.value; }\nvec4 toRaw(uint8x4_t x) { return unnormalizeUint8(x.value); }\nvec4 toNormalized(uint8x4_t x) { return x.value; }\nuint64_t toUint64(uint8_t x) {\n  uint64_t result;\n  result.low = vec4(x.value, 0.0, 0.0, 0.0);\n  result.high = vec4(0.0, 0.0, 0.0, 0.0);\n  return result;\n}\n"];
-e.e="\nfloat toRaw(float x) { return x; }\nfloat toNormalized(float x) { return x; }\nvec2 toRaw(vec2 x) { return x; }\nvec2 toNormalized(vec2 x) { return x; }\nvec3 toRaw(vec3 x) { return x; }\nvec3 toNormalized(vec3 x) { return x; }\nvec4 toRaw(vec4 x) { return x; }\nvec4 toNormalized(vec4 x) { return x; }\n";e.j=["\nstruct uint64_t {\n  vec4 low, high;\n};\nuint64_t toUint64(uint64_t x) { return x; }\n",b,"\nstruct uint16_t {\n  vec2 value;\n};\nstruct uint16x2_t {\n  vec4 value;\n};\nfloat toRaw(uint16_t x) { return uintleToFloat(x.value); }\nfloat toNormalized(uint16_t x) { return toRaw(x) / 65535.0; }\nvec2 toRaw(uint16x2_t x) { return vec2(uintleToFloat(x.value.xy), uintleToFloat(x.value.zw)); }\nvec2 toNormalized(uint16x2_t x) { return toRaw(x) / 65535.0; }\nuint64_t toUint64(uint16_t x) {\n  uint64_t result;\n  result.low = vec4(x.value, 0.0, 0.0);\n  result.high = vec4(0.0, 0.0, 0.0, 0.0);\n  return result;\n}\n"];
-g=["\nstruct uint64_t {\n  vec4 low, high;\n};\nuint64_t toUint64(uint64_t x) { return x; }\n","\nstruct uint32_t {\n  vec4 value;\n};\nuint64_t toUint64(uint32_t x) {\n  uint64_t result;\n  result.low = x.value;\n  result.high = vec4(0.0, 0.0, 0.0, 0.0);\n  return result;\n}\n"];e.k=g;var f=["\nvec3 getSubscriptsFromNormalized(vec3 normalizedPosition, vec3 size) {\n  return floor(min(normalizedPosition * size, size - 1.0));\n}\n","\nfloat getFortranOrderIndex(vec3 subscripts, vec3 size) {\n  return subscripts.x + size.x * (subscripts.y + size.y * subscripts.z);\n}\n",
-"\nfloat getFortranOrderIndexFromNormalized(vec3 normalizedPosition, vec3 size) {\n  return getFortranOrderIndex(getSubscriptsFromNormalized(normalizedPosition, size), size);\n}\n"],h="\nfloat imod(float x, float y) {\n  return x - y * floor(x / y);\n}\n",q="\nfloat exactDot(vec4 a, vec4 b) {\n  return a[0] * b[0] + a[1] * b[1] + a[2] * b[2] + a[3] * b[3];\n}\nfloat exactDot(vec3 a, vec3 b) {\n  return a[0] * b[0] + a[1] * b[1] + a[2] * b[2];\n}\n";e.b=[g,"\nuint32_t add(uint32_t a, uint32_t b) {\n  uint32_t result;\n  float partial = 0.0;\n\n  partial += a.value.x * 255.0 + b.value.x * 255.0;\n  {\n    float byte0 = mod(partial, 256.0);\n    result.value.x = byte0 / 255.0;\n    partial = (partial - byte0) / 256.0;\n  }\n\n  partial += a.value.y * 255.0 + b.value.y * 255.0;\n  {\n    float byte1 = mod(partial, 256.0);\n    result.value.y = byte1 / 255.0;\n    partial = (partial - byte1) / 256.0;\n  }\n\n  partial += a.value.z * 255.0 + b.value.z * 255.0;\n  {\n    float byte2 = mod(partial, 256.0);\n    result.value.z = byte2 / 255.0;\n    partial = (partial - byte2) / 256.0;\n  }\n\n  partial += a.value.w * 255.0 + b.value.w * 255.0;\n  {\n    float byte3 = mod(partial, 256.0);\n    result.value.w = byte3 / 255.0;\n    partial = (partial - byte3) / 256.0;\n  }\n  return result;\n}\n"];
-e.c=[g,"\nfloat divmod(uint32_t dividend, float divisor, out uint32_t quotient) {\n\n  float partial = dividend.value.w * 255.0;\n  float remainder;\n\n  remainder = mod(partial, divisor);\n  quotient.value.w = (partial - remainder) / divisor / 255.0;\n  partial = remainder * 256.0 + dividend.value.z * 255.0;\n\n  remainder = mod(partial, divisor);\n  quotient.value.z = (partial - remainder) / divisor / 255.0;\n  partial = remainder * 256.0 + dividend.value.y * 255.0;\n\n  remainder = mod(partial, divisor);\n  quotient.value.y = (partial - remainder) / divisor / 255.0;\n  partial = remainder * 256.0 + dividend.value.x * 255.0;\n\n  remainder = mod(partial, divisor);\n  quotient.value.x = (partial - remainder) / divisor / 255.0;\n\n  return remainder;\n}\n"]},
-function(g,e,a){function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(e,"d",function(){return d});a.d(e,"c",function(){return f});var n=a(65),m=a(42),c=a(3);a.d(e,"a",function(){return m.b});var b=function(){function a(a,b){for(var c=0;c<
-b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),d;(function(a){a[a.UNKNOWN=0]="UNKNOWN";a[a.IMAGE=1]="IMAGE";a[a.SEGMENTATION=2]="SEGMENTATION"})(d||(d={}));var f=function(a){function f(a){if(!(this instanceof f))throw new TypeError("Cannot call a class as a function");var b=(f.__proto__||Object.getPrototypeOf(f)).call(this,a);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
-b=!b||"object"!==typeof b&&"function"!==typeof b?this:b;var d=b.dataType=a.dataType,l=b.numChannels=a.numChannels;b.chunkBytes=Object(c.k)(a.chunkDataSize)*m.a[d]*l;b.compressedSegmentationBlockSize=a.compressedSegmentationBlockSize;return b}p(f,a);b(f,[{key:"toObject",value:function(){return{transform:this.chunkLayout.transform,numChannels:this.numChannels,chunkDataSize:this.chunkDataSize,voxelSize:this.voxelSize,dataType:this.dataType,lowerVoxelBound:this.lowerVoxelBound,upperVoxelBound:this.upperVoxelBound,
-lowerClipBound:this.lowerClipBound,upperClipBound:this.upperClipBound,baseVoxelOffset:this.baseVoxelOffset,compressedSegmentationBlockSize:this.compressedSegmentationBlockSize}}}],[{key:"make",value:function(a){return new f(Object.assign({},a,{transform:Object(n.e)(a.transform,a.volumeSourceOptions)}))}},{key:"fromObject",value:function(a){return new f(a)}},{key:"withDefaultCompression",value:function(a){var b=a.compressedSegmentationBlockSize,c=a.dataType,l=a.voxelSize,h=a.transform,k=a.lowerVoxelBound,
-q=a.upperVoxelBound;h=Object(n.e)(h,a.volumeSourceOptions);void 0!==b||a.volumeType!==d.SEGMENTATION||c!==m.b.UINT32&&c!==m.b.UINT64||(b=Object(n.f)({voxelSize:l,transform:h,lowerVoxelBound:k,upperVoxelBound:q,maxVoxelsPerChunkLog2:9}));return new f(Object.assign({},a,{compressedSegmentationBlockSize:b,transform:h}))}},{key:"getDefaults",value:function(a){var b=Object.assign({},a,{transform:Object(n.e)(a.transform,a.volumeSourceOptions)});return(void 0===a.chunkDataSizes?Object(n.d)(b):a.chunkDataSizes).map(function(b){return f.withDefaultCompression(Object.assign({},
-a,{chunkDataSize:b}))})}}]);return f}(n.c);e.b="volume/RenderLayer"},function(g,e,a){function p(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function n(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function m(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&
-b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a,b,c,d){d=void 0===d?{}:d;return f.a.forPromise(new Promise(function(f){f(a.getVolume(b,c,d))}),{initialMessage:"Retrieving metadata for volume "+c+".",delay:!0,errorPrefix:"Error retrieving metadata for volume "+c+": "})}e.d=c;a.d(e,"b",function(){return t});a.d(e,"c",function(){return r});a.d(e,"a",function(){return l});e.e=function(a,b){u.set(a,
-b)};e.f=function(a,b){A.set(a,b)};var b=a(21),d=a(19),f=a(40);g=a(1);var h=a(6),q=a(7),k=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),t=function(a){function b(a,c,d){p(this,b);a=n(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a));a.initialSpecification=c;a.manager=d;return a}m(b,a);k(b,[{key:"toJSON",
-value:function(){var a=this.layer;if(!a)return this.initialSpecification;a=a.toJSON();this.visible||(a.visible=!1);return a}}]);return b}(b.c),r=function(a){function b(a,c,d,f,l){p(this,b);var h=n(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));h.dataSourceProvider=a;h.layerManager=c;h.chunkManager=d;h.layerSelectedValues=f;h.voxelSize=l;h.changed=new q.a;h.voxelCoordinatesSet=new q.b;h.registerDisposer(c.layersChanged.add(h.changed.dispatch));h.registerDisposer(c.specificationChanged.add(h.changed.dispatch));
-return h}m(b,a);k(b,[{key:"reset",value:function(){this.layerManager.clear()}},{key:"restoreState",value:function(a){Object(h.u)(a);this.layerManager.clear();for(var b=$jscomp.makeIterator(Object.keys(a)),c=b.next();!c.done;c=b.next())c=c.value,this.layerManager.addManagedLayer(this.getLayer(c,a[c]))}},{key:"initializeLayerFromSpec",value:function(a,b){var f=this;a.initialSpecification=b;"string"===typeof b&&(b={source:b});Object(h.u)(b);var l=Object(h.w)(b,"type",h.z);a.visible=Object(h.w)(b,"visible",
-function(a){if(void 0===a||!0===a)return!0;if(!1===a)return!1;throw Error("Expected boolean, but received: "+JSON.stringify(a)+".");});var k=a.sourceUrl=Object(h.w)(b,"source",h.z);if(void 0===l){if(void 0===k)throw Error("Either layer 'type' or 'source' URL must be specified.");c(this.dataSourceProvider,this.chunkManager,k).then(function(c){if(-1!==f.layerManager.managedLayers.indexOf(a)){var l=A.get(c.volumeType);if(void 0!==l)a.layer=new l(f,b);else throw Error("Unsupported volume type: "+d.d[c.volumeType]+
-".");}})}else if(k=u.get(l),void 0!==k)a.layer=new k(this,b);else throw Error("Unsupported layer type: "+JSON.stringify(l)+".");}},{key:"getLayer",value:function(a,b){a=new t(a,b,this);this.initializeLayerFromSpec(a,b);return a}},{key:"add",value:function(a,b){this.layerManager.addManagedLayer(a,b)}},{key:"toJSON",value:function(){for(var a={},b=0,c=$jscomp.makeIterator(this.layerManager.managedLayers),d=c.next();!d.done;d=c.next()){d=d.value;var f=d.toJSON();null!=f&&(a[d.name]=f,++b)}if(0!==b)return a}},
-{key:"setVoxelCoordinates",value:function(a){this.voxelCoordinatesSet.dispatch(a)}},{key:"worker",get:function(){return this.chunkManager.rpc}},{key:"rpc",get:function(){return this.chunkManager.rpc}},{key:"rootLayers",get:function(){return this.layerManager}}]);return b}(g.a),l=function(a){function c(a){p(this,c);var d=n(this,(c.__proto__||Object.getPrototypeOf(c)).call(this));d.master=a;d.changed=new q.a;d.layerManager=new b.a;d.registerDisposer(a);a=d.layerManager;d.registerDisposer(a.layersChanged.add(d.changed.dispatch));
-d.registerDisposer(a.specificationChanged.add(d.changed.dispatch));return d}m(c,a);k(c,[{key:"reset",value:function(){this.layerManager.clear()}},{key:"restoreState",value:function(a){var b=this.master.layerManager,c=[];a=$jscomp.makeIterator(new Set(Object(h.a)(a,h.B)));for(var d=a.next();!d.done;d=a.next()){d=d.value;var f=b.getLayerByName(d);if(void 0===f)throw Error("Undefined layer referenced in subset specification: "+JSON.stringify(d));c.push(f)}this.layerManager.clear();b=$jscomp.makeIterator(c);
-for(c=b.next();!c.done;c=b.next())this.layerManager.addManagedLayer(c.value.addRef())}},{key:"toJSON",value:function(){return this.layerManager.managedLayers.map(function(a){return a.name})}},{key:"initializeLayerFromSpec",value:function(a,b){this.master.initializeLayerFromSpec(a,b)}},{key:"getLayer",value:function(a,b){return this.master.getLayer(a,b)}},{key:"add",value:function(a,b){-1===this.master.layerManager.managedLayers.indexOf(a)&&(a.name=this.master.layerManager.getUniqueLayerName(a.name),
-this.master.layerManager.addManagedLayer(a.addRef()));this.layerManager.addManagedLayer(a,b)}},{key:"setVoxelCoordinates",value:function(a){this.master.setVoxelCoordinates(a)}},{key:"voxelCoordinatesSet",get:function(){return this.master.voxelCoordinatesSet}},{key:"worker",get:function(){return this.master.rpc}},{key:"rpc",get:function(){return this.master.rpc}},{key:"dataSourceProvider",get:function(){return this.master.dataSourceProvider}},{key:"chunkManager",get:function(){return this.master.chunkManager}},
-{key:"voxelSize",get:function(){return this.master.voxelSize}},{key:"layerSelectedValues",get:function(){return this.master.layerSelectedValues}},{key:"rootLayers",get:function(){return this.master.rootLayers}}]);return c}(g.a),u=new Map,A=new Map},function(g,e,a){function p(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function n(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==
-typeof b?a:b}function m(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(e,"e",function(){return l});a.d(e,"h",function(){return u});a.d(e,"g",function(){return A});a.d(e,"f",function(){return y});a.d(e,"c",function(){return z});a.d(e,"a",function(){return B});
-a.d(e,"d",function(){return x});a.d(e,"b",function(){return v});e.i=function(a,b,c){return c.registerDisposer(new E(a,b,function(a){var b=a.redrawNeeded.add(function(){return c.scheduleRedraw()});c.scheduleRedraw();return function(){b();c.scheduleRedraw()}},c.visibility))};g=a(24);var c=a.n(g);g=a(219);var b=a.n(g);g=a(1);var d=a(3),f=a(7),h=a(220),q=a(16),k=a(49),t=function C(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),
-null!==a)return C(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},r=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),l=function(a){function b(){p(this,b);var a=n(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments));a.ready=!1;a.layerChanged=new f.a;a.redrawNeeded=
-new f.a;a.readyStateChanged=new f.a;a.voxelSize=null;a.boundingBox=null;return a}m(b,a);r(b,[{key:"setReady",value:function(a){this.ready=a;this.readyStateChanged.dispatch();this.layerChanged.dispatch()}},{key:"handleAction",value:function(a){}},{key:"getValueAt",value:function(a){}},{key:"transformPickedValue",value:function(a,b){return a}},{key:"updateMouseState",value:function(a,b,c){}}]);return b}(g.a),u=function(a){function b(){p(this,b);var a=n(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,
-arguments));a.visibility=new k.a;return a}m(b,a);return b}(l),A=function(a){function b(){p(this,b);return n(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}m(b,a);r(b,[{key:"onShow",value:function(){}},{key:"onHide",value:function(){}}]);return b}(g.a),y=function(a){function b(a){a=void 0===a?[]:a;p(this,b);var c=n(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.layersChanged=new f.a;c.readyStateChanged=new f.a;c.specificationChanged=new f.a;c.renderLayers=[];a.forEach(c.addRenderLayer.bind(c));
-return c}m(b,a);r(b,[{key:"addRenderLayer",value:function(a){this.renderLayers.push(a);var b=this.layersChanged,c=this.readyStateChanged;this.registerDisposer(a);this.registerDisposer(a.layerChanged.add(b.dispatch));this.registerDisposer(a.readyStateChanged.add(c.dispatch));c.dispatch();b.dispatch()}},{key:"getValueAt",value:function(a,b){var c=this.renderLayers,d=b.pickedRenderLayer;if(null!==d&&-1!==c.indexOf(d)){var f=d.transformPickedValue(b.pickedValue,b.pickedOffset);return this.transformPickedValue(f)}b=
-$jscomp.makeIterator(c);for(c=b.next();!c.done&&(c=c.value,!c.ready||(f=c.getValueAt(a),void 0===f));c=b.next());return this.transformPickedValue(f)}},{key:"transformPickedValue",value:function(a){return a}},{key:"toJSON",value:function(){return null}},{key:"makeDropdown",value:function(a){}},{key:"handleAction",value:function(a){}}]);return b}(g.a),z=function(a){function b(a,c,d){c=void 0===c?null:c;d=void 0===d?!0:d;p(this,b);var l=n(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));l.name=
-a;l.visible=d;l.readyStateChanged=new f.a;l.layerChanged=new f.a;l.specificationChanged=new f.a;l.wasDisposed=!1;l.layer_=null;l.layer=c;return l}m(b,a);r(b,[{key:"handleLayerChanged",value:function(){this.visible&&this.layerChanged.dispatch()}},{key:"setVisible",value:function(a){a!==this.visible&&(this.visible=a,this.layerChanged.dispatch())}},{key:"disposed",value:function(){this.wasDisposed=!0;this.layer=null;t(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"disposed",this).call(this)}},
-{key:"layer",get:function(){return this.layer_},set:function(a){var b=this,c=this.layer_;null!=c&&(this.unregisterUserLayer(),c.dispose());this.layer_=a;if(null!=a){var d=[a.layersChanged.add(function(){return b.handleLayerChanged()}),a.readyStateChanged.add(this.readyStateChanged.dispatch),a.specificationChanged.add(this.specificationChanged.dispatch)];this.unregisterUserLayer=function(){d.forEach(function(a){return a()})};this.readyStateChanged.dispatch();this.handleLayerChanged()}}}]);return b}(g.a),
-B=function(a){function b(){p(this,b);var a=n(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));a.managedLayers=[];a.layersChanged=new f.a;a.readyStateChanged=new f.a;a.specificationChanged=new f.a;a.boundPositions=new WeakSet;a.numDirectUsers=0;a.scheduleRemoveLayersWithSingleRef=a.registerCancellable(c()(function(){return a.removeLayersWithSingleRef()},0));a.layersChanged.add(a.scheduleRemoveLayersWithSingleRef);return a}m(b,a);r(b,[{key:"filter",value:function(a){var b=this,c=!1;this.managedLayers=
-this.managedLayers.filter(function(d){return a(d)?!0:(b.unbindManagedLayer(d),c=!0,!1)});c&&this.layersChanged.dispatch()}},{key:"removeLayersWithSingleRef",value:function(){0<this.numDirectUsers||this.filter(function(a){return 1!==a.refCount})}},{key:"updateSignalBindings",value:function(a,b){b(a.layerChanged,this.layersChanged.dispatch);b(a.readyStateChanged,this.readyStateChanged.dispatch);b(a.specificationChanged,this.specificationChanged.dispatch)}},{key:"useDirectly",value:function(){var a=
-this;1===++this.numDirectUsers&&this.layersChanged.remove(this.scheduleRemoveLayersWithSingleRef);return function(){0===--a.numDirectUsers&&(a.layersChanged.add(a.scheduleRemoveLayersWithSingleRef),a.scheduleRemoveLayersWithSingleRef())}}},{key:"addManagedLayer",value:function(a,b){this.updateSignalBindings(a,h.a);void 0===b&&(b=this.managedLayers.length);this.managedLayers.splice(b,0,a);this.layersChanged.dispatch();this.readyStateChanged.dispatch();return a}},{key:"addUserLayer",value:function(a,
-b,c){a=new z(a,b,c);return this.addManagedLayer(a)}},{key:"readyRenderLayers",value:function(){function a(a,u){for(;;)switch(b){case 0:k=$jscomp.makeIterator(r.managedLayers),h=k.next();case 1:if(h.done){b=3;break}l=h.value;if(l.visible&&l.layer){b=4;break}b=2;break;case 4:f=$jscomp.makeIterator(l.layer.renderLayers),d=f.next();case 5:if(d.done){b=7;break}c=d.value;if(c.ready){b=8;break}b=6;break;case 8:return b=9,{value:c,done:!1};case 9:if(void 0===u){b=10;break}b=-1;throw u;case 10:case 6:d=f.next();
-b=5;break;case 7:case 2:h=k.next();b=1;break;case 3:b=-1;default:return{value:void 0,done:!0}}}var b=0,c,d,f,l,h,k,r=this,u={next:function(b){return a(b,void 0)},throw:function(b){return a(void 0,b)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();u[Symbol.iterator]=function(){return this};return u}},{key:"unbindManagedLayer",value:function(a){this.updateSignalBindings(a,h.b);a.dispose()}},{key:"clear",value:function(){for(var a=$jscomp.makeIterator(this.managedLayers),
-b=a.next();!b.done;b=a.next())this.unbindManagedLayer(b.value);this.managedLayers.length=0;this.layersChanged.dispatch()}},{key:"remove",value:function(a){this.unbindManagedLayer(this.managedLayers[a]);this.managedLayers.splice(a,1);this.layersChanged.dispatch()}},{key:"removeManagedLayer",value:function(a){a=this.managedLayers.indexOf(a);if(-1===a)throw Error("Internal error: invalid managed layer.");this.remove(a)}},{key:"reorderManagedLayer",value:function(a,b){var c=this.managedLayers.length;
-a===b||0>a||a>=c||0>b||b>=c||(a=$jscomp.makeIterator(this.managedLayers.splice(a,1)).next().value,this.managedLayers.splice(b,0,a),this.layersChanged.dispatch())}},{key:"disposed",value:function(){this.clear();t(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"disposed",this).call(this)}},{key:"getLayerByName",value:function(a){return this.managedLayers.find(function(b){return b.name===a})}},{key:"getUniqueLayerName",value:function(a){for(var b=a,c=0;void 0!==this.getLayerByName(b);)b=a+
-++c;return b}},{key:"has",value:function(a){return-1!==this.managedLayers.indexOf(a)}},{key:"initializePosition",value:function(a){var b=this,d=this.boundPositions;d.has(a)||(d.add(a),d=c()(function(){b.updatePositionFromLayers(a)}),this.readyStateChanged.add(d),a.changed.add(d),this.updatePositionFromLayers(a))}},{key:"updatePositionFromLayers",value:function(a){if(!a.valid)for(var b=$jscomp.makeIterator(this.managedLayers),c=b.next();!c.done;c=b.next())if(c=c.value.layer,null!=c){c=$jscomp.makeIterator(c.renderLayers);
-for(var f=c.next();!f.done;f=c.next())if(f=f.value,f.ready&&(a.voxelSize.valid||null==f.voxelSize||(d.p.copy(a.voxelSize.size,f.voxelSize),a.voxelSize.setValid()),!a.spatialCoordinatesValid&&!a.voxelCoordinatesValid&&null!=f.boundingBox)){f=f.boundingBox;var l=a.spatialCoordinates;d.p.add(l,f.lower,f.upper);d.p.scale(l,l,.5);a.spatialCoordinatesValid=!0;a.changed.dispatch()}}}},{key:"invokeAction",value:function(a){for(var b=$jscomp.makeIterator(this.managedLayers),c=b.next();!c.done;c=b.next())if(c=
-c.value,null!==c.layer&&c.visible){c=c.layer;c.handleAction(a);c=$jscomp.makeIterator(c.renderLayers);for(var d=c.next();!d.done;d=c.next())d=d.value,d.ready&&d.handleAction(a)}}},{key:"renderLayers",get:function(){var a=this;$jscomp.initSymbol();$jscomp.initSymbolIterator();var b={};return b[Symbol.iterator]=function(){function b(b,r){for(;;)switch(c){case 0:u=$jscomp.makeIterator(a.managedLayers),k=u.next();case 1:if(k.done){c=3;break}h=k.value;if(null!==h.layer){c=4;break}c=2;break;case 4:l=$jscomp.makeIterator(h.layer.renderLayers),
-f=l.next();case 5:if(f.done){c=7;break}d=f.value;c=8;return{value:d,done:!1};case 8:if(void 0===r){c=9;break}c=-1;throw r;case 9:case 6:f=l.next();c=5;break;case 7:case 2:k=u.next();c=1;break;case 3:c=-1;default:return{value:void 0,done:!0}}}var c=0,d,f,l,h,k,u,r={next:function(a){return b(a,void 0)},throw:function(a){return b(void 0,a)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();r[Symbol.iterator]=function(){return this};return r},b}},{key:"visibleRenderLayers",
-get:function(){var a=this;$jscomp.initSymbol();$jscomp.initSymbolIterator();var b={};return b[Symbol.iterator]=function(){function b(b,u){for(;;)switch(c){case 0:r=$jscomp.makeIterator(a.managedLayers),k=r.next();case 1:if(k.done){c=3;break}h=k.value;if(null!==h.layer&&h.visible){c=4;break}c=2;break;case 4:l=$jscomp.makeIterator(h.layer.renderLayers),f=l.next();case 5:if(f.done){c=7;break}d=f.value;c=8;return{value:d,done:!1};case 8:if(void 0===u){c=9;break}c=-1;throw u;case 9:case 6:f=l.next();c=
-5;break;case 7:case 2:k=r.next();c=1;break;case 3:c=-1;default:return{value:void 0,done:!0}}}var c=0,d,f,l,h,k,r,u={next:function(a){return b(a,void 0)},throw:function(a){return b(void 0,a)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();u[Symbol.iterator]=function(){return this};return u},b}}]);return b}(g.a),x=function(){function a(){var c=this;p(this,a);this.changed=new f.a;this.position=d.p.create();this.active=!1;this.pickedRenderLayer=null;this.pickedValue=
-new q.a(0,0);this.pickedOffset=0;this.updater=void 0;this.stale=!1;this.triggerUpdate=b()(function(){c.update()},50,{leading:!0,trailing:!0})}r(a,[{key:"updateUnconditionally",value:function(){this.triggerUpdate.cancel();this.update();return this.active}},{key:"updateIfStale",value:function(){this.stale&&this.update()}},{key:"update",value:function(){var a=this.updater;this.stale=!1;a?this.setActive(a(this)):this.setActive(!1)}},{key:"setActive",value:function(a){this.stale=!1;if(this.active!==a||
-!0===a)this.active=a,this.changed.dispatch()}}]);return a}(),v=function(a){function b(a,c){p(this,b);var d=n(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));d.layerManager=a;d.mouseState=c;d.values=new Map;d.changed=new f.a;d.needsUpdate=!0;d.registerDisposer(c.changed.add(function(){d.handleChange()}));d.registerDisposer(a.layersChanged.add(function(){d.handleLayerChange()}));return d}m(b,a);r(b,[{key:"handleLayerChange",value:function(){this.mouseState.active&&this.handleChange()}},{key:"handleChange",
-value:function(){this.needsUpdate=!0;this.changed.dispatch()}},{key:"update",value:function(){if(this.needsUpdate){this.needsUpdate=!1;var a=this.values,b=this.mouseState;a.clear();if(b.active)for(var c=b.position,d=$jscomp.makeIterator(this.layerManager.managedLayers),f=d.next();!f.done;f=d.next()){f=f.value;var l=f.layer;f.visible&&l&&a.set(l,l.getValueAt(c,b))}}}},{key:"get",value:function(a){this.update();return this.values.get(a)}},{key:"toJSON",value:function(){this.update();for(var a={},b=
-this.values,c=$jscomp.makeIterator(this.layerManager.managedLayers),d=c.next();!d.done;d=c.next()){d=d.value;var f=d.layer;f&&(f=b.get(f),void 0!==f&&(f instanceof q.a&&(f={t:"u64",v:f}),a[d.name]=f))}return a}}]);return b}(g.a),E=function(a){function c(a,d,f,l){p(this,c);var h=n(this,(c.__proto__||Object.getPrototypeOf(c)).call(this));h.layerManager=a;h.renderLayerType=d;h.layerAdded=f;h.visibility=l;h.visibleLayers=new Map;h.newVisibleLayers=new Set;h.throttledUpdateVisibleLayers=b()(function(){h.updateVisibleLayers()},
-0);h.registerDisposer(a.layersChanged.add(function(){h.handleLayersChanged()}));h.updateVisibleLayers();return h}m(c,a);r(c,[{key:"handleLayersChanged",value:function(){this.throttledUpdateVisibleLayers()}},{key:"disposed",value:function(){this.throttledUpdateVisibleLayers.cancel();this.visibleLayers.forEach(function(a){return a()});this.visibleLayers.clear();t(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"disposed",this).call(this)}},{key:"updateVisibleLayers",value:function(){for(var a=
-this.visibleLayers,b=this.newVisibleLayers,c=this.renderLayerType,d=this.layerAdded,f={},l=$jscomp.makeIterator(this.layerManager.readyRenderLayers()),h=l.next();!h.done;f={disposer:f.disposer,visibilityDisposer:f.visibilityDisposer,typedLayer:f.typedLayer},h=l.next())h=h.value,h instanceof c&&(f.typedLayer=h,b.add(f.typedLayer),a.has(f.typedLayer)||(f.visibilityDisposer=f.typedLayer.visibility.add(this.visibility),f.disposer=d(f.typedLayer),a.set(f.typedLayer.addRef(),function(a){return function(){a.disposer();
-a.visibilityDisposer();a.typedLayer.dispose()}}(f))));c=$jscomp.makeIterator(a);for(d=c.next();!d.done;d=c.next())f=$jscomp.makeIterator(d.value),d=f.next().value,f=f.next().value,b.has(d)||(a.delete(d),f());b.clear()}},{key:"getVisibleLayers",value:function(){this.throttledUpdateVisibleLayers.flush();return[].concat($jscomp.arrayFromIterable(this.visibleLayers.keys()))}}]);return c}(g.a)},function(g,e,a){function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+
-typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function n(a,b){var c="";b&1&&(c+="control+");b&2&&(c+="alt+");b&4&&(c+="meta+");b&8&&(c+="shift+");return c+a}function m(a){return"string"===typeof a?{action:a}:a}function c(a){function b(b,l){for(;;)switch(c){case 0:h=a.indexOf(":");a:{b=void 0;var k=a.substring(h+1).split("+"),u=0;k=$jscomp.makeIterator(k);for(var r=
-k.next();!r.done;r=k.next())switch(r=r.value,r){case "control":u|=1;break;case "alt":u|=2;break;case "meta":u|=4;break;case "shift":u|=8;break;default:if(void 0===b)b=r;else{f=void 0;break a}}f=void 0===b?void 0:n(b,u)}if(void 0!==f){c=1;break}c=-1;throw Error("Invalid event identifier: "+JSON.stringify(a));case 1:if(-1===h){c=2;break}d=a.substring(0,h);if("at"===d||"bubble"===d){c=4;break}c=-1;throw Error("Invalid event phase: "+JSON.stringify(d));case 4:return c=5,{value:d+":"+f,done:!1};case 5:if(void 0===
-l){c=6;break}c=-1;throw l;case 6:c=3;break;case 2:return c=7,{value:"at:"+f,done:!1};case 7:if(void 0===l){c=8;break}c=-1;throw l;case 8:return c=9,{value:"bubble:"+f,done:!1};case 9:if(void 0===l){c=10;break}c=-1;throw l;case 10:case 3:c=-1;default:return{value:void 0,done:!0}}}var c=0,d,f,h,k={next:function(a){return b(a,void 0)},throw:function(a){return b(void 0,a)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();k[Symbol.iterator]=function(){return this};
-return k}a.d(e,"a",function(){return q});e.b=function(a,b,c){a=k[b.eventPhase]+":"+n(a,(b.ctrlKey?1:0)|(b.altKey?2:0)|(b.metaKey?4:0)|(b.shiftKey?8:0));c=c.get(a);void 0!==c&&(!1!==c.stopPropagation&&b.stopPropagation(),a=new CustomEvent("action:"+c.action,{bubbles:!0,detail:b,cancelable:!0}),a=!b.target.dispatchEvent(a),(!1!==c.preventDefault||a)&&b.preventDefault())};e.c=function(a,c,d,f){return Object(b.c)(a,"action:"+c,d,f)};var b=a(1);g=a(226);var d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=
-b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),f=function r(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return r(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},h;(function(a){a[a.CONTROL=1]="CONTROL";a[a.ALT=2]="ALT";a[a.META=4]="META";
-a[a.SHIFT=8]="SHIFT"})(h||(h={}));var q=function(a){function b(){if(!(this instanceof b))throw new TypeError("Cannot call a class as a function");var a=(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!a||"object"!==typeof a&&"function"!==typeof a?this:a}p(b,a);d(b,[{key:"setFromObject",value:function(a){for(var b=$jscomp.makeIterator(Object.keys(a)),c=b.next();!c.done;c=b.next())c=c.value,
-this.set(c,m(a[c]))}},{key:"set",value:function(a,d){d=m(d);a=$jscomp.makeIterator(c(a));for(var l=a.next();!l.done;l=a.next())l=l.value,f(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"set",this).call(this,l,d)}},{key:"delete",value:function(a){a=$jscomp.makeIterator(c(a));for(var d=a.next();!d.done;d=a.next())d=d.value,f(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"delete",this).call(this,d)}}],[{key:"fromObject",value:function(a,c){c=void 0===c?{}:c;var d=new b;d.label=
-c.label;if(void 0!==c.parents){c=$jscomp.makeIterator(c.parents);for(var f=c.next();!f.done;f=c.next()){var l=$jscomp.makeIterator(f.value);f=l.next().value;l=l.next().value;d.addParent(f,l)}}c=$jscomp.makeIterator(Object.keys(a));for(f=c.next();!f.done;f=c.next())f=f.value,d.set(f,m(a[f]));return d}}]);return b}(g.a),k=[];k[Event.AT_TARGET]="at";k[Event.CAPTURING_PHASE]="capture";k[Event.BUBBLING_PHASE]="bubble"},function(g,e,a){function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
-return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function m(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function c(a){if("number"!==typeof a||
-0>a)throw Error("Expected non-negative number as limit, but received: "+JSON.stringify(a));return a}a.d(e,"b",function(){return y});a.d(e,"a",function(){return z});a.d(e,"d",function(){return B});a.d(e,"c",function(){return x});a.d(e,"e",function(){return v});e.f=function(a,b){a=function(a){function b(a){for(var c=[],d=0;d<arguments.length;++d)c[d-0]=arguments[d];m(this,b);var f;d=p(this,(f=b.__proto__||Object.getPrototypeOf(b)).call.apply(f,[].concat([this],$jscomp.arrayFromIterable(c))));d.parameters=
-c[1].parameters;return d}n(b,a);u(b,[{key:"initializeCounterpart",value:function(a,c){c.parameters=this.parameters;l(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"initializeCounterpart",this).call(this,a,c)}}],[{key:"encodeOptions",value:function(a){var c=l(b.__proto__||Object.getPrototypeOf(b),"encodeOptions",this).call(this,a);c.parameters=a.parameters;return c}}]);return b}(a);return a=A([Object(r.g)(b.RPC_ID)],a)};var b=a(25),d=a(83),f=a(14),h=a(6),q=a(84),k=a(27),t=a(7),r=a(15),
-l=function F(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return F(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},u=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),A=this&&this.__decorate||
-function(a,b,c,d){var f=arguments.length,l=3>f?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d,h;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)l=Reflect.decorate(a,b,c,d);else for(var k=a.length-1;0<=k;k--)if(h=a[k])l=(3>f?h(l):3<f?h(b,c,l):h(b,c))||l;return 3<f&&l&&Object.defineProperty(b,c,l),l},y=function(){function a(c){m(this,a);this.source=c;this.state=b.d.SYSTEM_MEMORY}u(a,[{key:"copyToGPU",value:function(a){this.state=b.d.GPU_MEMORY}},{key:"freeGPUMemory",value:function(a){this.state=
-b.d.SYSTEM_MEMORY}},{key:"gl",get:function(){return this.source.gl}}]);return a}(),z=function C(a){var b=void 0===a?{}:a;a=void 0===b.defaultItemLimit?Number.POSITIVE_INFINITY:b.defaultItemLimit;b=void 0===b.defaultSizeLimit?Number.POSITIVE_INFINITY:b.defaultSizeLimit;m(this,C);this.sizeLimit=new f.a(b,c);this.itemLimit=new f.a(a,c)},B=function(a){function c(a,b,f){m(this,c);var l=p(this,(c.__proto__||Object.getPrototypeOf(c)).call(this));l.gl=b;l.capacities=f;l.visibleChunksChanged=new t.a;l.pendingChunkUpdates=
-null;l.pendingChunkUpdatesTail=null;l.chunkUpdateDeadline=null;l.chunkUpdateDelay=30;b=function(b){return{itemLimit:l.registerDisposer(d.a.makeFromExisting(a,b.itemLimit)).rpcId,sizeLimit:l.registerDisposer(d.a.makeFromExisting(a,b.sizeLimit)).rpcId}};l.initializeCounterpart(a,{gpuMemoryCapacity:b(f.gpuMemory),systemMemoryCapacity:b(f.systemMemory),downloadCapacity:b(f.download)});return l}n(c,a);u(c,[{key:"scheduleChunkUpdate",value:function(){var a=this.chunkUpdateDeadline;a=null===a||Date.now()<
-a?0:this.chunkUpdateDelay;setTimeout(this.processPendingChunkUpdates.bind(this),a)}},{key:"processPendingChunkUpdates",value:function(){var a=this.chunkUpdateDeadline;null===a&&(a=Date.now()+30);for(var c=!1;;){if(Date.now()>a){setTimeout(this.processPendingChunkUpdates.bind(this),this.chunkUpdateDelay);break}var d=this.pendingChunkUpdates,f=this.rpc.get(d.source);if(void 0===d.id){c=$jscomp.makeIterator(f.chunks.keys());for(var l=c.next();!l.done;l=c.next())f.deleteChunk(l.value);c=!0}else if(l=
-d.state,l===b.d.EXPIRED)f.deleteChunk(d.id);else{var h=d.id;if(d["new"]){var k=f.getChunk(d);f.addChunk(h,k)}else k=f.chunks.get(h);if(l!==k.state)switch(l){case b.d.GPU_MEMORY:k.copyToGPU(this.gl);c=!0;break;case b.d.SYSTEM_MEMORY:k.freeGPUMemory(this.gl);break;default:throw Error("INTERNAL ERROR: Invalid chunk state: "+b.d[l]);}}d=this.pendingChunkUpdates=d.nextUpdate;--window.numPendingChunkUpdates;if(null==d){this.pendingChunkUpdatesTail=null;break}}c&&this.visibleChunksChanged.dispatch()}}]);
-return c}(r.b);B=A([Object(r.g)(b.b)],B);window.numPendingChunkUpdates=0;Object(r.e)("Chunk.update",function(a){var b=this.get(a.source).chunkManager.chunkQueueManager,c=b.pendingChunkUpdatesTail;++window.numPendingChunkUpdates;null==c?(b.pendingChunkUpdates=a,b.pendingChunkUpdatesTail=a,b.scheduleChunkUpdate()):(c.nextUpdate=a,b.pendingChunkUpdatesTail=a)});var x=function(a){function b(a){m(this,b);var c=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.chunkQueueManager=a;c.memoize=new q.b;
-c.registerDisposer(a.addRef());c.initializeCounterpart(a.rpc,{chunkQueueManager:a.rpcId});return c}n(b,a);u(b,[{key:"getChunkSource",value:function(a,b){var c=this,d=a.encodeOptions(b);d.constructorId=Object(k.a)(a);d=Object(h.g)(d);return this.memoize.get(d,function(){var d=new a(c,b);d.initializeCounterpart(c.rpc,{});return d})}},{key:"gl",get:function(){return this.chunkQueueManager.gl}}]);return b}(r.b);x=A([Object(r.g)(b.a)],x);var v=function(a){function c(a,b){m(this,c);b=p(this,(c.__proto__||
-Object.getPrototypeOf(c)).call(this));b.chunkManager=a;b.chunks=new Map;return b}n(c,a);u(c,[{key:"initializeCounterpart",value:function(a,b){b.chunkManager=this.chunkManager.rpcId;l(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"initializeCounterpart",this).call(this,a,b)}},{key:"deleteChunk",value:function(a){var c=this.chunks.get(a);c.state===b.d.GPU_MEMORY&&c.freeGPUMemory(this.gl);this.chunks.delete(a)}},{key:"addChunk",value:function(a,b){this.chunks.set(a,b)}},{key:"getChunk",value:function(a){throw Error("Not implemented.");
-}},{key:"invalidateCache",value:function(){this.rpc.invoke(b.c,{id:this.rpcId})}},{key:"gl",get:function(){return this.chunkManager.chunkQueueManager.gl}}],[{key:"encodeOptions",value:function(a){return{}}}]);return c}(r.b)},function(g,e,a){var p=a(86),n=a(211),m=a(213),c=Math.max,b=Math.min;g.exports=function(a,f,h){function d(b){var c=u,d=e;u=e=void 0;x=b;return g=a.apply(d,c)}function k(a){var b=a-B;a-=x;return void 0===B||b>=f||0>b||E&&a>=C}function t(){var a=n();if(k(a))return r(a);var c=setTimeout;
-var d=a-x;a=f-(a-B);d=E?b(a,C-d):a;z=c(t,d)}function r(a){z=void 0;if(F&&u)return d(a);u=e=void 0;return g}function l(){var a=n(),b=k(a);u=arguments;e=this;B=a;if(b){if(void 0===z)return x=a=B,z=setTimeout(t,f),v?d(a):g;if(E)return z=setTimeout(t,f),d(B)}void 0===z&&(z=setTimeout(t,f));return g}var u,e,g,z,B,x=0,v=!1,E=!1,F=!0;if("function"!=typeof a)throw new TypeError("Expected a function");f=m(f)||0;if(p(h)){v=!!h.leading;var C=(E="maxWait"in h)?c(m(h.maxWait)||0,f):C;F="trailing"in h?!!h.trailing:
-F}l.cancel=function(){void 0!==z&&clearTimeout(z);x=0;u=B=e=z=void 0};l.flush=function(){return void 0===z?g:r(n())};return l}},function(g,e,a){a.d(e,"d",function(){return p});var p;(function(a){a[a.GPU_MEMORY=0]="GPU_MEMORY";a[a.SYSTEM_MEMORY=1]="SYSTEM_MEMORY";a[a.SYSTEM_MEMORY_WORKER=2]="SYSTEM_MEMORY_WORKER";a[a.DOWNLOADING=3]="DOWNLOADING";a[a.QUEUED=4]="QUEUED";a[a.NEW=5]="NEW";a[a.FAILED=6]="FAILED";a[a.EXPIRED=7]="EXPIRED"})(p||(p={}));var n;(function(a){a[a.FIRST_TIER=0]="FIRST_TIER";a[a.FIRST_ORDERED_TIER=
-0]="FIRST_ORDERED_TIER";a[a.VISIBLE=0]="VISIBLE";a[a.PREFETCH=1]="PREFETCH";a[a.LAST_ORDERED_TIER=1]="LAST_ORDERED_TIER";a[a.RECENT=2]="RECENT";a[a.LAST_TIER=2]="LAST_TIER"})(n||(n={}));e.b="ChunkQueueManager";e.a="ChunkManager";e.c="ChunkSource.invalidate"},function(g,e,a){function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,
-configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function n(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}a.d(e,"b",function(){return d});a.d(e,"c",function(){return f});e.d=function(a,c){return new Promise(function(f,h){if(a===b)c(f,h,b);else{var k=new d,l=a.add(function(){k.cancel()});c(function(a){l();f(a)},function(a){l();h(a)},k)}})};var m=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=
-d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();g=new (function(){function a(){n(this,a);this.name="CancellationError";this.message="CANCELED"}m(a,[{key:"toString",value:function(){return"CANCELED"}}]);return a}());e.a=g;var c=function(){},b={isCanceled:!1,add:function(){return c},remove:c};e.e=b;var d=function(){function a(){n(this,a)}m(a,[{key:"cancel",value:function(){var a=this.handlers;
-if(null!==a&&(this.handlers=null,void 0!==a)){a=$jscomp.makeIterator(a);for(var b=a.next();!b.done;b=a.next())b=b.value,b()}}},{key:"add",value:function(a){var b=this,d=this.handlers;if(null===d)return a(),c;void 0===d&&(d=this.handlers=new Set);d.add(a);return function(){b.remove(a)}}},{key:"remove",value:function(a){var b=this.handlers;null!=b&&b.delete(a)}},{key:"isCanceled",get:function(){return null===this.handlers}}]);return a}(),f=function(a){function c(){n(this,c);var a=(c.__proto__||Object.getPrototypeOf(c)).apply(this,
-arguments);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");a=!a||"object"!==typeof a&&"function"!==typeof a?this:a;a.consumers=new Set;return a}p(c,a);m(c,[{key:"addConsumer",value:function(a){var c=this;a=void 0===a?b:a;var d=this.consumers;d.has(a)||a.isCanceled||(d.add(a),a.add(function(){d.delete(a);0===d.size&&c.cancel()}))}}]);return c}(d)},function(g,e,a){e.a=function(a){if(a instanceof Object){var c=a[p];void 0===c&&(c=a[p]=n++);return"o"+c}return""+
-JSON.stringify(a)};$jscomp.initSymbol();var p=Symbol("objectId"),n=0},function(g,e,a){function p(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function n(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function m(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&
-b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a,b){for(var c=$jscomp.makeIterator(q),d=c.next();!d.done;d=c.next())if(d=d.value,d=d(a,b),null!=d)return d;throw Error("No chunk format handler found.");}e.c=function(a){q.push(a)};a.d(e,"b",function(){return k});a.d(e,"a",function(){return t});g=a(43);var b=a(3),d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=
-d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),f=b.p.create(),h=b.p.create(),q=[],k=function(a){function l(a,b){p(this,l);b=n(this,(l.__proto__||Object.getPrototypeOf(l)).call(this,a,b));b.chunkFormatHandler=b.registerDisposer(c(a.chunkQueueManager.gl,b.spec));return b}m(l,a);d(l,[{key:"getValueAt",value:function(a){var c=this.spec,d=c.chunkLayout,l=d.size;d.globalToLocalSpatial(h,
-a);for(a=0;3>a;++a)f[a]=Math.floor(h[a]/l[a]);a=Object(b.q)(f);a=this.chunks.get(a);if(!a)return null;d=c.voxelSize;for(var k=0;3>k;++k)f[k]=Math.floor((h[k]-f[k]*l[k])/d[k]);l=a.chunkDataSize;for(d=0;3>d;++d)if(f[d]>=l[d])return;c=c.numChannels;if(1===c)return a.getChannelValueAt(f,0);l=Array(c);for(d=0;d<c;++d)l[d]=a.getChannelValueAt(f,d);return l}},{key:"getChunk",value:function(a){return this.chunkFormatHandler.getChunk(this,a)}},{key:"chunkFormat",get:function(){return this.chunkFormatHandler.chunkFormat}}]);
-return l}(g.c),t=function(a){function b(a,c){p(this,b);return n(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a,c))}m(b,a);d(b,[{key:"chunkFormat",get:function(){return this.source.chunkFormat}}]);return b}(g.b)},function(g,e,a){a.d(e,"a",function(){return p});e.b=1E-6;var p="undefined"!==typeof Float32Array?Float32Array:Array;e.c=Math.random},function(g,e,a){a.d(e,"a",function(){return m});var p=a(35),n=function(){function a(a,c){for(var b=0;b<c.length;b++){var d=c[b];d.enumerable=d.enumerable||
-!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,f){c&&a(b.prototype,c);f&&a(b,f);return b}}(),m=function(){function a(b,c){c=void 0===c?p.a:c;if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");this.gl=b;this.bufferType=c;this.gl=b;this.buffer=b.createBuffer()}n(a,[{key:"bind",value:function(){this.gl.bindBuffer(this.bufferType,this.buffer)}},{key:"bindToVertexAttrib",value:function(a,c,f,h,q,k){f=void 0===f?p.c:
-f;h=void 0===h?!1:h;q=void 0===q?0:q;k=void 0===k?0:k;this.bind();this.gl.enableVertexAttribArray(a);this.gl.vertexAttribPointer(a,c,f,h,q,k)}},{key:"setData",value:function(a,c){c=void 0===c?p.k:c;var b=this.gl;this.bind();b.bufferData(this.bufferType,a,c)}},{key:"dispose",value:function(){this.gl.deleteBuffer(this.buffer);this.gl=this.buffer=void 0}}],[{key:"fromData",value:function(b,c,f,h){b=new a(b,f);b.setData(c,h);return b}}]);return a}()},function(g,e,a){function p(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");
-}function n(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function m(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a,b,c){var d=
-a.createShader(c);a.shaderSource(d,b);a.compileShader(d);if(!a.getShaderParameter(d,a.COMPILE_STATUS)){a=a.getShaderInfoLog(d)||"";var f=a.replace("\x00","");d=[];f=$jscomp.makeIterator(f.split("\n"));for(var l=f.next();!l.done;l=f.next()){l=l.value;var k=l.match(/^ERROR:\s*(\d+):(\d+)\s*(.+)$/);null!==k?d.push({message:k[3].trim(),file:parseInt(k[1],10),line:parseInt(k[2],10)}):(k=l.match(/^ERROR:\s*(.+)$/),null!==k?d.push({message:k[1]}):(l=l.trim())&&d.push({message:l}))}throw new h(c,b,a,d);}return d}
-a.d(e,"a",function(){return r});g=a(1);var b=a(35),d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),f;(function(a){a[a.VERTEX=b.u]="VERTEX";a[a.FRAGMENT=b.d]="FRAGMENT"})(f||(f={}));var h=function(a){function b(a,c,d,l){p(this,b);var h="Error compiling "+f[a].toLowerCase()+" shader: "+d,k=n(this,(b.__proto__||
-Object.getPrototypeOf(b)).call(this,h));k.name="ShaderCompilationError";k.log=d;k.message=h;k.shaderType=a;k.source=c;k.errorMessages=l;return k}m(b,a);return b}(Error),q=function(a){function b(a,c,d){p(this,b);var f="Error linking shader: "+d,l=n(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,f));l.name="ShaderLinkError";l.log=d;l.message=f;l.vertexSource=a;l.fragmentSource=c;return l}m(b,a);return b}(Error),k=function(a){function b(a,d,f,l,h){p(this,b);var k=n(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));
-k.gl=a;k.vertexSource=d;k.fragmentSource=f;k.attributes=new Map;k.uniforms=new Map;var r=k.vertexShader=c(a,d,a.VERTEX_SHADER),u=k.fragmentShader=c(a,f,a.FRAGMENT_SHADER),t=a.createProgram();a.attachShader(t,r);a.attachShader(t,u);a.linkProgram(t);if(!a.getProgramParameter(t,a.LINK_STATUS))throw a=a.getProgramInfoLog(t)||"",new q(d,f,a);k.program=t;f=k.uniforms;d=k.attributes;if(l)for(l=$jscomp.makeIterator(l),r=l.next();!r.done;r=l.next())r=r.value,f.set(r,a.getUniformLocation(t,r));if(h)for(h=$jscomp.makeIterator(h),
-r=h.next();!r.done;r=h.next())l=r.value,d.set(l,a.getAttribLocation(t,l));return k}m(b,a);d(b,[{key:"uniform",value:function(a){return this.uniforms.get(a)}},{key:"attribute",value:function(a){return this.attributes.get(a)}},{key:"textureUnit",value:function(a){return this.textureUnits.get(a)}},{key:"bind",value:function(){this.gl.useProgram(this.program)}},{key:"disposed",value:function(){var a=this.gl;a.deleteShader(this.vertexShader);this.vertexShader=void 0;a.deleteShader(this.fragmentShader);
-this.fragmentShader=void 0;a.deleteProgram(this.program);this.uniforms=this.attributes=this.gl=this.program=void 0}}]);return b}(g.a),t=function(){function a(){p(this,a);this.code="";this.parts=new Set}d(a,[{key:"add",value:function(a){if(!this.parts.has(a))switch(this.parts.add(a),typeof a){case "string":this.code+=a;break;case "function":this.add(a());break;default:if(Array.isArray(a)){a=$jscomp.makeIterator(a);for(var b=a.next();!b.done;b=a.next())this.add(b.value)}else throw Error("Invalid code type");
-}}},{key:"toString",value:function(){return this.code}}]);return a}(),r=function(){function a(b){p(this,a);this.gl=b;this.nextTextureUnit=this.nextSymbolID=0;this.varyingsCode=this.attributesCode=this.uniformsCode="";this.fragmentExtensionsSet=new Set;this.fragmentExtensions="";this.vertexCode=new t;this.vertexMain="";this.fragmentCode=new t;this.fragmentMain="";this.required=new Set;this.uniforms=[];this.attributes=[];this.initializers=[];this.textureUnits=new Map}d(a,[{key:"allocateTextureUnit",
-value:function(a,b){b=void 0===b?1:b;if(this.textureUnits.has(a))throw Error("Duplicate texture unit symbol: "+a);var c=this.nextTextureUnit;this.nextTextureUnit+=b;this.textureUnits.set(a,c);return c}},{key:"addTextureSampler2D",value:function(a,b,c){var d=this.allocateTextureUnit(b,c);this.addUniform("highp sampler2D",a,c);this.addInitializer(function(b){if(c){for(var f=new Int32Array(c),l=0;l<c;++l)f[l]=l+d;b.gl.uniform1iv(b.uniform(a),f)}else b.gl.uniform1i(b.uniform(a),d)});return d}},{key:"symbol",
-value:function(a){return a+this.nextSymbolID++}},{key:"addAttribute",value:function(a,b){this.attributes.push(b);this.attributesCode+="attribute "+a+" "+b+";\n";return b}},{key:"addVarying",value:function(a,b){this.varyingsCode+="varying "+a+" "+b+";\n"}},{key:"addUniform",value:function(a,b,c){this.uniforms.push(b);this.uniformsCode=null!=c?this.uniformsCode+("uniform "+a+" "+b+"["+c+"];\n"):this.uniformsCode+("uniform "+a+" "+b+";\n");return b}},{key:"addFragmentExtension",value:function(a){this.fragmentExtensionsSet.has(a)||
-(this.fragmentExtensionsSet.add(a),this.fragmentExtensions+="#extension "+a+" : require\n")}},{key:"addVertexCode",value:function(a){this.vertexCode.add(a)}},{key:"addFragmentCode",value:function(a){this.fragmentCode.add(a)}},{key:"setVertexMain",value:function(a){this.vertexMain=a}},{key:"addVertexMain",value:function(a){this.vertexMain=(this.vertexMain||"")+a}},{key:"setFragmentMain",value:function(a){this.fragmentMain="void main() {\n"+a+"\n}\n"}},{key:"setFragmentMainFunction",value:function(a){this.fragmentMain=
-a}},{key:"addInitializer",value:function(a){this.initializers.push(a)}},{key:"require",value:function(a){this.required.has(a)||(this.required.add(a),a(this))}},{key:"build",value:function(){var a=new k(this.gl,"\nprecision highp float;\n"+this.uniformsCode+"\n"+this.attributesCode+"\n"+this.varyingsCode+"\n"+this.vertexCode+"\nvoid main() {\n"+this.vertexMain+"\n}\n","\n"+this.fragmentExtensions+"\nprecision highp float;\n"+this.uniformsCode+"\n"+this.varyingsCode+"\n"+this.fragmentCode+"\n"+this.fragmentMain+
-"\n",this.uniforms,this.attributes);a.textureUnits=this.textureUnits;var b=this.initializers;if(0<b.length){a.bind();b=$jscomp.makeIterator(b);for(var c=b.next();!c.done;c=b.next())c=c.value,c(a)}return a}}]);return a}()},function(g,e,a){e.isArray=Array.isArray||function(a){return a&&"number"===typeof a.length}},function(g,e,a){e.isScheduler=function(a){return a&&"function"===typeof a.schedule}},function(g,e,a){var p=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&
-(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};g=a(0);var n=a(111),m=a(38),c=a(33);a=function(a){function b(b,c){a.call(this);this.array=b;this.scheduler=c;c||1!==b.length||(this._isScalar=!0,this.value=b[0])}p(b,a);b.create=function(a,c){return new b(a,c)};b.of=function(){for(var a=[],d=0;d<arguments.length;d++)a[d-0]=arguments[d];d=a[a.length-1];c.isScheduler(d)?a.pop():d=null;var q=a.length;return 1<q?new b(a,d):1===q?new n.ScalarObservable(a[0],d):new m.EmptyObservable(d)};
-b.dispatch=function(a){var b=a.array,c=a.index,d=a.subscriber;c>=a.count?d.complete():(d.next(b[c]),d.closed||(a.index=c+1,this.schedule(a)))};b.prototype._subscribe=function(a){var c=this.array,d=c.length,f=this.scheduler;if(f)return f.schedule(b.dispatch,0,{array:c,index:0,count:d,subscriber:a});for(f=0;f<d&&!a.closed;f++)a.next(c[f]);a.complete()};return b}(g.Observable);e.ArrayObservable=a},function(g,e,a){e.a=34962;e.k=35044;e.r=3317;e.t=5121;e.c=5126;e.i=6407;e.j=6408;e.f=6409;e.g=6410;e.d=
-35632;e.u=35633;e.h=9728;e.e=9729;e.n=10240;e.o=10241;e.p=10242;e.q=10243;e.m=3553;e.l=33984;e.b=33071;e.s=37440},function(g,e){},function(g,e,a){e.b=function(a,c){n.set(a,c)};e.a=function(a){for(var c=new p.b,b=$jscomp.makeIterator(n),d=b.next();!d.done;d=b.next()){var f=$jscomp.makeIterator(d.value);d=f.next().value;f=f.next().value;c.register(d,f(a))}return c};var p=a(39),n=new Map},function(g,e,a){var p=this&&this.__extends||function(a,e){function c(){this.constructor=a}for(var b in e)e.hasOwnProperty(b)&&
-(a[b]=e[b]);a.prototype=null===e?Object.create(e):(c.prototype=e.prototype,new c)};g=function(a){function e(c){a.call(this);this.scheduler=c}p(e,a);e.create=function(a){return new e(a)};e.dispatch=function(a){a.subscriber.complete()};e.prototype._subscribe=function(a){var b=this.scheduler;if(b)return b.schedule(e.dispatch,0,{subscriber:a});a.complete()};return e}(a(0).Observable);e.EmptyObservable=g},function(g,e,a){function p(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");
-}function n(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function m(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a,b){void 0===
-b&&(b=-1===a.indexOf("/")?":":"/");a=a.lastIndexOf(b);return-1===a?0:a+1}a.d(e,"a",function(){return h});a.d(e,"b",function(){return k});var b=a(26),d=a(46);g=a(1);var f=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),h=function(a){function b(){p(this,b);return n(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,
-arguments))}m(b,a);return b}(g.a),q=/^(?:([a-zA-Z-+_]+):\/\/)?(.*)$/,k=function(a){function h(){p(this,h);var a=n(this,(h.__proto__||Object.getPrototypeOf(h)).apply(this,arguments));a.dataSources=new Map;return a}m(h,a);f(h,[{key:"register",value:function(a,b){this.dataSources.set(a,this.registerDisposer(b))}},{key:"getDataSource",value:function(a){a=a.match(q);if(null===a||void 0===a[1])throw Error('Data source URL must have the form "<protocol>://<path>".');var b=a[1],c=this.dataSources.get(b);
-if(void 0===c)throw Error("Unsupported data source: "+JSON.stringify(b)+".");return[c,a[2],b]}},{key:"getVolume",value:function(a,c,d,f){d=void 0===d?{}:d;f=void 0===f?b.e:f;c=$jscomp.makeIterator(this.getDataSource(c));var l=c.next().value,h=c.next().value;return new Promise(function(b){b(l.getVolume(a,h,d,f))})}},{key:"getVectorGraphicsSource",value:function(a,c,d,f){d=void 0===d?{}:d;f=void 0===f?b.e:f;c=$jscomp.makeIterator(this.getDataSource(c));var l=c.next().value,h=c.next().value;return new Promise(function(b){b(l.getVectorGraphicsSource(a,
-h,d,f))})}},{key:"getMeshSource",value:function(a,c,d){d=void 0===d?b.e:d;c=$jscomp.makeIterator(this.getDataSource(c));var f=c.next().value,l=c.next().value;return new Promise(function(b){b(f.getMeshSource(a,l,d))})}},{key:"getSkeletonSource",value:function(a,c,d){d=void 0===d?b.e:d;c=$jscomp.makeIterator(this.getDataSource(c));var f=c.next().value,l=c.next().value;return new Promise(function(b){b(f.getSkeletonSource(a,l,d))})}},{key:"volumeCompleter",value:function(a,c,f){f=void 0===f?b.e:f;var l=
-a.match(q),h=l[1];if(void 0===h){c=[];f=$jscomp.makeIterator(this.dataSources);for(l=f.next();!l.done;l=f.next()){var k=$jscomp.makeIterator(l.value);l=k.next().value;k=k.next().value;l+="://";l.startsWith(a)&&c.push({value:l,description:k.description})}return Promise.resolve({offset:0,completions:c})}a=this.dataSources.get(h);return void 0!==a&&void 0!==a.volumeCompleter?a.volumeCompleter(l[2],c,f).then(function(a){return Object(d.a)(h.length+3,a)}):Promise.reject(null)}},{key:"suggestLayerName",
-value:function(a){a=$jscomp.makeIterator(this.getDataSource(a));var b=a.next().value;a=a.next().value;b=b.suggestLayerName;if(void 0!==b)return b(a);b=c(a,void 0);return a.substring(b)}},{key:"findSourceGroup",value:function(a){var b=$jscomp.makeIterator(this.getDataSource(a));a=b.next().value;var d=b.next().value;b=b.next().value;return(a.findSourceGroup||c)(d)+b.length+3}}]);return h}(g.a)},function(g,e,a){a.d(e,"a",function(){return m});var p=function(){function a(a,c){for(var b=0;b<c.length;b++){var d=
-c[b];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,f){c&&a(b.prototype,c);f&&a(b,f);return b}}();a(231);var n=null,m=function(){function a(b){b=void 0===b?!1:b;if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");null===n&&(n=document.createElement("ul"),n.id="statusContainer",document.body.appendChild(n));var c=document.createElement("li");this.element=c;!0===b&&(b=200);!1!==b?(this.setVisible(!1),
-this.timer=setTimeout(this.setVisible.bind(this,!0),b)):this.timer=null;n.appendChild(c)}p(a,[{key:"dispose",value:function(){n.removeChild(this.element);this.element=void 0;null!==this.timer&&clearTimeout(this.timer)}},{key:"setText",value:function(a,c){this.element.textContent=a;c&&this.setVisible(!0)}},{key:"setHTML",value:function(a,c){this.element.innerHTML=a;c&&this.setVisible(!0)}},{key:"setVisible",value:function(a){null!==this.timer&&(clearTimeout(this.timer),this.timer=null);this.element.style.display=
-a?"block":"none"}}],[{key:"forPromise",value:function(b,c){var d=new a(c.delay);d.setText(c.initialMessage);var h=d.dispose.bind(d);b.then(h,function(a){d.element.textContent=(void 0===c.errorPrefix?"":c.errorPrefix)+(a instanceof Error?a.message:""+a)+"  ";a=document.createElement("button");a.textContent="Dismiss";a.addEventListener("click",function(){d.dispose()});d.element.appendChild(a);d.setVisible(!0)});return b}},{key:"showMessage",value:function(b){var c=new a;c.element.textContent=b;c.setVisible(!0);
-return c}},{key:"showTemporaryMessage",value:function(a,c){c=void 0===c?2E3:c;var b=this.showMessage(a);setTimeout(function(){return b.dispose()},c);return b}}]);return a}()},function(g,e,a){var p=a(187);e.multicast=function(a,c){var b="function"===typeof a?a:function(){return a};if("function"===typeof c)return this.lift(new n(b,c));c=Object.create(this,p.connectableObservableDescriptor);c.source=this;c.subjectFactory=b;return c};var n=function(){function a(a,b){this.subjectFactory=a;this.selector=
-b}a.prototype.call=function(a,b){var c=this.selector,f=this.subjectFactory();a=c(f).subscribe(a);a.add(b.subscribe(f));return a};return a}();e.MulticastOperator=n},function(g,e,a){a.d(e,"b",function(){return p});var p;(function(a){a[a.UINT8=0]="UINT8";a[a.UINT16=1]="UINT16";a[a.UINT32=2]="UINT32";a[a.UINT64=3]="UINT64";a[a.FLOAT32=4]="FLOAT32"})(p||(p={}));g=[];e.a=g;g[p.UINT8]=1;g[p.UINT16]=2;g[p.UINT32]=4;g[p.UINT64]=8;g[p.FLOAT32]=4},function(g,e,a){function p(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");
-}function n(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function m(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(e,"a",function(){return x});
-a.d(e,"c",function(){return v});a.d(e,"b",function(){return E});a.d(e,"d",function(){return F});g=a(24);var c=a.n(g),b=a(25);g=a(23);e=a(65);var d=a(87),f=a(1),h=a(3),q=a(27),k=a(7),t=a(49),r=a(88),l=a(31),u=a(66);a=a(15);var A=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),y=function G(a,b,c){null===a&&
-(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return G(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},z=this&&this.__decorate||function(a,b,c,d){var f=arguments.length,l=3>f?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d,h;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)l=Reflect.decorate(a,b,c,d);else for(var k=a.length-1;0<=k;k--)if(h=a[k])l=(3>f?h(l):3<f?h(b,
-c,l):h(b,c))||l;return 3<f&&l&&Object.defineProperty(b,c,l),l},B=h.j.create(),x=function(a){function b(a,d,f){p(this,b);var l=n(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));l.chunkManager=a;l.layerManager=d;l.navigationState=f;l.gl=l.chunkManager.gl;l.dataToViewport=h.j.create();l.viewportToDevice=h.j.create();l.dataToDevice=h.j.create();l.visibleChunks=new Map;l.viewChanged=new k.a;l.renderingStale=!0;l.visibleChunksStale=!0;l.visibleLayerList=[];l.newVisibleLayers=new Set;l.offscreenFramebuffer=
-l.registerDisposer(new r.b(l.gl,{colorBuffers:Object(r.e)(l.gl,1),depthBuffer:new r.d(l.gl)}));l.updateVisibleLayers=l.registerCancellable(c()(function(){l.updateVisibleLayersNow()},0));h.j.identity(l.dataToViewport);l.initializeCounterpart(l.chunkManager.rpc,{chunkManager:a.rpcId});l.registerDisposer(f.changed.add(function(){l.updateViewportFromNavigationState()}));l.updateViewportFromNavigationState();l.registerDisposer(d.layersChanged.add(function(){l.hasValidViewport&&l.updateVisibleLayers()}));
-l.viewChanged.add(function(){l.renderingStale=!0});l.registerDisposer(a.chunkQueueManager.visibleChunksChanged.add(l.viewChanged.dispatch));l.updateViewportFromNavigationState();l.updateVisibleLayers();return l}m(b,a);A(b,[{key:"updateViewportFromNavigationState",value:function(){var a=this.navigationState;a.valid&&(a.toMat4(B),this.setViewportToDataMatrix(B))}},{key:"updateVisibleLayersNow",value:function(){if(this.wasDisposed||!this.hasValidViewport)return!1;var a=this.visibleLayers,b=this.rpc,
-c={id:this.rpcId},f=this.newVisibleLayers,l=!1,h=this.visibleLayerList;h.length=0;for(var k=$jscomp.makeIterator(this.layerManager.readyRenderLayers()),q=k.next();!q.done;q=k.next())q=q.value,q instanceof d.a&&(f.add(q),h.push(q),a.has(q)||(a.set(q.addRef(),[]),q.redrawNeeded.add(this.viewChanged.dispatch),c.layerId=q.rpcId,b.invoke("SliceView.addVisibleLayer",c),l=!0));h=$jscomp.makeIterator(a.keys());for(q=h.next();!q.done;q=h.next())k=q.value,f.has(k)||(a.delete(k),k.redrawNeeded.remove(this.viewChanged.dispatch),
-c.layerId=k.rpcId,b.invoke("SliceView.removeVisibleLayer",c),k.dispose(),l=!0);f.clear();l&&(this.visibleSourcesStale=!0);this.viewChanged.dispatch();return l}},{key:"onViewportChanged",value:function(){var a=this.width,b=this.height,c=this.viewportToDevice,d=this.dataToViewport,f=this.dataToDevice;h.j.ortho(c,-a/2,a/2,b/2,-b/2,-10,10);h.j.multiply(f,c,d);this.visibleChunksStale=!0;this.viewChanged.dispatch()}},{key:"setViewportSize",value:function(a,c){return y(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),
-"setViewportSize",this).call(this,a,c)?(this.rpc.invoke("SliceView.updateView",{id:this.rpcId,width:a,height:c}),!0):!1}},{key:"onViewportToDataMatrixChanged",value:function(){var a=this.viewportToData,b=this.dataToViewport;h.j.invert(b,a);Object(h.m)(b);this.rpc.invoke("SliceView.updateView",{id:this.rpcId,viewportToData:a})}},{key:"onHasValidViewport",value:function(){this.updateVisibleLayers()}},{key:"updateRendering",value:function(){if(this.renderingStale&&this.hasValidViewport&&0!==this.width&&
-0!==this.height){this.renderingStale=!1;this.maybeUpdateVisibleChunks();var a=this.gl,b=this.offscreenFramebuffer;b.bind(this.width,this.height);a.disable(a.SCISSOR_TEST);a.clearStencil(0);a.clearColor(0,0,0,0);a.colorMask(!0,!0,!0,!0);a.clear(a.COLOR_BUFFER_BIT);a.enable(a.STENCIL_TEST);a.disable(a.DEPTH_TEST);a.stencilOpSeparate(a.FRONT_AND_BACK,a.KEEP,a.KEEP,a.REPLACE);for(var c=0,d=$jscomp.makeIterator(this.visibleLayerList),f=d.next();!f.done;f=d.next())f=f.value,a.clear(a.STENCIL_BUFFER_BIT),
-a.stencilFuncSeparate(a.FRONT_AND_BACK,a.GREATER,1,1),f.setGLBlendMode(a,c),f.draw(this),++c;a.disable(a.BLEND);a.disable(a.STENCIL_TEST);b.unbind()}}},{key:"maybeUpdateVisibleChunks",value:function(){this.updateVisibleLayers.flush();if(!this.visibleChunksStale&&!this.visibleSourcesStale)return!1;this.visibleChunksStale=!1;this.updateVisibleChunks();return!0}},{key:"updateVisibleChunks",value:function(){var a=this.visibleChunks;this.computeVisibleChunks(function(b){var c=a.get(b);void 0===c?(c=[],
-a.set(b,c)):c.length=0;return c},function(a,b,c){a=Object(h.q)(c);b[b.length]=a})}},{key:"disposed",value:function(){for(var a=$jscomp.makeIterator(this.visibleLayers.keys()),b=a.next();!b.done;b=a.next())b.value.dispose();this.visibleLayers.clear();this.visibleLayerList.length=0}}]);return b}(Object(t.c)(e.b));x=z([Object(a.g)(e.a)],x);var v=function(a){function b(a,c){p(this,b);a=n(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a,c));a.spec=c.spec;return a}m(b,a);A(b,[{key:"initializeCounterpart",
-value:function(a,c){c.spec=this.spec.toObject();y(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"initializeCounterpart",this).call(this,a,c)}}],[{key:"encodeOptions",value:function(a){var c=y(b.__proto__||Object.getPrototypeOf(b),"encodeOptions",this).call(this,a);c.spec=a.spec.toObject();return c}}]);return b}(g.e),E=function(a){function c(a,d){p(this,c);var f=n(this,(c.__proto__||Object.getPrototypeOf(c)).call(this,a));f.chunkGridPosition=d.chunkGridPosition;f.chunkDataSize=d.chunkDataSize||
-a.spec.chunkDataSize;f.state=b.d.SYSTEM_MEMORY;return f}m(c,a);return c}(g.b),F=function(a){function b(a,c){p(this,b);var d=n(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));d.gl=a;d.copyVertexPositionsBuffer=Object(u.a)(d.gl);d.textureCoordinateAdjustment=new Float32Array(4);var f=new l.a(a);f.addVarying("vec2","vTexCoord");f.addUniform("sampler2D","uSampler");f.addInitializer(function(b){a.uniform1i(b.uniform("uSampler"),0)});f.addUniform("vec4","uColorFactor");f.addUniform("vec4","uBackgroundColor");
-f.addUniform("mat4","uProjectionMatrix");f.addUniform("vec4","uTextureCoordinateAdjustment");f.require(c);f.setFragmentMain("\nvec4 sampledColor = texture2D(uSampler, vTexCoord);\nif (sampledColor.a == 0.0) {\n  sampledColor = uBackgroundColor;\n}\nemit(sampledColor * uColorFactor, vec4(0,0,0,0));\n");f.addAttribute("vec4","aVertexPosition");f.setVertexMain("\nvTexCoord = uTextureCoordinateAdjustment.xy + 0.5 * (aVertexPosition.xy + 1.0) * uTextureCoordinateAdjustment.zw;\ngl_Position = uProjectionMatrix * aVertexPosition;\n");
-d.shader=d.registerDisposer(f.build());return d}m(b,a);A(b,[{key:"draw",value:function(a,b,c,d,f,l,h,k){var q=this.gl,r=this.shader,u=this.textureCoordinateAdjustment;u[0]=f;u[1]=l;u[2]=h-f;u[3]=k-l;r.bind();q.activeTexture(q.TEXTURE0);q.bindTexture(q.TEXTURE_2D,a);q.uniformMatrix4fv(r.uniform("uProjectionMatrix"),!1,b);q.uniform4fv(r.uniform("uColorFactor"),c);q.uniform4fv(r.uniform("uBackgroundColor"),d);q.uniform4fv(r.uniform("uTextureCoordinateAdjustment"),u);a=r.attribute("aVertexPosition");
-this.copyVertexPositionsBuffer.bindToVertexAttrib(a,2);q.drawArrays(q.TRIANGLE_FAN,0,4);q.disableVertexAttribArray(a);q.bindTexture(q.TEXTURE_2D,null)}}],[{key:"get",value:function(a,c){return a.memoize.get("sliceview/SliceViewRenderHelper:"+Object(q.a)(c),function(){return new b(a,c)})}}]);return b}(f.a)},function(g,e,a){e.b=function(){return new p.b(void 0)};e.a=function(a){return new p.a(a,n.B)};var p=a(14),n=a(6)},function(g,e,a){function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
-return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(e,"b",function(){return f});a.d(e,"a",function(){return q});var m=a(64);g=a(1);var c=a(51),b=function(){function a(a,b){for(var c=
-0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),d=function t(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return t(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};a(249);var f=0,h=c.a.fromObject({escape:{action:"close"}}),
-q=function(a){function q(){if(!(this instanceof q))throw new TypeError("Cannot call a class as a function");var a=p(this,(q.__proto__||Object.getPrototypeOf(q)).call(this));a.keyMap=new c.a;a.keyMap.addParent(h,Number.NEGATIVE_INFINITY);++f;var b=a.container=document.createElement("div");b.className="overlay";var d=a.content=document.createElement("div");a.registerDisposer(new m.a(d));d.className="overlay-content";b.appendChild(d);document.body.appendChild(b);a.registerDisposer(new c.b(a.container,
-a.keyMap));a.registerEventListener(b,"action:close",function(){a.dispose()});d.focus();return a}n(q,a);b(q,[{key:"disposed",value:function(){--f;document.body.removeChild(this.container);d(q.prototype.__proto__||Object.getPrototypeOf(q.prototype),"disposed",this).call(this)}}]);return q}(g.a)},function(g,e,a){e.a=function(a,e){e.offset+=a;return e};e.b=function(a,e){var g=[];e=$jscomp.makeIterator(e);for(var c=e.next();!c.done;c=e.next())c=c.value,c.startsWith(a)&&g.push({value:c});return g};e.c=
-function(a,e,g,c){var b=[];e=$jscomp.makeIterator(e);for(var d=e.next();!d.done;d=e.next()){d=d.value;var f=g(d);f.startsWith(a)&&b.push({value:f,description:c(d)})}return b}},function(g,e,a){function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=
-b)}a.d(e,"a",function(){return f});e.b=function(a,c,f){f=void 0===f?"GET":f;var h=new XMLHttpRequest;if(Array.isArray(a)){var k=a.length;k=1===k?0:Math.abs(Object(m.a)(c))%k;a=a[k]+c}else a+=c;h[d]=f;h[b]=a;h.open(f,a);return h};e.d=function(a,b,c){c=void 0===c?n.e:c;a.responseType=b;return new Promise(function(b,d){var l=function(){a.abort()};c.add(l);a.onloadend=function(){var h=this.status;c.remove(l);200<=h&&300>h?b(this.response):d(f.fromXhr(a))};a.send()})};e.c=function(a){var b=a.match(/^([^:\/]+):\/\/([^\/]+)(\/.*)?$/);
-if(null===b)throw Error("Invalid URL: "+JSON.stringify(a));return"gs"===b[1]?[["https://storage.googleapis.com/"+b[2]],b[3]]:[[a],""]};var n=a(26),m=a(208),c=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();$jscomp.initSymbol();var b=Symbol("url");$jscomp.initSymbol();var d=Symbol("method"),f=function(a){function f(a,
-b,c,d){if(!(this instanceof f))throw new TypeError("Cannot call a class as a function");var l=a+" "+JSON.stringify(b)+" resulted in HTTP error "+c;d&&(l+=": "+d);l+=".";var h=(f.__proto__||Object.getPrototypeOf(f)).call(this,l);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");h=!h||"object"!==typeof h&&"function"!==typeof h?this:h;h.name="HttpError";h.message=l;h.method=a;h.url=b;h.code=c;h.statusMessage=d;return h}p(f,a);c(f,null,[{key:"fromXhr",value:function(a){return new f(a[d],
-a[b],a.status,a.statusText)}}]);return f}(Error)},function(g,e,a){function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(e,"a",function(){return m});g=a(21);var n=function(){function a(a,c){for(var b=0;b<c.length;b++){var d=c[b];d.enumerable=
-d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,f){c&&a(b.prototype,c);f&&a(b,f);return b}}(),m=function(a){function b(){if(!(this instanceof b))throw new TypeError("Cannot call a class as a function");var a=(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!a||"object"!==typeof a&&"function"!==typeof a?this:a}p(b,a);
-n(b,[{key:"draw",value:function(a){}},{key:"isTransparent",get:function(){return!1}}]);return b}(g.h)},function(g,e,a){function p(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function n(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function m(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+
-typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(e,"b",function(){return f});a.d(e,"a",function(){return h});e.c=function(a){return function(a){function f(){p(this,f);var a=n(this,(f.__proto__||Object.getPrototypeOf(f)).apply(this,arguments));a.visibility=new h;return a}m(f,a);d(f,[{key:"initializeCounterpart",value:function(a,d){d=void 0===d?{}:d;d.visibility=
-this.registerDisposer(c.a.makeFromExisting(a,this.visibility)).rpcId;b(f.prototype.__proto__||Object.getPrototypeOf(f.prototype),"initializeCounterpart",this).call(this,a,d)}}]);return f}(a)};var c=a(83);g=a(14);var b=function k(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return k(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},d=function(){function a(a,b){for(var c=
-0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),f=function(a){function b(a){a=void 0===a?Number.NEGATIVE_INFINITY:a;p(this,b);return n(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a))}m(b,a);d(b,[{key:"visible",get:function(){return this.value===Number.POSITIVE_INFINITY}},{key:"ignored",get:function(){return this.value===Number.NEGATIVE_INFINITY}}]);
-return b}(g.b);f.VISIBLE=Number.POSITIVE_INFINITY;f.IGNORED=Number.NEGATIVE_INFINITY;var h=function(a){function b(){p(this,b);var a=n(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments));a.contributors=new Map;return a}m(b,a);d(b,[{key:"add",value:function(a){var b=this,c=this.contributors,d=a.changed.add(function(){b.update()}),f=function(){c.delete(f);d();b.update()};c.set(f,a);this.update();return f}},{key:"update",value:function(){for(var a=Number.NEGATIVE_INFINITY,b=$jscomp.makeIterator(this.contributors.values()),
-c=b.next();!c.done;c=b.next())a=Math.max(a,c.value.value);this.value=a}}]);return b}(f)},function(g,e,a){function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});
-b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function m(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function c(a,b){var c=b.redrawNeeded.dispatch;b.registerDisposer(a.segmentColorHash.changed.add(c));b.registerDisposer(a.visibleSegments.changed.add(c));b.registerDisposer(a.segmentEquivalences.changed.add(c));b.registerDisposer(a.segmentSelectionState.changed.add(c))}a.d(e,"c",function(){return t});a.d(e,"a",function(){return r});e.g=c;
-e.f=function(a,b){c(a,b);b.registerDisposer(a.objectAlpha.changed.add(b.redrawNeeded.dispatch));b.registerDisposer(a.objectToDataTransform.changed.add(b.redrawNeeded.dispatch))};e.e=function(a,b,c){c=void 0===c?1:c;var d=l;d[3]=c;a.segmentColorHash.compute(d,b);if(a.segmentSelectionState.isSelected(b))for(a=0;3>a;++a)d[a]=.5*d[a]+.5;d[0]*=c;d[1]*=c;d[2]*=c;return d};e.d=function(a,c,d){Object(b.a)(a,function(f,l){var h=Object(b.b)(f,a.clipBounds.value);h=c.get(h);void 0!==h&&d(l,f,h)})};a.d(e,"b",
-function(){return u});var b=a(221);g=a(1);e=a(3);var d=a(7),f=a(16),h=a(49);a=a(15);var q=function y(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return y(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},k=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,
-d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),t=function(){function a(b,c){m(this,a);this.key=b;this.value=c}k(a,[{key:"toString",value:function(){return this.key+"\u2192"+this.value}}]);return a}(),r=function(a){function b(){m(this,b);var a=p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments));a.selectedSegment=new f.a;a.hasSelectedSegment=!1;a.changed=new d.a;return a}n(b,a);k(b,[{key:"set",value:function(a){if(null==a)this.hasSelectedSegment&&(this.hasSelectedSegment=
-!1,this.changed.dispatch());else{var b=this.selectedSegment;this.hasSelectedSegment&&a.low===b.low&&a.high===b.high||(b.low=a.low,b.high=a.high,this.hasSelectedSegment=!0,this.changed.dispatch())}}},{key:"isSelected",value:function(a){return this.hasSelectedSegment&&f.a.equal(a,this.selectedSegment)}},{key:"bindTo",value:function(a,b){var c=this,d=new f.a;this.registerDisposer(a.changed.add(function(){var f=a.get(b);"number"===typeof f?(d.low=f,d.high=0,f=d):f instanceof t&&(f=f.value);c.set(f)}))}}]);
-return b}(g.a),l=e.r.create(),u=function(a){function b(a,c){m(this,b);var d=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));d.chunkManager=a;d.displayState=c;d.registerDisposer(c.clipBounds.changed.add(function(){return a.chunkQueueManager.scheduleChunkUpdate()}));return d}n(b,a);k(b,[{key:"initializeCounterpartWithChunkManager",value:function(a){var c=this.displayState;a.chunkManager=this.chunkManager.rpcId;a.visibleSegments=c.visibleSegments.rpcId;a.segmentEquivalences=c.segmentEquivalences.rpcId;
-a.clipBounds=c.clipBounds.rpcId;q(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"initializeCounterpart",this).call(this,this.chunkManager.rpc,a)}}]);return b}(Object(h.c)(a.b))},function(g,e,a){function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,
-b):a.__proto__=b)}a.d(e,"b",function(){return d});g=a(1);var n=a(22);a.d(e,"a",function(){return n.a});a.d(e,"c",function(){return n.c});var m=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),c=new Set("f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 escape pause".split(" ")),b=new Set("color date datetime datetime-local email month number password search tel text time url week".split(" ")),
-d=function(a){function d(a,b){if(!(this instanceof d))throw new TypeError("Cannot call a class as a function");var c=(d.__proto__||Object.getPrototypeOf(d)).call(this);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");c=!c||"object"!==typeof c&&"function"!==typeof c?this:c;c.target=a;c.eventMap=b;c.modifierShortcutsAreGlobal=!0;c.allShortcutsAreGlobal=!1;c.allowSpaceKeyOnButtons=!1;c.registerEventListener(a,"keydown",c.handleKeyDown.bind(c),!1);return c}
-p(d,a);m(d,[{key:"shouldIgnoreEvent",value:function(a,d){var f=d.target,h=f.tagName;if(f===this.target)return!1;var l="TEXTAREA"===h||"INPUT"===h||"BUTTON"===h||"SELECT"===h,k=!l&&(f.isContentEditable||f.ownerDocument&&"on"===f.ownerDocument.designMode);return!l&&!k||this.allShortcutsAreGlobal||c.has(a)?!1:k||this.modifierShortcutsAreGlobal&&(d.altKey||d.ctrlKey||d.metaKey)?!0:"INPUT"===h&&b.has(f.type)?"enter"!==a:"INPUT"===h||"BUTTON"===h?this.allowSpaceKeyOnButtons?!1:"space"===a:!0}},{key:"handleKeyDown",
-value:function(a){var b=a.code.toLowerCase();this.shouldIgnoreEvent(b,a)||Object(n.b)(b,a,this.eventMap)}}]);return d}(g.a)},function(g,e,a){e.a=function(a){return new p.a(void 0===a?.5:a,n.r)};var p=a(14),n=a(6)},function(g,e,a){function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+
-typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function m(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}a.d(e,"b",function(){return r});a.d(e,"a",function(){return z});var c=a(99),b=a(16),d=function x(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),
-null!==a)return x(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},f=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();e.c=3;var h=0,q=0,k=0,t=0;g=function(){function a(b){b=void 0===b?a.generateHashFunctions(3):b;m(this,a);this.loadFactor=.9;this.size=0;this.growFactor=
-1.2;this.maxHeight=8192;this.emptyHigh=this.emptyLow=4294967295;this.maxAttempts=this.maxRehashAttempts=5;this.maxWidth=4096/this.entryStride;this.generation=0;this.mungedEmptyKey=-1;this.hashFunctions=b;this.allocate(4,1)}f(a,[{key:"updateHashFunctions",value:function(b){this.hashFunctions=a.generateHashFunctions(b);this.mungedEmptyKey=-1}},{key:"tableWithMungedEmptyKey",value:function(a){for(var b=this.hashFunctions.length,c=Array(b),d=0;d<b;++d)c[d]=this.getHash(d,this.emptyLow,this.emptyHigh);
-d=this.mungedEmptyKey;if(-1===d)a:for(;;){d=16777216*Math.random()>>>0;for(var f=0;f<b;++f)for(var l=this.getHash(f,d,d),h=0;h<b;++h)if(c[h]===l)continue a;this.mungedEmptyKey=d;break}f=this.table;l=this.emptyLow;h=this.emptyHigh;for(var k=0;k<b;++k){var q=c[k];f[q]===l&&f[q+1]===h&&(f[q]=d,f[q+1]=d)}try{a(f)}finally{for(a=0;a<b;++a)k=c[a],f[k]===d&&f[k+1]===d&&(f[k]=l,f[k+1]=h)}}},{key:"getHash",value:function(a,b,c){a=this.hashFunctions[a];var d=this.width,f=this.height;d=a[0].compute(b,c)%d;b=
-a[1].compute(b,c)%f;return this.entryStride*(b*this.width+d)}},{key:"keys",value:function(a){function c(c,m){for(;;)switch(d){case 0:a=void 0===a?new b.a:a,g=A,t=g.emptyLow,u=g.emptyHigh,e=g.entryStride,r=A,q=r.table,k=0,h=q.length;case 1:if(!(k<h)){d=3;break}l=q[k];f=q[k+1];if(l===t&&f===u){d=4;break}a.low=l;a.high=f;d=5;return{value:a,done:!1};case 5:if(void 0===m){d=6;break}d=-1;throw m;case 6:case 4:case 2:k+=e;d=1;break;case 3:d=-1;default:return{value:void 0,done:!0}}}var d=0,f,l,h,k,q,r,e,
-u,t,g,A=this,m={next:function(a){return c(a,void 0)},throw:function(a){return c(void 0,a)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();m[Symbol.iterator]=function(){return this};return m}},{key:"indexOfPair",value:function(a,b){var c=this.table,d=this.emptyHigh;if(a===this.emptyLow&&b===d)return-1;d=0;for(var f=this.hashFunctions.length;d<f;++d){var l=this.getHash(d,a,b);if(c[l]===a&&c[l+1]===b)return l}return-1}},{key:"indexOf",value:function(a){return this.indexOfPair(a.low,
-a.high)}},{key:"chooseAnotherEmptyKey",value:function(){for(var a=this.emptyLow,b=this.emptyHigh,c=this.table,d=this.entryStride,f,l;f=4294967296*Math.random()>>>0,l=4294967296*Math.random()>>>0,f===a&&l===b||this.hasPair(f,l););this.emptyLow=f;this.emptyHigh=l;for(var h=0,k=c.length;h<k;h+=d)c[h]===a&&c[h+1]===b&&(c[h]=f,c[h+1]=l)}},{key:"has",value:function(a){return-1!==this.indexOf(a)}},{key:"hasPair",value:function(a,b){return-1!==this.indexOfPair(a,b)}},{key:"delete",value:function(a){a=this.indexOf(a);
-if(-1!==a){var b=this.table;b[a]=this.emptyLow;b[a+1]=this.emptyHigh;++this.generation;this.size--;return!0}return!1}},{key:"clearTable",value:function(){for(var a=this.table,b=this.entryStride,c=this.emptyLow,d=this.emptyHigh,f=a.length,l=0;l<f;l+=b)a[l]=c,a[l+1]=d}},{key:"clear",value:function(){if(0===this.size)return!1;this.size=0;++this.generation;this.clearTable();return!0}},{key:"swapPending",value:function(a,b){var c=h,d=q;this.storePending(a,b);a[b]=c;a[b+1]=d}},{key:"storePending",value:function(a,
-b){h=a[b];q=a[b+1]}},{key:"backupPending",value:function(){k=h;t=q}},{key:"restorePending",value:function(){h=k;q=t}},{key:"tryToInsert",value:function(){for(var a=0,b=this.emptyLow,c=this.emptyHigh,d=this.maxAttempts,f=this.table,l=this.hashFunctions.length,k=Math.floor(Math.random()*l);;){var r=this.getHash(k,h,q);this.swapPending(f,r);if(h===b&&q===c)return!0;if(++a===d)break;k=(k+Math.floor(Math.random()*(l-1))+1)%l}return!1}},{key:"allocate",value:function(a,b){var c=a*b;this.width=a;this.height=
-b;this.table=new Uint32Array(c*this.entryStride);this.maxAttempts=c;this.clearTable();this.capacity=c*this.loadFactor;this.mungedEmptyKey=-1}},{key:"rehash",value:function(a,b,c){this.allocate(b,c);this.updateHashFunctions(this.hashFunctions.length);b=this.emptyLow;c=this.emptyHigh;for(var d=this.entryStride,f=0,l=a.length;f<l;f+=d){var h=a[f+1];if(a[f]!==b||h!==c)if(this.storePending(a,f),!this.tryToInsert())return!1}return!0}},{key:"grow",value:function(a){for(var b=this.table,c=this.width,d=this.height,
-f=this.maxWidth,l=this.maxHeight;;){var h=c*d;c=Math.min(f,Math.ceil(a/this.height));c*d<a&&(d=Math.min(l,Math.ceil(a/c)));var k=c*d;if(k<a&&k===h)throw Error("Maximum table size exceeded");for(h=0;h<this.maxRehashAttempts;++h)if(this.rehash(b,c,d))return;a=Math.ceil(this.growFactor*a)}}},{key:"insertInternal",value:function(){++this.generation;h===this.emptyLow&&q===this.emptyHigh&&this.chooseAnotherEmptyKey();++this.size>this.capacity&&(this.backupPending(),this.grow(Math.ceil(this.growFactor*this.width*
-this.height)),this.restorePending());for(;!this.tryToInsert();)this.backupPending(),this.grow(this.width*this.height),this.restorePending()}}],[{key:"generateHashFunctions",value:function(a){a=void 0===a?3:a;for(var b=[],d=0;d<a;++d){var f=[c.a.generate(),c.a.generate()];b.push(f)}return b}}]);return a}();var r=function(a){function b(){m(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);$jscomp.initSymbol();$jscomp.initSymbolIterator();f(b,[{key:"add",value:function(a){var b=
-a.low;a=a.high;if(this.hasPair(b,a))return!1;h=b;q=a;this.insertInternal();return!0}},{key:Symbol.iterator,value:function(){return this.keys()}}]);return b}(g);r.prototype.entryStride=2;var l=0,u=0,A=0,y=0,z=function(a){function c(){m(this,c);return p(this,(c.__proto__||Object.getPrototypeOf(c)).apply(this,arguments))}n(c,a);$jscomp.initSymbol();$jscomp.initSymbolIterator();f(c,[{key:"set",value:function(a,b){var c=a.low;a=a.high;if(this.hasPair(c,a))return!1;h=c;q=a;l=b.low;u=b.high;this.insertInternal();
-return!0}},{key:"get",value:function(a,b){a=this.indexOf(a);if(-1===a)return!1;var c=this.table;b.low=c[a+2];b.high=c[a+3];return!0}},{key:"swapPending",value:function(a,b){var f=l,h=u;d(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"swapPending",this).call(this,a,b);a[b+2]=f;a[b+3]=h}},{key:"storePending",value:function(a,b){d(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"storePending",this).call(this,a,b);l=a[b+2];u=a[b+3]}},{key:"backupPending",value:function(){d(c.prototype.__proto__||
-Object.getPrototypeOf(c.prototype),"backupPending",this).call(this);A=l;y=u}},{key:"restorePending",value:function(){d(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"restorePending",this).call(this);l=A;u=y}},{key:Symbol.iterator,value:function(){return this.entries()}},{key:"entries",value:function(a){function c(c,C){for(;;)switch(d){case 0:a=void 0===a?[new b.a,new b.a]:a,n=y,m=n.emptyLow,A=n.emptyHigh,g=n.entryStride,t=y,u=t.table,e=$jscomp.makeIterator(a),r=e.next().value,q=e.next().value,
-k=0,h=u.length;case 1:if(!(k<h)){d=3;break}l=u[k];f=u[k+1];if(l===m&&f===A){d=4;break}r.low=l;r.high=f;q.low=u[k+2];q.high=u[k+3];d=5;return{value:a,done:!1};case 5:if(void 0===C){d=6;break}d=-1;throw C;case 6:case 4:case 2:k+=g;d=1;break;case 3:d=-1;default:return{value:void 0,done:!0}}}var d=0,f,l,h,k,q,r,e,u,t,g,A,m,n,y=this,E={next:function(a){return c(a,void 0)},throw:function(a){return c(void 0,a)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();E[Symbol.iterator]=
-function(){return this};return E}}]);return c}(g);z.prototype.entryStride=4},function(g,e,a){function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});
-b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function m(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}a.d(e,"b",function(){return f});a.d(e,"c",function(){return h});a.d(e,"a",function(){return q});g=a(1);var c=a(7),b=function t(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return t(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===
-b?void 0:b.call(c)}},d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),f=function(){function a(b,d){m(this,a);this.value_=b;this.defaultValue=d;this.changed=new c.a}d(a,[{key:"toggle",value:function(){this.value=!this.value}},{key:"toJSON",value:function(){if(this.value_!==this.defaultValue)return this.value_}},
-{key:"restoreState",value:function(a){this.value=!0===a||!1===a?a:this.defaultValue}},{key:"reset",value:function(){this.value=this.defaultValue}},{key:"value",get:function(){return this.value_},set:function(a){a!==this.value_&&(this.value_=a,this.changed.dispatch())}}]);return a}(),h=function(a){function c(a){m(this,c);var b=p(this,(c.__proto__||Object.getPrototypeOf(c)).call(this));b.model=a;b.element=document.createElement("input");var d=b.element;d.type="checkbox";b.registerDisposer(a.changed.add(function(){b.updateCheckbox()}));
-b.updateCheckbox();b.registerEventListener(d,"change",function(b){a.value=this.checked});d.addEventListener("mousedown",function(a){a.preventDefault()});return b}n(c,a);d(c,[{key:"updateCheckbox",value:function(){this.element.checked=this.model.value}},{key:"disposed",value:function(){var a=this.element,d=a.parentElement;d&&d.removeChild(a);b(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"disposed",this).call(this)}}]);return c}(g.a),q=function(a){function b(a,c){m(this,b);var d=p(this,
-(b.__proto__||Object.getPrototypeOf(b)).call(this));d.model=a;d.element=c;d.updateVisibility();d.registerDisposer(a.changed.add(function(){d.updateVisibility()}));return d}n(b,a);d(b,[{key:"updateVisibility",value:function(){this.element.style.display=this.model.value?"":"none"}}]);return b}(g.a)},function(g,e,a){function p(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function n(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
-return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function m(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a,b,c,d){var f=!1,l;a.registerDisposer(b);var h=q.UNLINKED,k=function(){var f=c.value;if(f!==h)switch(f){case q.UNLINKED:l=
-void 0;break;case q.LINKED:l=void 0;d.assign(a,b);break;case q.RELATIVE:l=d.difference(a,b)}h=f;a.changed.dispatch()};a.registerDisposer(a.changed.add(function(){if(!f)switch(c.value){case q.LINKED:d.assign(b,a);break;case q.RELATIVE:d.subtract(b,a,l)}}));a.registerDisposer(b.changed.add(function(){f=!0;switch(c.value){case q.UNLINKED:if(d.isValid(a))break;case q.LINKED:d.assign(a,b);break;case q.RELATIVE:d.add(a,b,l)}f=!1}));a.registerDisposer(c.changed.add(k));k();return a}a.d(e,"d",function(){return q});
-a.d(e,"b",function(){return A});a.d(e,"f",function(){return y});a.d(e,"a",function(){return z});a.d(e,"g",function(){return B});a.d(e,"c",function(){return v});a.d(e,"e",function(){return E});g=a(1);var b=a(3),d=a(6),f=a(7);a=a(287);var h=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),q;(function(a){a[a.LINKED=
-0]="LINKED";a[a.RELATIVE=1]="RELATIVE";a[a.UNLINKED=2]="UNLINKED"})(q||(q={}));var k=function(a){function b(a){a=void 0===a?q.LINKED:a;p(this,b);return n(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,q,a))}m(b,a);return b}(a.a),t=function(a){function c(a){p(this,c);var d=n(this,(c.__proto__||Object.getPrototypeOf(c)).call(this));d.changed=new f.a;var l=!0;null==a&&(a=b.p.create(),l=!1);d.size=a;d.valid=l;return d}m(c,a);h(c,[{key:"reset",value:function(){this.valid=!1;this.changed.dispatch()}},
-{key:"setValid",value:function(){this.valid||(this.valid=!0,this.changed.dispatch())}},{key:"toJSON",value:function(){if(this.valid)return Array.prototype.slice.call(this.size)}},{key:"restoreState",value:function(a){try{Object(d.b)(this.size,a),this.valid=!0,this.changed.dispatch()}catch(H){this.valid=!1,this.changed.dispatch()}}},{key:"toString",value:function(){return this.valid?this.size.toString():null}},{key:"voxelFromSpatial",value:function(a,c){return b.p.divide(a,c,this.size)}},{key:"spatialFromVoxel",
-value:function(a,c){return b.p.multiply(a,c,this.size)}}]);return c}(g.a),r=b.p.create(),l=b.l.create(),u=function(a){function c(a,d){p(this,c);var l=n(this,(c.__proto__||Object.getPrototypeOf(c)).call(this));l.voxelCoordinates=null;l.changed=new f.a;null==a&&(a=new t);l.voxelSize=a;var h=!0;null==d&&(d=b.p.create(),h=!1);l.spatialCoordinates=d;l.spatialCoordinatesValid=h;l.registerDisposer(a);l.registerDisposer(a.changed.add(function(){l.handleVoxelSizeChanged()}));return l}m(c,a);h(c,[{key:"reset",
-value:function(){this.spatialCoordinatesValid=!1;this.voxelCoordinates=null;this.voxelSize.reset();this.changed.dispatch()}},{key:"getVoxelCoordinates",value:function(a){var c=this.voxelCoordinates;if(c)b.p.copy(a,c);else if(this.valid)this.voxelSize.voxelFromSpatial(a,this.spatialCoordinates);else return!1;return!0}},{key:"setVoxelCoordinates",value:function(a){var c=this.voxelSize;c.valid?(c.spatialFromVoxel(this.spatialCoordinates,a),this.markSpatialCoordinatesChanged()):(c=this.voxelCoordinates)?
-b.p.copy(c,a):this.voxelCoordinates=b.p.clone(a);this.changed.dispatch()}},{key:"markSpatialCoordinatesChanged",value:function(){this.spatialCoordinatesValid=!0;this.voxelCoordinates=null;this.changed.dispatch()}},{key:"handleVoxelSizeChanged",value:function(){null==this.voxelCoordinates||this.spatialCoordinatesValid||(this.voxelSize.spatialFromVoxel(this.spatialCoordinates,this.voxelCoordinates),this.spatialCoordinatesValid=!0);this.voxelCoordinates=null;this.changed.dispatch()}},{key:"toJSON",value:function(){var a=
-!0,b=this.voxelSize.toJSON(),c={};void 0!==b&&(a=!1,c.voxelSize=b);this.voxelCoordinatesValid?(this.getVoxelCoordinates(r),c.voxelCoordinates=Array.prototype.slice.call(r),a=!1):this.spatialCoordinatesValid&&(c.spatialCoordinates=Array.prototype.slice.call(this.spatialCoordinates),a=!1);if(!a)return c}},{key:"restoreState",value:function(a){var c=this;Object(d.u)(a);Object(d.w)(a,"voxelSize",function(a){void 0!==a&&c.voxelSize.restoreState(a)});this.spatialCoordinatesValid=!1;Object(d.w)(a,"voxelCoordinates",
-function(a){void 0!==a&&c.setVoxelCoordinates(Object(d.b)(b.p.create(),a))});Object(d.w)(a,"spatialCoordinates",function(a){void 0!==a&&(Object(d.b)(c.spatialCoordinates,a),c.markSpatialCoordinatesChanged())})}},{key:"snapToVoxel",value:function(){if(this.valid){for(var a=this.spatialCoordinates,b=this.voxelSize.size,c=0;3>c;++c){var d=b[c];a[c]=Math.round(a[c]/d)*d}this.changed.dispatch()}else if(a=this.voxelCoordinates,null!=a){for(b=0;3>b;++b)a[b]=Math.round(a[b]);this.changed.dispatch()}}},{key:"assign",
-value:function(a){this.spatialCoordinatesValid=a.spatialCoordinatesValid;b.p.copy(this.spatialCoordinates,a.spatialCoordinates);this.voxelCoordinates=(a=a.voxelCoordinates)&&b.p.clone(a);this.changed.dispatch()}},{key:"valid",get:function(){return this.spatialCoordinatesValid&&this.voxelSize.valid}},{key:"voxelCoordinatesValid",get:function(){return this.valid||null!=this.voxelCoordinates}}],[{key:"getOffset",value:function(a,c){if(a.spatialCoordinatesValid&&c.spatialCoordinatesValid)return{spatialOffset:b.p.subtract(b.p.create(),
-a.spatialCoordinates,c.spatialCoordinates)};if(a.voxelCoordinates&&c.voxelCoordinates){if(a.voxelSize!==c.voxelSize)throw Error("Voxel offsets are only meaningful with identical voxelSize.");return{voxelOffset:b.p.subtract(b.p.create(),a.voxelCoordinates,c.voxelCoordinates)}}return{}}},{key:"addOffset",value:function(a,c,d,f){f=void 0===f?1:f;var l=d.spatialOffset;d=d.voxelOffset;void 0!==l&&c.spatialCoordinatesValid?(b.p.scaleAndAdd(a.spatialCoordinates,c.spatialCoordinates,l,f),a.markSpatialCoordinatesChanged()):
-void 0!==d&&c.getVoxelCoordinates(r)&&a.setVoxelCoordinates(b.p.scaleAndAdd(r,r,d,f))}}]);return c}(g.a);a=function(){function a(b,c){c=void 0===c?new k:c;p(this,a);this.peer=b;this.link=c}h(a,[{key:"toJSON",value:function(){var a=this.link;if(a.value!==q.LINKED)return{link:a.toJSON(),value:this.getValueJson()}}},{key:"getValueJson",value:function(){return this.value.toJSON()}},{key:"reset",value:function(){this.link.value=q.LINKED}},{key:"restoreState",value:function(a){var b=this;void 0===a?this.link.value=
-q.LINKED:(Object(d.u)(a),this.link.value=q.UNLINKED,Object(d.w)(a,"value",function(a){void 0!==a&&b.value.restoreState(a)}),Object(d.w)(a,"link",function(a){return b.link.restoreState(a)}))}},{key:"copyToPeer",value:function(){this.link.value!==q.LINKED&&(this.link.value=q.UNLINKED,this.peer.assign(this.value),this.link.value=q.LINKED)}},{key:"changed",get:function(){return this.value.changed}}]);return a}();var A=function(a){function b(){p(this,b);var a=n(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,
-arguments));a.value=c(new u(a.peer.voxelSize.addRef()),a.peer,a.link,{assign:function(a,b){return a.assign(b)},isValid:function(a){return a.spatialCoordinatesValid||a.voxelCoordinatesValid},difference:u.getOffset,add:u.addOffset,subtract:function(a,b,c){u.addOffset(a,b,c,-1)}});return a}m(b,a);h(b,[{key:"getValueJson",value:function(){var a=this.value.toJSON()||{};delete a.voxelSize;return a}}]);return b}(a),y=function(a){function c(a){p(this,c);var d=n(this,(c.__proto__||Object.getPrototypeOf(c)).call(this));
-d.changed=new f.a;null==a&&(a=b.l.create());d.orientation=a;return d}m(c,a);h(c,[{key:"toJSON",value:function(){var a=this.orientation;if(0!==a[0]||0!==a[1]||0!==a[2]||1!==a[3])return Array.prototype.slice.call(this.orientation)}},{key:"restoreState",value:function(a){try{Object(d.b)(this.orientation,a),b.l.normalize(this.orientation,this.orientation)}catch(H){b.l.identity(this.orientation)}this.changed.dispatch()}},{key:"reset",value:function(){b.l.identity(this.orientation);this.changed.dispatch()}},
-{key:"snap",value:function(){var a=b.i.create();b.i.fromQuat(a,this.orientation);for(var c=[!1,!1,!1],d=0;3>d;++d){for(var f=0,l=0,h=0;3>h;++h){var k=a[3*d+h];a[3*d+h]=0;!c[h]&&Math.abs(k)>Math.abs(f)&&(f=k,l=h)}a[3*d+l]=Math.sign(f);c[l]=!0}b.l.fromMat3(this.orientation,a);this.changed.dispatch()}},{key:"assign",value:function(a){b.l.copy(this.orientation,a.orientation);this.changed.dispatch()}}],[{key:"makeRelative",value:function(a,d){var f=new c(b.l.multiply(b.l.create(),a.orientation,d)),l=!1;
-f.registerDisposer(a.changed.add(function(){l||(h=!0,b.l.multiply(f.orientation,a.orientation,d),f.changed.dispatch(),h=!1)}));var h=!1,k=b.l.invert(b.l.create(),d);f.registerDisposer(f.changed.add(function(){h||(l=!0,b.l.multiply(a.orientation,f.orientation,k),a.changed.dispatch(),l=!1)}));return f}}]);return c}(g.a),z=function(a){function d(){p(this,d);var a=n(this,(d.__proto__||Object.getPrototypeOf(d)).apply(this,arguments));a.value=c(new y,a.peer,a.link,{assign:function(a,b){return a.assign(b)},
-isValid:function(){return!0},difference:function(a,c){var d=b.l.create();return b.l.multiply(d,b.l.invert(d,c.orientation),a.orientation)},add:function(a,c,d){b.l.multiply(a.orientation,c.orientation,d);a.changed.dispatch()},subtract:function(a,c,d){b.l.multiply(a.orientation,c.orientation,b.l.invert(l,d));a.changed.dispatch()}});return a}m(d,a);return d}(a),B=function(a){function c(a,b){p(this,c);var d=n(this,(c.__proto__||Object.getPrototypeOf(c)).call(this));d.changed=new f.a;null==a&&(a=new u);
-d.position=a;null==b&&(b=new y);d.orientation=b;d.registerDisposer(d.position);d.registerDisposer(d.orientation);d.registerDisposer(d.position.changed.add(d.changed.dispatch));d.registerDisposer(d.orientation.changed.add(d.changed.dispatch));return d}m(c,a);h(c,[{key:"reset",value:function(){this.position.reset();this.orientation.reset()}},{key:"toMat4",value:function(a){b.j.fromRotationTranslation(a,this.orientation.orientation,this.position.spatialCoordinates)}},{key:"toJSON",value:function(){var a=
-this.position.toJSON(),b=this.orientation.toJSON();if(void 0!==a||void 0!==b)return{position:a,orientation:b}}},{key:"restoreState",value:function(a){var b=this;Object(d.u)(a);Object(d.w)(a,"position",function(a){void 0!==a&&b.position.restoreState(a)});Object(d.w)(a,"orientation",function(a){void 0!==a&&b.orientation.restoreState(a)})}},{key:"snap",value:function(){this.orientation.snap();this.position.snapToVoxel();this.changed.dispatch()}},{key:"translateAbsolute",value:function(a){b.p.add(this.position.spatialCoordinates,
-this.position.spatialCoordinates,a);this.position.changed.dispatch()}},{key:"translateRelative",value:function(a){this.valid&&(b.p.transformQuat(r,a,this.orientation.orientation),b.p.add(this.position.spatialCoordinates,this.position.spatialCoordinates,r),this.position.changed.dispatch())}},{key:"translateVoxelsRelative",value:function(a){if(this.valid){var c=b.p.create();b.p.transformQuat(c,a,this.orientation.orientation);b.p.multiply(c,c,this.position.voxelSize.size);b.p.add(this.position.spatialCoordinates,
-this.position.spatialCoordinates,c);this.position.changed.dispatch()}}},{key:"rotateRelative",value:function(a,c){var d=b.l.create();b.l.setAxisAngle(d,a,c);a=this.orientation.orientation;b.l.multiply(a,a,d);this.orientation.changed.dispatch()}},{key:"rotateAbsolute",value:function(a,c,d){var f=b.l.create();b.l.setAxisAngle(f,a,c);a=this.orientation.orientation;if(void 0!==d){c=this.position.spatialCoordinates;var h=b.p.subtract(r,d,c),k=b.l.invert(l,a);b.p.transformQuat(h,h,k);b.l.multiply(a,f,a);
-b.p.transformQuat(c,h,a);b.p.subtract(c,d,c);this.position.changed.dispatch()}else b.l.multiply(a,f,a);this.orientation.changed.dispatch()}},{key:"valid",get:function(){return this.position.valid}}]);return c}(g.a),x=function(a){function b(a,c){a=void 0===a?Number.NaN:a;c=void 0===c?a:c;p(this,b);var d=n(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));d.value_=a;d.defaultValue=c;d.changed=new f.a;return d}m(b,a);h(b,[{key:"toJSON",value:function(){var a=this.value_,b=this.defaultValue;if(!(Number.isNaN(a)&&
-Number.isNaN(b)||a===b))return a}},{key:"restoreState",value:function(a){"number"===typeof a&&Number.isFinite(a)&&0<a?this.value=a:this.value=this.defaultValue}},{key:"reset",value:function(){this.value=this.defaultValue}},{key:"zoomBy",value:function(a){var b=this.value_;Number.isNaN(b)||(this.value=b*a)}},{key:"assign",value:function(a){this.value=a.value}},{key:"value",get:function(){return this.value_},set:function(a){a!==this.value_&&(this.value_=a,this.changed.dispatch())}},{key:"valid",get:function(){return!Number.isNaN(this.value)}}]);
-return b}(g.a),v=function(a){function b(){p(this,b);var a=n(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments));a.value=function(){var b=new x;return c(b,a.peer,a.link,{assign:function(a,b){return a.assign(b)},isValid:function(a){return a.valid},difference:function(a,b){return a.value/b.value},add:function(a,b,c){a.value=b.value*c},subtract:function(a,b,c){a.value=b.value/c}})}();return a}m(b,a);return b}(a),E=function(a){function c(a,b){a=void 0===a?new B:a;b=void 0===b?Number.NaN:
-b;p(this,c);var d=n(this,(c.__proto__||Object.getPrototypeOf(c)).call(this));d.pose=a;d.changed=new f.a;d.zoomFactor="number"===typeof b?new x(b):b;d.registerDisposer(d.zoomFactor);d.registerDisposer(a);d.registerDisposer(d.pose.changed.add(function(){d.changed.dispatch()}));d.registerDisposer(d.zoomFactor.changed.add(function(){d.changed.dispatch()}));d.registerDisposer(d.voxelSize.changed.add(function(){d.handleVoxelSizeChanged()}));d.handleVoxelSizeChanged();return d}m(c,a);h(c,[{key:"reset",value:function(){this.pose.reset();
-this.zoomFactor.reset()}},{key:"setZoomFactorFromVoxelSize",value:function(){this.voxelSize.valid&&(this.zoomFactor.value=Math.min.apply(null,this.voxelSize.size))}},{key:"handleVoxelSizeChanged",value:function(){this.zoomFactor.valid||this.setZoomFactorFromVoxelSize()}},{key:"toMat4",value:function(a){this.pose.toMat4(a);var c=this.zoomFactor.value;b.j.scale(a,a,b.p.fromValues(c,c,c))}},{key:"toJSON",value:function(){var a=this.pose.toJSON(),b=this.zoomFactor.toJSON();if(void 0!==a||void 0!==b)return{pose:a,
-zoomFactor:b}}},{key:"restoreState",value:function(a){var b=this;try{Object(d.u)(a),Object(d.w)(a,"pose",function(a){void 0!==a&&b.pose.restoreState(a)}),Object(d.w)(a,"zoomFactor",function(a){void 0!==a&&b.zoomFactor.restoreState(a)}),this.handleVoxelSizeChanged(),this.changed.dispatch()}catch(D){this.reset()}}},{key:"zoomBy",value:function(a){this.zoomFactor.zoomBy(a)}},{key:"voxelSize",get:function(){return this.pose.position.voxelSize}},{key:"position",get:function(){return this.pose.position}},
-{key:"valid",get:function(){return this.pose.valid}}]);return c}(g.a)},function(g,e,a){function p(a){var e=a.Symbol;if("function"===typeof e)return e.iterator||(e.iterator=e("iterator polyfill")),e.iterator;if((e=a.Set)&&"function"===typeof(new e)["@@iterator"])return"@@iterator";if(a=a.Map){e=Object.getOwnPropertyNames(a.prototype);for(var c=0;c<e.length;++c){var b=e[c];if("entries"!==b&&"size"!==b&&a.prototype[b]===a.prototype.entries)return b}}return"@@iterator"}g=a(12);e.symbolIteratorPonyfill=
-p;e.iterator=p(g.root);e.$$iterator=e.iterator},function(g,e,a){var p=a(0);g=function(){function a(a,c,b){this.kind=a;this.value=c;this.error=b;this.hasValue="N"===a}a.prototype.observe=function(a){switch(this.kind){case "N":return a.next&&a.next(this.value);case "E":return a.error&&a.error(this.error);case "C":return a.complete&&a.complete()}};a.prototype.do=function(a,c,b){switch(this.kind){case "N":return a&&a(this.value);case "E":return c&&c(this.error);case "C":return b&&b()}};a.prototype.accept=
-function(a,c,b){return a&&"function"===typeof a.next?this.observe(a):this.do(a,c,b)};a.prototype.toObservable=function(){switch(this.kind){case "N":return p.Observable.of(this.value);case "E":return p.Observable.throw(this.error);case "C":return p.Observable.empty()}throw Error("unexpected notification kind value");};a.createNext=function(e){return"undefined"!==typeof e?new a("N",e):a.undefinedValueNotification};a.createError=function(e){return new a("E",void 0,e)};a.createComplete=function(){return a.completeNotification};
-a.completeNotification=new a("C");a.undefinedValueNotification=new a("N",void 0);return a}();e.Notification=g},function(g,e,a){var p=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)},n=a(12);g=function(a){function c(b,c){a.call(this,b,c);this.scheduler=b;this.work=c;this.pending=!1}p(c,a);c.prototype.schedule=function(a,c){void 0===c&&(c=0);if(this.closed)return this;
-this.state=a;this.pending=!0;a=this.id;var b=this.scheduler;null!=a&&(this.id=this.recycleAsyncId(b,a,c));this.delay=c;this.id=this.id||this.requestAsyncId(b,this.id,c);return this};c.prototype.requestAsyncId=function(a,c,f){void 0===f&&(f=0);return n.root.setInterval(a.flush.bind(a,this),f)};c.prototype.recycleAsyncId=function(a,c,f){void 0===f&&(f=0);return null!==f&&this.delay===f&&!1===this.pending?c:(n.root.clearInterval(c),void 0)};c.prototype.execute=function(a,c){if(this.closed)return Error("executing a cancelled action");
-this.pending=!1;if(a=this._execute(a,c))return a;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))};c.prototype._execute=function(a,c){c=!1;var b=void 0;try{this.work(a)}catch(h){c=!0,b=!!h&&h||Error(h)}if(c)return this.unsubscribe(),b};c.prototype._unsubscribe=function(){var a=this.id,c=this.scheduler,f=c.actions,h=f.indexOf(this);this.state=this.work=null;this.pending=!1;this.scheduler=null;-1!==h&&f.splice(h,1);null!=a&&(this.id=this.recycleAsyncId(c,
-a,null));this.delay=null};return c}(a(361).Action);e.AsyncAction=g},function(g,e,a){var p=this&&this.__extends||function(a,e){function c(){this.constructor=a}for(var b in e)e.hasOwnProperty(b)&&(a[b]=e[b]);a.prototype=null===e?Object.create(e):(c.prototype=e.prototype,new c)};g=function(a){function e(){a.apply(this,arguments);this.actions=[];this.active=!1;this.scheduled=void 0}p(e,a);e.prototype.flush=function(a){var b=this.actions;if(this.active)b.push(a);else{var c;this.active=!0;do if(c=a.execute(a.state,
-a.delay))break;while(a=b.shift());this.active=!1;if(c){for(;a=b.shift();)a.unsubscribe();throw c;}}};return e}(a(362).Scheduler);e.AsyncScheduler=g},function(g,e,a){var p=this&&this.__extends||function(a,e){function c(){this.constructor=a}for(var b in e)e.hasOwnProperty(b)&&(a[b]=e[b]);a.prototype=null===e?Object.create(e):(c.prototype=e.prototype,new c)};g=function(a){function e(){var c=a.call(this,"argument out of range");this.name=c.name="ArgumentOutOfRangeError";this.stack=c.stack;this.message=
-c.message}p(e,a);return e}(Error);e.ArgumentOutOfRangeError=g},function(g,e,a){function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?
-Object.setPrototypeOf(a,b):a.__proto__=b)}function m(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}a.d(e,"b",function(){return A});a.d(e,"a",function(){return y});a.d(e,"c",function(){return B});var c=a(25);g=a(23);var b=a(210);e=a(48);var d=a(50),f=a(3),h=a(27),q=a(30),k=a(31),t=a(18);a=a(15);var r=function E(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return E(a,b,c)}else{if("value"in
-d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},l=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),u=this&&this.__decorate||function(a,b,c,d){var f=arguments.length,l=3>f?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d,h;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)l=
-Reflect.decorate(a,b,c,d);else for(var k=a.length-1;0<=k;k--)if(h=a[k])l=(3>f?h(l):3<f?h(b,c,l):h(b,c))||l;return 3<f&&l&&Object.defineProperty(b,c,l),l},A=function(){function a(){m(this,a);this.tempLightVec=new Float32Array(4);this.tempPickID=new Float32Array(4)}l(a,[{key:"defineShader",value:function(a){a.addAttribute("highp vec3","aVertexPosition");a.addAttribute("highp vec3","aVertexNormal");a.addVarying("highp vec4","vColor");a.addUniform("highp vec4","uLightDirection");a.addUniform("highp vec4",
-"uColor");a.addUniform("highp mat4","uModelMatrix");a.addUniform("highp mat4","uProjection");a.addUniform("highp vec4","uPickID");a.setVertexMain("\ngl_Position = uProjection * (uModelMatrix * vec4(aVertexPosition, 1.0));\nvec3 normal = (uModelMatrix * vec4(aVertexNormal, 0.0)).xyz;\nfloat lightingFactor = abs(dot(normal, uLightDirection.xyz)) + uLightDirection.w;\nvColor = vec4(lightingFactor * uColor.rgb, uColor.a);\n");a.setFragmentMain("emit(vColor, uPickID);")}},{key:"beginLayer",value:function(a,
-b,c){var d=c.dataToDevice,l=c.lightDirection,h=c.ambientLighting;c=c.directionalLighting;a.uniformMatrix4fv(b.uniform("uProjection"),!1,d);d=this.tempLightVec;f.p.scale(d,l,c);d[3]=h;a.uniform4fv(b.uniform("uLightDirection"),d)}},{key:"setColor",value:function(a,b,c){a.uniform4fv(b.uniform("uColor"),c)}},{key:"setPickID",value:function(a,b,c){a.uniform4fv(b.uniform("uPickID"),Object(t.p)(this.tempPickID,c))}},{key:"beginObject",value:function(a,b,c){a.uniformMatrix4fv(b.uniform("uModelMatrix"),!1,
-c)}},{key:"getShader",value:function(a,b){var c=this;return a.memoize.get("mesh/MeshShaderManager:"+Object(h.a)(b),function(){var d=new k.a(a);d.require(b);c.defineShader(d);return d.build()})}},{key:"drawFragment",value:function(a,b,c){c.vertexBuffer.bindToVertexAttrib(b.attribute("aVertexPosition"),3);c.normalBuffer.bindToVertexAttrib(b.attribute("aVertexNormal"),3);c.indexBuffer.bind();a.drawElements(a.TRIANGLES,c.numIndices,a.UNSIGNED_INT,0)}},{key:"endLayer",value:function(a,b){a.disableVertexAttribArray(b.attribute("aVertexPosition"));
-a.disableVertexAttribArray(b.attribute("aVertexNormal"))}}]);return a}(),y=function(a){function f(a,c,l){m(this,f);var h=p(this,(f.__proto__||Object.getPrototypeOf(f)).call(this));h.chunkManager=a;h.source=c;h.displayState=l;h.meshShaderManager=new A;h.shaders=new Map;Object(d.f)(l,h);a=h.sharedObject=h.registerDisposer(new d.b(a,l));a.RPC_TYPE_ID=b.b;a.initializeCounterpartWithChunkManager({source:c.addCounterpartRef()});h.setReady(!0);a.visibility.add(h.visibility);return h}n(f,a);l(f,[{key:"getShader",
-value:function(a){var b=this.shaders,c=b.get(a);void 0===c&&(c=this.registerDisposer(this.meshShaderManager.getShader(this.gl,a)),b.set(a,c));return c}},{key:"draw",value:function(a){var b=this;if(a.emitColor||!a.alreadyEmittedPickID){var f=this.gl,l=this.displayState,h=this.meshShaderManager,k=Math.min(1,l.objectAlpha.value);if(!(0>=k)){var q=this.getShader(a.emitter);q.bind();h.beginLayer(f,q,a);var r=a.pickIDs,e=this.displayState.objectToDataTransform.transform;Object(d.d)(l,this.source.fragmentSource.objectChunks,
-function(u,t,g){a.emitColor&&h.setColor(f,q,Object(d.e)(l,u,k));a.emitPickID&&h.setPickID(f,q,r.registerUint64(b,t));h.beginObject(f,q,e);u=$jscomp.makeIterator(g);for(t=u.next();!t.done;t=u.next())t=t.value,t.state===c.d.GPU_MEMORY&&h.drawFragment(f,q,t)});h.endLayer(f,q)}}}},{key:"isTransparent",get:function(){return 1>this.displayState.objectAlpha.value}},{key:"gl",get:function(){return this.chunkManager.chunkQueueManager.gl}}]);return f}(e.a),z=function(a){function b(a,c){m(this,b);a=p(this,(b.__proto__||
-Object.getPrototypeOf(b)).call(this,a));a.objectKey=c.objectKey;a.vertexPositions=c.vertexPositions;var d=a.indices=c.indices;a.numIndices=d.length;a.vertexNormals=c.vertexNormals;return a}n(b,a);l(b,[{key:"copyToGPU",value:function(a){r(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"copyToGPU",this).call(this,a);this.vertexBuffer=q.a.fromData(a,this.vertexPositions,a.ARRAY_BUFFER,a.STATIC_DRAW);this.indexBuffer=q.a.fromData(a,this.indices,a.ELEMENT_ARRAY_BUFFER,a.STATIC_DRAW);this.normalBuffer=
-q.a.fromData(a,this.vertexNormals,a.ARRAY_BUFFER,a.STATIC_DRAW)}},{key:"freeGPUMemory",value:function(a){r(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"freeGPUMemory",this).call(this,a);this.vertexBuffer.dispose();this.indexBuffer.dispose();this.normalBuffer.dispose()}}]);return b}(g.b),B=function(a){function b(){m(this,b);var a=p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments));a.fragmentSource=a.registerDisposer(new x(a.chunkManager,a));return a}n(b,a);l(b,[{key:"initializeCounterpart",
-value:function(a,c){this.fragmentSource.initializeCounterpart(this.chunkManager.rpc,{});c.fragmentSource=this.fragmentSource.addCounterpartRef();r(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"initializeCounterpart",this).call(this,a,c)}}]);return b}(g.e),x=function(a){function b(a,c){m(this,b);a=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a));a.meshSource=c;a.objectChunks=new Map;return a}n(b,a);l(b,[{key:"addChunk",value:function(a,c){r(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),
-"addChunk",this).call(this,a,c);a=this.objectChunks;var d=c.objectKey,f=a.get(d);void 0===f&&(f=new Set,a.set(d,f));f.add(c)}},{key:"deleteChunk",value:function(a){var c=this.chunks.get(a);r(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"deleteChunk",this).call(this,a);a=this.objectChunks;var d=c.objectKey,f=a.get(d);f.delete(c);0===f.size&&a.delete(d)}},{key:"getChunk",value:function(a){return new z(this,a)}}]);return b}(g.e);x=u([Object(a.g)(b.a)],x)},function(g,e){e=function(){return this}();
-try{e=e||Function("return this")()||(0,eval)("this")}catch(a){"object"===typeof window&&(e=window)}g.exports=e},function(g,e,a){function p(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function n(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function m(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+
-typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a){a.addFragmentCode("\nvoid emit(vec4 color, vec4 pickId) {\n  gl_FragColor = color;\n}\n")}function b(a){a.addFragmentCode("\nvoid emit(vec4 color, vec4 pickId) {\n  gl_FragColor = pickId;\n}\n")}a.d(e,"b",function(){return z});a.d(e,"a",function(){return B});var d=a(126),f=a(21),h=a(128);g=a(129);var q=
-a(43),k=a(22),t=a(3),r=a(68),l=a(88),u=a(89),A=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),y;(function(a){a[a.COLOR=0]="COLOR";a[a.PICK=1]="PICK";a[a.NUM_TEXTURES=2]="NUM_TEXTURES"})(y||(y={}));var z=function(a){function b(){p(this,b);return n(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}
-m(b,a);A(b,[{key:"draw",value:function(a){}}]);return b}(f.h),B=function(a){function e(a,b,g,A){p(this,e);var m=n(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,a,b,A));m.sliceView=g;m.axesLineHelper=m.registerDisposer(d.a.get(m.gl));m.sliceViewRenderHelper=m.registerDisposer(q.d.get(m.gl,c));m.colorFactor=t.r.fromValues(1,1,1,1);m.backgroundColor=t.r.fromValues(.5,.5,.5,1);m.pickIDs=new h.a;m.visibleLayerTracker=Object(f.i)(m.viewer.layerManager,z,m);m.offscreenFramebuffer=m.registerDisposer(new l.b(m.gl,
-{colorBuffers:Object(l.e)(m.gl,y.NUM_TEXTURES)}));m.offscreenCopyHelper=m.registerDisposer(l.c.get(m.gl));m.scaleBarCopyHelper=m.registerDisposer(l.c.get(m.gl));m.scaleBarTexture=m.registerDisposer(new u.b(m.gl));Object(k.c)(b,"translate-via-mouse-drag",function(a){m.viewer.mouseState.updateUnconditionally()&&Object(r.a)(a.detail,function(a,b,c){a=m.viewer.navigationState.position;var d=a.spatialCoordinates;t.p.set(d,b,c,0);t.p.transformMat4(d,d,m.sliceView.viewportToData);a.changed.dispatch()})});
-Object(k.c)(b,"rotate-via-mouse-drag",function(a){var b=m.viewer.mouseState;if(b.updateUnconditionally()){var c=t.p.clone(b.position);Object(r.a)(a.detail,function(a,b,d){a=m.sliceView.viewportAxes;m.viewer.navigationState.pose.rotateAbsolute(a[1],b/4*Math.PI/180,c);m.viewer.navigationState.pose.rotateAbsolute(a[0],d/4*Math.PI/180,c)})}});m.registerDisposer(g);m.registerDisposer(g.visibility.add(m.visibility));m.registerDisposer(g.viewChanged.add(function(){m.visible&&a.scheduleRedraw()}));m.registerDisposer(A.showAxisLines.changed.add(function(){m.visible&&
-m.scheduleRedraw()}));m.registerDisposer(A.showScaleBar.changed.add(function(){m.visible&&m.context.scheduleRedraw()}));return m}m(e,a);A(e,[{key:"draw",value:function(){var a=this.sliceView;if(a.hasValidViewport){this.onResize();a.updateRendering();var d=this.gl,f=a.width,l=a.height,h=a.dataToDevice;this.offscreenFramebuffer.bind(f,l);d.disable(d.SCISSOR_TEST);this.gl.clearColor(0,0,0,0);d.clear(d.COLOR_BUFFER_BIT);var k=t.j.create();this.sliceViewRenderHelper.draw(a.offscreenFramebuffer.colorBuffers[0].texture,
-t.d,this.colorFactor,this.backgroundColor,0,0,1,1);var q=this.visibleLayerTracker.getVisibleLayers(),e=this.pickIDs;e.clear();this.offscreenFramebuffer.bindSingle(y.COLOR);e={dataToDevice:a.dataToDevice,pickIDs:e,emitter:c,emitColor:!0,emitPickID:!1,viewportWidth:f,viewportHeight:l};d.enable(d.BLEND);d.blendFunc(d.SRC_ALPHA,d.ONE_MINUS_SRC_ALPHA);for(var r=$jscomp.makeIterator(q),u=r.next();!u.done;u=r.next())u.value.draw(e);d.disable(d.BLEND);this.offscreenFramebuffer.bindSingle(y.PICK);e.emitColor=
-!1;e.emitPickID=!0;e.emitter=b;q=$jscomp.makeIterator(q);for(u=q.next();!u.done;u=q.next())u.value.draw(e);if(this.viewer.showAxisLines.value||this.viewer.showScaleBar.value){if(this.viewer.showAxisLines.value){t.j.copy(k,h);for(h=0;3>h;++h)k[12+h]=0;for(h=0;4>h;++h)k[2+4*h]=0;l=Math.min(f,l)/4*1.5;h=a.pixelSize;for(q=0;12>q;++q)k[q]=k[q]*l*h}this.offscreenFramebuffer.bindSingle(y.COLOR);this.viewer.showAxisLines.value&&this.axesLineHelper.draw(k);this.viewer.showScaleBar.value&&(d.enable(d.BLEND),
-d.blendFunc(d.SRC_ALPHA,d.ONE_MINUS_SRC_ALPHA),k=this.scaleBarTexture,l=k.dimensions,l.targetLengthInPixels=Math.min(f/4,100),l.nanometersPerPixel=a.pixelSize,k.update(),d.viewport(10,10,k.width,k.height),this.scaleBarCopyHelper.draw(k.texture),d.disable(d.BLEND))}this.offscreenFramebuffer.unbind();this.setGLViewport();this.offscreenCopyHelper.draw(this.offscreenFramebuffer.colorBuffers[y.COLOR].texture)}}},{key:"onResize",value:function(){this.sliceView.setViewportSize(this.element.clientWidth,this.element.clientHeight)}},
-{key:"updateMouseState",value:function(a){a.pickedRenderLayer=null;var b=this.sliceView;if(!b.hasValidViewport)return!1;var c=b.width,d=b.height,f=this.offscreenFramebuffer;if(!f.hasSize(c,d))return!1;var l=a.position,h=this.mouseX,k=this.mouseY;t.p.set(l,h-c/2,k-d/2,0);t.p.transformMat4(l,l,b.viewportToData);this.pickIDs.setMouseState(a,f.readPixelAsUint32(y.PICK,h,d-k));return!0}},{key:"zoomByMouse",value:function(a){var b=this.navigationState;if(b.valid){var c=this.sliceView,d=c.height,f=this.mouseX,
-l=this.mouseY;f-=c.width/2;l-=d/2;d=this.navigationState.zoomFactor.value;b.zoomBy(a);a=b.zoomFactor.value;var h=b.position.spatialCoordinates;t.p.scaleAndAdd(h,h,c.viewportAxes[0],f*(d-a));t.p.scaleAndAdd(h,h,c.viewportAxes[1],l*(d-a));b.position.changed.dispatch()}}},{key:"navigationState",get:function(){return this.sliceView.navigationState}}]);return e}(g.a)},function(g,e,a){function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==
-typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function m(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}a.d(e,"a",function(){return k});g=a(24);var c=a.n(g);g=
-a(1);var b=a(225),d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),f=function r(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return r(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},
-h=new function l(){m(this,l);b.a.initializeHead(this)},q=c()(function(){var a=document.activeElement;if(null===a||a===document.body)a=b.a.front(h),null!==a&&a.element.focus()});window.addEventListener("focus",function(){q()},!0);window.addEventListener("blur",function(){q()},!0);var k=function(a){function l(a){m(this,l);var d=p(this,(l.__proto__||Object.getPrototypeOf(l)).call(this));d.element=a;d.prev0=null;d.next0=null;d.lastFocusedElement=null;d.scheduleUpdateFocus=d.registerCancellable(c()(function(){var a=
-document.activeElement,b=d.element;b.contains(a)||((a===d.lastFocusedElement||a.contains(b))&&d.element.focus(),d.lastFocusedElement=null)},0));a.tabIndex=-1;d.registerEventListener(a,"mouseenter",function(){d.lastFocusedElement=document.activeElement;d.scheduleUpdateFocus()});d.registerEventListener(a,"mouseleave",function(){d.scheduleUpdateFocus.cancel()});b.a.insertBefore(h,d);d.registerEventListener(a,"focus",function(){b.a.pop(d);b.a.insertAfter(h,d)});q();return d}n(l,a);d(l,[{key:"disposed",
-value:function(){b.a.pop(this);f(l.prototype.__proto__||Object.getPrototypeOf(l.prototype),"disposed",this).call(this)}}]);return l}(g.a)},function(g,e,a){function p(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&
-(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function m(a,b,c){for(var d=0;3>d;++d)a[d]=Number.POSITIVE_INFINITY,b[d]=Number.NEGATIVE_INFINITY;c=$jscomp.makeIterator(c);for(d=c.next();!d.done;d=c.next()){var f=d.value.spec;d=f.lowerChunkBound;f=f.upperChunkBound;for(var l=0;3>l;++l)a[l]=Math.min(a[l],d[l]),b[l]=Math.max(b[l],f[l])}}function c(a,b,c,d){for(var f=l.FULLY_INSIDE,h=0;3>h;++h){var k=a[h];var q=b[h],e=c[h],r=d[h];k=k>=r||q<=e?l.FULLY_OUTSIDE:k>=e&&q<=r?l.FULLY_INSIDE:
-l.PARTIALLY_INSIDE;switch(k){case l.FULLY_OUTSIDE:return k;case l.PARTIALLY_INSIDE:f=k}}return f}function b(a,b){var c=b.length,d=0;if(1<c)for(var f=0,l=0;l<c;++l){var h=b[l].spec.chunkLayout;var k=h.size;h=h.globalToLocalSpatialVector(r,a);for(var q=0,e=0,u=1,g=0;3>g;++g){var t=k[g];u*=t;t*=h[g];q=Math.min(q,t);e=Math.max(e,t)}k=u/(e-q);k>f&&(f=k,d=l)}return b[d]}function d(a){var b=a.voxelSize,c=void 0===a.lowerVoxelBound?k.h:a.lowerVoxelBound,d=a.upperVoxelBound,f=void 0===a.maxVoxelsPerChunkLog2?
-18:a.maxVoxelsPerChunkLog2;a=void 0===a.transform?k.d:a.transform;a=Object(k.c)(k.p.create(),a);b=k.p.multiply(a,a,b);a=k.p.fromValues(1,1,1);if(void 0===d)var l=k.f;else{l=k.p.create();for(var h=0;3>h;++h)l[h]=Math.pow(2,Math.floor(Math.log2(d[h]-c[h])))}for(c=0;c<f;++c){d=Infinity;h=-1;for(var q=0;3>q;++q)if(!(a[q]>=l[q])){var e=a[q]*b[q];e<d&&(d=e,h=q)}d=h;if(-1===d)break;a[d]*=2}return a}a.d(e,"b",function(){return A});e.f=d;e.e=function(a,b){b=b.transform;return void 0===b?void 0===a?k.d:a:void 0===
-a?b:k.j.multiply(k.j.create(),b,a)};e.d=function(a){if(void 0!==a.chunkDataSizes)return a.chunkDataSizes;var b=void 0===a.chunkLayoutPreference?y.ISOTROPIC:a.chunkLayoutPreference;switch(b){case y.ISOTROPIC:return[d(a)];case y.FLAT:b=[];for(var c=0;3>c;++c){var f=c;var l=a.lowerVoxelBound;var h=a.upperVoxelBound,q=c,e=a.voxelSize,u=a.maxVoxelsPerChunkLog2,g=a.transform;k.p.subtract(r,void 0===h?k.f:h,void 0===l?k.h:l);r[q]=1;l=d({voxelSize:e,upperVoxelBound:r,maxVoxelsPerChunkLog2:u,transform:g});
-b[f]=l}b.push(d(a));return b}throw Error("Invalid chunk layout preference: "+b+".");};a.d(e,"c",function(){return z});var f=a(229),h=a(132),q=a(230);a(42);var k=a(3);g=a(15);var t=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),r=k.p.create(),l;(function(a){a[a.FULLY_OUTSIDE=0]="FULLY_OUTSIDE";a[a.FULLY_INSIDE=
-1]="FULLY_INSIDE";a[a.PARTIALLY_INSIDE=2]="PARTIALLY_INSIDE"})(l||(l={}));var u=[k.p.create(),k.p.create(),k.p.create(),k.p.create()],A=function(a){function d(){p(this,d);var a=(d.__proto__||Object.getPrototypeOf(d)).call(this);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");a=!a||"object"!==typeof a&&"function"!==typeof a?this:a;a.width=-1;a.height=-1;a.hasViewportToData=!1;a.hasValidViewport=!1;a.viewportToData=k.j.create();a.viewportAxes=[k.p.create(),
-k.p.create(),k.p.create()];a.previousViewportAxes=[k.p.create(),k.p.create()];a.centerDataPosition=k.p.create();a.viewportPlaneDistanceToOrigin=0;a.visibleChunkLayouts=new Map;a.visibleLayers=new Map;a.visibleSourcesStale=!0;a.pixelSize=0;k.j.identity(a.viewportToData);return a}n(d,a);t(d,[{key:"onViewportChanged",value:function(){}},{key:"maybeSetHasValidViewport",value:function(){!this.hasValidViewport&&-1!==this.width&&-1!==this.height&&this.hasViewportToData&&(this.hasValidViewport=!0,this.onHasValidViewport());
-if(this.hasValidViewport)this.onViewportChanged()}},{key:"onHasValidViewport",value:function(){}},{key:"setViewportSize",value:function(a,b){return a!==this.width||b!==this.height?(this.width=a,this.height=b,this.maybeSetHasValidViewport(),!0):!1}},{key:"setViewportToDataMatrix",value:function(a){if(this.hasViewportToData&&k.j.equals(this.viewportToData,a))return!1;this.hasViewportToData=!0;var b=this.viewportToData;k.j.copy(b,a);Object(k.m)(b);k.p.transformMat4(this.centerDataPosition,k.h,a);a=0;
-for(var c=this.viewportAxes,d=this.previousViewportAxes,f=0;3>f;++f){var l=c[f];Object(k.n)(l,k.e[f],b);0===f&&(a=k.p.length(l));k.p.normalize(l,l)}this.viewportAxes=c;this.previousViewportAxes=d;if(!Object(q.a)(a,this.pixelSize)||.95>k.p.dot(c[0],d[0])||.95>k.p.dot(c[1],d[1]))k.p.copy(d[0],c[0]),k.p.copy(d[1],c[1]),this.visibleSourcesStale=!0,this.pixelSize=a;this.viewportPlaneDistanceToOrigin=k.p.dot(this.centerDataPosition,this.viewportAxes[2]);this.onViewportToDataMatrixChanged();this.maybeSetHasValidViewport();
-return!0}},{key:"onViewportToDataMatrixChanged",value:function(){}},{key:"updateVisibleSources",value:function(){if(this.visibleSourcesStale){this.visibleSourcesStale=!1;var a=1.1*this.pixelSize,c=this.visibleChunkLayouts,d=this.viewportAxes[2],f=this.visibleLayers;c.clear();var l={};f=$jscomp.makeIterator(f);for(var h=f.next();!h.done;l={smallestVoxelSize:l.smallestVoxelSize,visibleSources:l.visibleSources},h=f.next()){h=$jscomp.makeIterator(h.value);var k=h.next().value;l.visibleSources=h.next().value;
-l.visibleSources.length=0;h=k.sources;var q=h.length;k=void 0;l.smallestVoxelSize=h[0][0].spec.voxelSize;var e=function(b){return function(c){for(var d=0;3>d;++d){var f=c[d];if(f>a&&f>b.smallestVoxelSize[d])return!0}return!1}}(l),r=function(a){return function(b,d){a.visibleSources[a.visibleSources.length++]=b;var f=b.spec.chunkLayout,l=c.get(f);void 0===l&&(l=new Map,c.set(f,l));l.set(b,d)}}(l);for(k=q-1;;){q=b(d,h[k]);r(q,k);if(0===k||!e(q.spec.voxelSize))break;--k}l.visibleSources.reverse()}}}},
-{key:"computeVisibleChunks",value:function(a,b){var d=this;this.updateVisibleSources();for(var f=this.width,q=this.height,e=this.viewportToData,g=0;3>g;++g)u[0][g]=-k.e[0][g]*f/2-k.e[1][g]*q/2,u[1][g]=-k.e[0][g]*f/2+k.e[1][g]*q/2,u[2][g]=k.e[0][g]*f/2-k.e[1][g]*q/2,u[3][g]=k.e[0][g]*f/2+k.e[1][g]*q/2;for(f=0;4>f;++f)k.p.transformMat4(u[f],u[f],e);var t=k.p.create(),A=k.p.create(),n=k.p.create(),y=k.p.create(),p=k.p.create(),E=k.p.create(),v=[],B=[];this.visibleChunkLayouts.forEach(function(f,q){function e(){for(var a=
-0,b=0,c=0;3>c;++c){var d=E[c],f=t[c],l=A[c]-f,h=p[c]*l;a+=d*(f+h);b+=d*(f+l-h)}return a<x?!1:b<=x}function g(a){function d(){H=Object(h.b)(v,0,n,function(a){var b=a.spec;switch(c(t,A,b.lowerChunkBound,b.upperChunkBound)){case l.PARTIALLY_INSIDE:return!0;case l.FULLY_INSIDE:B.push(a);default:return!1}})}if(0!==B.length||0!==H){for(var f=1,k=0;3>k;++k)f*=Math.max(0,A[k]-t[k]);if(0!==f&&e())if(1===f)b(q,F,t,B);else{for(var r;;)if(f=t[a],k=A[a],r=k-f,1===r)a=(a+1)%3;else break;r=f+Math.floor(.5*r);var u=
-(a+1)%3,m=B.length;A[a]=r;var n=H;d();g(u);B.length=m;H=n;A[a]=k;t[a]=r;d();g(u);t[a]=f;B.length=m;H=n}}}var F=a(q);m(n,y,f.keys());k.p.set(t,Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY);k.p.set(A,Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY);q.globalToLocalSpatialVector(E,d.viewportAxes[2]);for(var C=0;3>C;++C)p[C]=0<E[C]?1:0;var x=k.p.dot(q.globalToLocalGrid(r,d.centerDataPosition),E);for(C=0;4>C;++C)for(var z=q.globalToLocalGrid(r,u[C]),
-G=0;3>G;++G)t[G]=Math.min(t[G],Math.floor(z[G])),A[G]=Math.max(A[G],Math.floor(z[G])+1);k.p.max(t,t,n);k.p.min(A,A,y);B.length=0;v.length=0;f=$jscomp.makeIterator(f.keys());for(C=f.next();!C.done;C=f.next())switch(C=C.value,z=C.spec,c(t,A,z.lowerChunkBound,z.upperChunkBound)){case l.FULLY_INSIDE:B.push(C);break;case l.PARTIALLY_INSIDE:v.push(C)}var H=v.length;g(0)})}}]);return d}(g.b),y;(function(a){a[a.ISOTROPIC=0]="ISOTROPIC";a[a.FLAT=1]="FLAT"})(y||(y={}));var z=function x(a){p(this,x);var b=void 0===
-a.lowerVoxelBound?k.h:a.lowerVoxelBound,c=a.upperVoxelBound,d=a.chunkDataSize,l=a.voxelSize,h=a.transform,q=void 0===a.baseVoxelOffset?k.h:a.baseVoxelOffset,e=void 0===a.lowerClipBound?k.p.multiply(k.p.create(),l,b):a.lowerClipBound,r=void 0===a.upperClipBound?k.p.multiply(k.p.create(),l,c):a.upperClipBound;this.voxelSize=l;this.chunkDataSize=d;this.chunkLayout=f.a.get(k.p.multiply(k.p.create(),a.chunkDataSize,l),h);this.lowerClipBound=e;this.upperClipBound=r;this.lowerVoxelBound=b;this.upperVoxelBound=
-c;this.baseVoxelOffset=q;a=this.lowerChunkBound=k.p.create();l=this.upperChunkBound=k.p.create();for(h=0;3>h;++h)a[h]=Math.floor(b[h]/d[h]),l[h]=Math.floor((c[h]-1)/d[h]+1)};e.a="SliceView"},function(g,e,a){e.a=function(a,b,d,f,h){b=void 0===b?-1:b;d=void 0===d?-1:d;f=void 0===f?1:f;h=void 0===h?1:h;return a.memoize.get("SquareCornersBuffer:"+b+","+d+","+f+","+h,function(){return new p.b(n.a.fromData(a,new Float32Array([b,d,b,h,f,h,f,d]),m.a,m.k))}).value};var p=a(1),n=a(30),m=a(35)},function(g,e,
-a){function p(a){a.texParameteri(n.m,n.o,n.h);a.texParameteri(n.m,n.n,n.h);a.texParameteri(n.m,n.p,n.b);a.texParameteri(n.m,n.q,n.b)}e.b=p;e.a=function(a,c,b,d,f,h){f=void 0===f?n.j:f;h=void 0===h?n.t:h;a.activeTexture(n.l+a.tempTextureUnit);a.bindTexture(n.m,c);p(a);a.texImage2D(n.m,0,f,b,d,0,f,h,null);a.bindTexture(n.m,null)};e.c=function(a,c,b){a.activeTexture(n.l+a.tempTextureUnit);a.bindTexture(n.m,c);a.texParameteri(n.m,n.o,n.e);a.texParameteri(n.m,n.n,n.e);a.texParameteri(n.m,n.p,n.b);a.texParameteri(n.m,
-n.q,n.b);a.pixelStorei(n.s,!0);a.pixelStorei(n.r,4);a.texImage2D(n.m,0,n.j,n.j,n.t,b);a.pixelStorei(n.s,!1);a.bindTexture(n.m,null)};var n=a(35)},function(g,e,a){e.a=function(a,e){var g=a.view.document,c=a.screenX,b=a.screenY,d=function(a){var d=c-a.screenX,f=b-a.screenY;c=a.screenX;b=a.screenY;e(a,d,f)},f=a.button,h=function(a){a.button===f&&(g.removeEventListener("mousemove",d,!0),g.removeEventListener("mouseup",h,!1))};g.addEventListener("mousemove",d,!0);g.addEventListener("mouseup",h,!1)}},function(g,
-e,a){function p(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function n(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function m(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});
-b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a){return new F.a({fragmentMain:a.displayState.fragmentMain,shaderError:a.displayState.shaderError,fragmentMainStartLine:t.a})}Object.defineProperty(e,"__esModule",{value:!0});a.d(e,"SegmentationUserLayer",function(){return D});var b=a(94);g=a(21);var d=a(20),f=a(61);e=a(45);var h=a(98),q=a(50),k=a(261),t=a(125),r=a(19),l=a(150),u=a(52),A=a(54),y=a(263),z=a(6),B=a(16),x=a(44),v=a(95),E=a(264),F=a(96),C=a(266),G=a(83),H=
-function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();a(36);a(268);var D=function(a){function c(a,f){p(this,c);var e=n(this,(c.__proto__||Object.getPrototypeOf(c)).call(this,[]));e.manager=a;e.displayState={segmentColorHash:h.a.getDefault(),segmentSelectionState:new q.a,selectedAlpha:Object(u.a)(.5),notSelectedAlpha:Object(u.a)(0),
-objectAlpha:Object(u.a)(1),clipBounds:G.a.make(e.manager.worker,void 0),hideSegmentZero:new A.b(!0,!0),visibleSegments:y.a.makeWithCounterpart(e.manager.worker),segmentEquivalences:k.a.makeWithCounterpart(e.manager.worker),volumeSourceOptions:{},objectToDataTransform:new b.a,fragmentMain:Object(t.f)(),shaderError:Object(x.b)()};e.displayState.visibleSegments.changed.add(function(){e.specificationChanged.dispatch()});e.displayState.segmentEquivalences.changed.add(function(){e.specificationChanged.dispatch()});
-e.displayState.segmentSelectionState.bindTo(a.layerSelectedValues,e);e.displayState.selectedAlpha.changed.add(function(){e.specificationChanged.dispatch()});e.displayState.notSelectedAlpha.changed.add(function(){e.specificationChanged.dispatch()});e.displayState.objectAlpha.changed.add(function(){e.specificationChanged.dispatch()});e.displayState.hideSegmentZero.changed.add(function(){e.specificationChanged.dispatch()});e.displayState.fragmentMain.changed.add(function(){e.specificationChanged.dispatch()});
-e.displayState.selectedAlpha.restoreState(f.selectedAlpha);e.displayState.notSelectedAlpha.restoreState(f.notSelectedAlpha);e.displayState.objectAlpha.restoreState(f.objectAlpha);e.displayState.hideSegmentZero.restoreState(f.hideSegmentZero);e.displayState.objectToDataTransform.restoreState(f.transform);e.displayState.volumeSourceOptions.transform=e.displayState.objectToDataTransform.transform;e.displayState.fragmentMain.restoreState(f.skeletonShader);var g=e.volumePath=Object(z.z)(f.source),m=e.meshPath=
-null===f.mesh?null:Object(z.z)(f.mesh),E=e.skeletonsPath=Object(z.z)(f.skeletons);void 0!==g&&Object(d.d)(a.dataSourceProvider,a.chunkManager,g,{volumeType:r.d.SEGMENTATION}).then(function(a){e.wasDisposed||(e.addRenderLayer(new l.a(a,e.displayState)),void 0===m&&(a=a.getMeshSource(),null!=a&&e.addMesh(a)))});null!=m&&e.manager.dataSourceProvider.getMeshSource(a.chunkManager,m).then(function(a){e.wasDisposed||e.addMesh(a)});void 0!==E&&e.manager.dataSourceProvider.getSkeletonSource(a.chunkManager,
-E).then(function(b){e.wasDisposed||(b=new t.c(a.chunkManager,b,a.voxelSize,e.displayState),e.addRenderLayer(new t.b(b.addRef())),e.addRenderLayer(new t.e(b)))});Object(z.w)(f,"equivalences",function(a){e.displayState.segmentEquivalences.restoreState(a)});Object(z.w)(f,"segments",function(a){if(void 0!==a){var b=e.displayState,c=b.visibleSegments,d=b.segmentEquivalences;Object(z.a)(a,function(a){a=B.a.parseString(String(a),10);c.add(d.get(a))})}});Object(z.w)(f,"clipBounds",function(a){if(void 0!==
-a){var b,c;Object(z.w)(a,"center",function(a){return b=Object(z.l)(a)});Object(z.w)(a,"size",function(a){return c=Object(z.l)(a)});b&&c&&(e.displayState.clipBounds.value={center:b,size:c})}});return e}m(c,a);H(c,[{key:"addMesh",value:function(a){this.meshLayer=new f.a(this.manager.chunkManager,a,this.displayState);this.addRenderLayer(this.meshLayer)}},{key:"toJSON",value:function(){var a={type:"segmentation"};a.source=this.volumePath;a.mesh=this.meshPath;a.skeletons=this.skeletonsPath;a.selectedAlpha=
-this.displayState.selectedAlpha.toJSON();a.notSelectedAlpha=this.displayState.notSelectedAlpha.toJSON();a.objectAlpha=this.displayState.objectAlpha.toJSON();a.hideSegmentZero=this.displayState.hideSegmentZero.toJSON();var b=this.displayState.visibleSegments;0<b.size&&(a.segments=b.toJSON());b=this.displayState.segmentEquivalences;0<b.size&&(a.equivalences=b.toJSON());b=this.displayState.clipBounds;b.value&&(a.clipBounds={center:b.value.center,size:b.value.size});a.transform=this.displayState.objectToDataTransform.toJSON();
-a.skeletonShader=this.displayState.fragmentMain.toJSON();return a}},{key:"transformPickedValue",value:function(a){if(null==a)return a;var b=this.displayState.segmentEquivalences;if(0===b.size)return a;"number"===typeof a&&(a=new B.a(a,0));b=b.get(a);return B.a.equal(b,a)?a:new q.c(a,b)}},{key:"makeDropdown",value:function(a){return new O(a,this)}},{key:"handleAction",value:function(a){switch(a){case "recolor":this.displayState.segmentColorHash.randomize();break;case "clear-segments":this.displayState.visibleSegments.clear();
-break;case "select":if(a=this.displayState.segmentSelectionState,a.hasSelectedSegment){a=a.selectedSegment;var b=this.displayState.visibleSegments;b.has(a)?b.delete(a):b.add(a)}}}}]);return c}(g.f),O=function(a){function b(a,d){p(this,b);var f=n(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));f.element=a;f.layer=d;f.visibleSegmentWidget=f.registerDisposer(new E.a(f.layer.displayState));f.addSegmentWidget=f.registerDisposer(new C.a);f.selectedAlphaWidget=f.registerDisposer(new v.a(f.layer.displayState.selectedAlpha));
-f.notSelectedAlphaWidget=f.registerDisposer(new v.a(f.layer.displayState.notSelectedAlpha));f.objectAlphaWidget=f.registerDisposer(new v.a(f.layer.displayState.objectAlpha));a.classList.add("segmentation-dropdown");var l=f.notSelectedAlphaWidget,h=f.objectAlphaWidget;f.selectedAlphaWidget.promptElement.textContent="Opacity (on)";l.promptElement.textContent="Opacity (off)";h.promptElement.textContent="Opacity (3d)";a.appendChild(f.selectedAlphaWidget.element);a.appendChild(f.notSelectedAlphaWidget.element);
-a.appendChild(f.objectAlphaWidget.element);d=f.registerDisposer(new A.c(d.displayState.hideSegmentZero));d.element.className="neuroglancer-segmentation-dropdown-hide-segment-zero neuroglancer-noselect";l=document.createElement("label");l.className="neuroglancer-segmentation-dropdown-hide-segment-zero neuroglancer-noselect";l.appendChild(document.createTextNode("Hide segment ID 0"));l.appendChild(d.element);a.appendChild(l);f.addSegmentWidget.element.classList.add("add-segment");f.addSegmentWidget.element.title=
-"Add one or more segment IDs";a.appendChild(f.registerDisposer(f.addSegmentWidget).element);f.registerDisposer(f.addSegmentWidget.valuesEntered.add(function(a){a=$jscomp.makeIterator(a);for(var b=a.next();!b.done;b=a.next())f.layer.displayState.visibleSegments.add(b.value)}));a.appendChild(f.registerDisposer(f.visibleSegmentWidget).element);if(void 0!==f.layer.skeletonsPath){d=document.createElement("div");d.className="neuroglancer-segmentation-dropdown-skeleton-shader-header";l=document.createElement("div");
-l.style.flex="1";l.textContent="Skeleton shader:";h=document.createElement("a");var k=document.createElement("button");k.type="button";k.textContent="?";k.className="help-link";h.appendChild(k);h.title="Documentation on skeleton rendering";h.target="_blank";h.href="https://github.com/google/neuroglancer/blob/master/src/neuroglancer/sliceview/image_layer_rendering.md";k=document.createElement("button");k.innerHTML="&square;";k.className="maximize-button";k.title="Show larger editor view";f.registerEventListener(k,
-"click",function(){new J(f.layer)});d.appendChild(l);d.appendChild(k);d.appendChild(h);a.appendChild(d);d=f.codeWidget=f.registerDisposer(c(f.layer));a.appendChild(d.element);d.textEditor.refresh()}return f}m(b,a);H(b,[{key:"onShow",value:function(){void 0!==this.codeWidget&&this.codeWidget.textEditor.refresh()}}]);return b}(g.g),J=function(a){function b(a){p(this,b);var d=n(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));d.layer=a;d.codeWidget=d.registerDisposer(c(d.layer));d.content.classList.add("neuroglancer-segmentation-layer-skeleton-shader-overlay");
-d.content.appendChild(d.codeWidget.element);d.codeWidget.textEditor.refresh();return d}m(b,a);return b}(e.a);Object(d.e)("segmentation",D);Object(d.f)(r.d.SEGMENTATION,D)},function(g,e,a){function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=
-b)}function n(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function m(a){var b=q.get(a),c=a.changed.count;if(void 0!==b&&b.generation===c)return b;if(a instanceof h){var d=a.baseJSON();for(var f=$jscomp.makeIterator(a.children),k=f.next();!k.done;k=f.next()){var e=$jscomp.makeIterator(k.value);k=e.next().value;e=e.next().value;d[k]=m(e).value}}else d=a.toJSON();void 0===b?(b={generation:c,value:d},q.set(a,b)):(b.generation=c,b.value=d);return b}a.d(e,"a",function(){return h});
-e.b=m;var c=a(6),b=a(7),d=function t(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return t(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},f=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);
-return b}}(),h=function(){function a(){n(this,a);this.children=new Map;this.changed=new b.a}f(a,[{key:"add",value:function(a,b){var c=this;if(this.children.has(a))throw Error("Key "+JSON.stringify(a)+" already registered.");this.children.set(a,b);b.changed.add(this.changed.dispatch);this.changed.dispatch();return function(){c.remove(a)}}},{key:"remove",value:function(a){var b=this.children;if(b.has(a))throw Error("Key "+JSON.stringify(a)+" not registered.");b=b.get(a);this.children.delete(a);b.changed.remove(this.changed.dispatch);
-this.changed.dispatch()}},{key:"dispose",value:function(){for(var a=this.changed,b=$jscomp.makeIterator(this.children.values()),c=b.next();!c.done;c=b.next())c.value.changed.remove(a.dispatch);this.children=void 0}},{key:"toJSON",value:function(){for(var a=this.baseJSON(),b=$jscomp.makeIterator(this.children),c=b.next();!c.done;c=b.next()){var d=$jscomp.makeIterator(c.value);c=d.next().value;d=d.next().value;a[c]=d.toJSON()}return a}},{key:"baseJSON",value:function(){return{}}},{key:"reset",value:function(){for(var a=
-$jscomp.makeIterator(this.children.values()),b=a.next();!b.done;b=a.next())b.value.reset()}},{key:"restoreState",value:function(a){Object(c.u)(a);for(var b=$jscomp.makeIterator(this.children),d=b.next();!d.done;d=b.next()){var f=$jscomp.makeIterator(d.value);d=f.next().value;f=f.next().value;try{a.hasOwnProperty(d)&&f.restoreState(a[d])}catch(y){throw Error("Error restoring property "+JSON.stringify(d)+": "+y.message);}}}}]);return a}();(function(a){function b(){n(this,b);var a=(b.__proto__||Object.getPrototypeOf(b)).apply(this,
-arguments);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");a=!a||"object"!==typeof a&&"function"!==typeof a?this:a;a.lastState={};return a}p(b,a);f(b,[{key:"restoreState",value:function(a){Object(c.u)(a);this.lastState=a;d(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"restoreState",this).call(this,a)}},{key:"reset",value:function(){this.lastState={};d(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"reset",this).call(this)}},{key:"baseJSON",
-value:function(){for(var a=Object.assign(d(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"baseJSON",this).call(this),this.lastState),c=$jscomp.makeIterator(this.children.keys()),f=c.next();!f.done;f=c.next())delete a[f.value];return a}},{key:"toJSON",value:function(){var a=d(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"toJSON",this).call(this);return this.lastState=a}},{key:"add",value:function(a,c){var f=d(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"add",
-this).call(this,a,c);a=this.lastState[a];void 0!==a&&(c.reset(),c.restoreState(a));return f}}]);return b})(h);var q=new WeakMap},function(g,e,a){function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,
-enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function m(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function c(a,b){b=void 0===b?a.navigationState:new u.e(new u.g(a.navigationState.pose.position,u.f.makeRelative(a.navigationState.pose.orientation,b)),a.navigationState.zoomFactor);return new y.a(a.chunkManager,a.layerManager,b)}function b(a){return new Map([["xy",c(a,D.get("xy"))],["xz",c(a,
-D.get("xz"))],["yz",c(a,D.get("yz"))]])}function d(a){return{mouseState:a.mouseState,layerManager:a.layerManager,showAxisLines:a.showAxisLines,visibility:a.visibility}}function f(a){return Object.assign({},d(a),{navigationState:a.perspectiveNavigationState,inputEventMap:a.inputEventBindings.perspectiveView})}function h(a){return Object.assign({},d(a),{navigationState:a.navigationState,inputEventMap:a.inputEventBindings.sliceView})}function q(a,b,c){for(var d={},f=0;2>f;d={relatedLayout:d.relatedLayout},
-++f)d.relatedLayout=c[Math.min(c.length-1,f)],a.registerDisposer(Object(E.c)(b.element,0===f?"toggle-layout":"toggle-layout-alternative",function(b){return function(c){a.container.name=b.relatedLayout;c.stopPropagation()}}(d)))}function k(a){var b=S.get(a);if(void 0===b)throw Error("Invalid layout name: "+JSON.stringify(a)+".");return b}function t(a){k(a);return a}a.d(e,"b",function(){return H});e.d=d;a.d(e,"a",function(){return L});g=a(24);var r=a.n(g),l=a(159),u=a(55),A=a(103),y=a(43),z=a(63),B=
-a(54),x=a(14);g=a(1);var v=a(9),E=a(22),F=a(3),C=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),G=function Y(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return Y(a,b,c)}else{if("value"in d)return d.value;b=d.get;
-return void 0===b?void 0:b.call(c)}};a(72);var H=function aa(){m(this,aa);this.perspectiveView=new E.a;this.sliceView=new E.a},D=new Map([["xy",void 0],["xz",F.l.rotateX(F.l.create(),F.l.create(),Math.PI/2)],["yz",F.l.rotateY(F.l.create(),F.l.create(),Math.PI/2)]]),O=function(a){function c(a,d,k){m(this,c);var e=p(this,(c.__proto__||Object.getPrototypeOf(c)).call(this));e.container=a;e.rootElement=d;e.viewer=k;var r=b(k),u=k.display,g=Object.assign({},f(k),{showSliceViews:k.showPerspectiveSliceViews,
-showSliceViewsCheckbox:!0}),t=Object.assign({},h(k),{showScaleBar:k.showScaleBar}),n=Object.assign({},h(k),{showScaleBar:new B.b(!1,!1)}),y=function(a,b,c){b=e.registerDisposer(new z.a(u,b,r.get(a),c));q(e,b,[a,a+"-3d"]);return b};a=[l.b(1,l.a("column",[l.b(1,l.a("row",[l.b(1,function(a){y("xy",a,t)}),l.b(1,function(a){y("xz",a,n)})])),l.b(1,l.a("row",[l.b(1,function(a){a=e.registerDisposer(new A.b(u,a,g));for(var b=$jscomp.makeIterator(r.values()),c=b.next();!c.done;c=b.next())a.sliceViews.add(c.value.addRef());
-q(e,a,["3d"])}),l.b(1,function(a){y("yz",a,n)})]))]))];l.a("row",a)(d);u.onResize();return e}n(c,a);C(c,[{key:"disposed",value:function(){Object(v.a)(this.rootElement);G(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"disposed",this).call(this)}}]);return c}(g.a),J=function(a){function b(a,d,k,e,r){m(this,b);var u=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));u.container=a;u.rootElement=d;u.viewer=k;u.direction=e;var g=c(k,D.get(r)),t=k.display,n=Object.assign({},f(k),{showSliceViews:k.showPerspectiveSliceViews,
-showSliceViewsCheckbox:!0}),y=Object.assign({},h(k),{showScaleBar:k.showScaleBar});l.b(1,l.a(e,[l.b(1,function(a){a=u.registerDisposer(new z.a(t,a,g,y));q(u,a,[r,"4panel"])}),l.b(1,function(a){a=u.registerDisposer(new A.b(t,a,n));a.sliceViews.add(g.addRef());q(u,a,["3d","4panel"])})]))(d);t.onResize();return u}n(b,a);C(b,[{key:"disposed",value:function(){Object(v.a)(this.rootElement);G(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"disposed",this).call(this)}}]);return b}(g.a),Q=function(a){function b(a,
-d,f,k){m(this,b);var e=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));e.container=a;e.rootElement=d;e.viewer=f;var r=c(f,D.get(k)),u=Object.assign({},h(f),{showScaleBar:f.showScaleBar});l.a("row",[l.b(1,function(a){a=e.registerDisposer(new z.a(f.display,a,r,u));q(e,a,["4panel",k+"-3d"])})])(d);f.display.onResize();return e}n(b,a);C(b,[{key:"disposed",value:function(){Object(v.a)(this.rootElement);G(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"disposed",this).call(this)}}]);
-return b}(g.a),T=function(a){function b(a,c,d){m(this,b);var h=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));h.container=a;h.rootElement=c;h.viewer=d;var k=Object.assign({},f(d),{showSliceViews:new B.b(!1,!1)});l.a("row",[l.b(1,function(a){a=h.registerDisposer(new A.b(d.display,a,k));q(h,a,["4panel"])})])(c);d.display.onResize();return h}n(b,a);C(b,[{key:"disposed",value:function(){Object(v.a)(this.rootElement);G(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"disposed",this).call(this)}}]);
-return b}(g.a),S=new Map([["4panel",{factory:function(a,b,c){return new O(a,b,c)}}],["3d",{factory:function(a,b,c){return new T(a,b,c)}}]]);e.c=S;e={};a=$jscomp.makeIterator(D.keys());for(F=a.next();!F.done;e={axes:e.axes},F=a.next())e.axes=F.value,S.set(e.axes,{factory:function(a){return function(b,c,d){return new Q(b,c,d,a.axes)}}(e)}),S.set(e.axes+"-3d",{factory:function(a){return function(b,c,d){return new J(b,c,d,"row",a.axes)}}(e)});var L=function(a){function b(a,c){c=void 0===c?"xy":c;m(this,
-b);var d=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));d.viewer=a;d.element=document.createElement("div");d.element.style.flex="1";d.layoutName=new x.a(c,t);var f=d.registerCancellable(r()(function(){return d.updateLayout()},0));d.layoutName.changed.add(f);d.registerDisposer(d.viewer.display.updateStarted.add(function(){return f.flush()}));f();return d}n(b,a);C(b,[{key:"toJSON",value:function(){return this.layoutName.toJSON()}},{key:"restoreState",value:function(a){this.layoutName.restoreState(a)}},
-{key:"reset",value:function(){this.layoutName.reset()}},{key:"disposeLayout",value:function(){var a=this.layout;void 0!==a&&(a.dispose(),this.layout=void 0)}},{key:"updateLayout",value:function(){this.disposeLayout();this.layout=k(this.layoutName.value).factory(this,this.element,this.viewer)}},{key:"disposed",value:function(){this.disposeLayout();G(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"disposed",this).call(this)}},{key:"name",get:function(){return this.layoutName.value},set:function(a){this.layoutName.value=
-a}},{key:"changed",get:function(){return this.layoutName.changed}}]);return b}(g.a)},function(g,e){},function(g,e,a){e.isFunction=function(a){return"function"===typeof a}},function(g,e,a){g=a(12).root.Symbol;e.rxSubscriber="function"===typeof g&&"function"===typeof g.for?g.for("rxSubscriber"):"@@rxSubscriber";e.$$rxSubscriber=e.rxSubscriber},function(g,e,a){function p(a){var e=a.Symbol;"function"===typeof e?e.observable?a=e.observable:(a=e("observable"),e.observable=a):a="@@observable";return a}g=
-a(12);e.getSymbolObservable=p;e.observable=p(g.root);e.$$observable=e.observable},function(g,e,a){var p=this&&this.__extends||function(a,e){function c(){this.constructor=a}for(var b in e)e.hasOwnProperty(b)&&(a[b]=e[b]);a.prototype=null===e?Object.create(e):(c.prototype=e.prototype,new c)};g=function(a){function e(){var c=a.call(this,"object unsubscribed");this.name=c.name="ObjectUnsubscribedError";this.stack=c.stack;this.message=c.message}p(e,a);return e}(Error);e.ObjectUnsubscribedError=g},function(g,
-e,a){var p=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};g=a(10);var n=a(8);a=function(a){function c(){a.apply(this,arguments);this.value=null;this.hasCompleted=this.hasNext=!1}p(c,a);c.prototype._subscribe=function(b){return this.hasError?(b.error(this.thrownError),n.Subscription.EMPTY):this.hasCompleted&&this.hasNext?(b.next(this.value),b.complete(),n.Subscription.EMPTY):
-a.prototype._subscribe.call(this,b)};c.prototype.next=function(a){this.hasCompleted||(this.value=a,this.hasNext=!0)};c.prototype.error=function(b){this.hasCompleted||a.prototype.error.call(this,b)};c.prototype.complete=function(){this.hasCompleted=!0;this.hasNext&&a.prototype.next.call(this,this.value);a.prototype.complete.call(this)};return c}(g.Subject);e.AsyncSubject=a},function(g,e,a){var p=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&
-(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};g=a(4);var n=a(5);e.mergeAll=function(a){void 0===a&&(a=Number.POSITIVE_INFINITY);return this.lift(new m(a))};var m=function(){function a(a){this.concurrent=a}a.prototype.call=function(a,b){return b.subscribe(new c(a,this.concurrent))};return a}();e.MergeAllOperator=m;var c=function(a){function b(b,c){a.call(this,b);this.concurrent=c;this.hasCompleted=!1;this.buffer=[];this.active=0}p(b,a);b.prototype._next=function(a){this.active<
-this.concurrent?(this.active++,this.add(n.subscribeToResult(this,a))):this.buffer.push(a)};b.prototype._complete=function(){this.hasCompleted=!0;0===this.active&&0===this.buffer.length&&this.destination.complete()};b.prototype.notifyComplete=function(a){var b=this.buffer;this.remove(a);this.active--;0<b.length?this._next(b.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()};return b}(g.OuterSubscriber);e.MergeAllSubscriber=c},function(g,e,a){var p=a(32);e.isNumeric=function(a){return!p.isArray(a)&&
-0<=a-parseFloat(a)+1}},function(g,e,a){e.isDate=function(a){return a instanceof Date&&!isNaN(+a)}},function(g,e,a){var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};g=a(10);var n=a(181),m=a(8),c=a(114),b=a(76),d=a(171);a=function(a){function h(b,c,d){void 0===b&&(b=Number.POSITIVE_INFINITY);void 0===c&&(c=Number.POSITIVE_INFINITY);a.call(this);this.scheduler=
-d;this._events=[];this._bufferSize=1>b?1:b;this._windowTime=1>c?1:c}p(h,a);h.prototype.next=function(b){var c=this._getNow();this._events.push(new f(c,b));this._trimBufferThenGetEvents();a.prototype.next.call(this,b)};h.prototype._subscribe=function(a){var f=this._trimBufferThenGetEvents(),h=this.scheduler;if(this.closed)throw new b.ObjectUnsubscribedError;if(this.hasError)var l=m.Subscription.EMPTY;else this.isStopped?l=m.Subscription.EMPTY:(this.observers.push(a),l=new d.SubjectSubscription(this,
-a));h&&a.add(a=new c.ObserveOnSubscriber(a,h));h=f.length;for(var k=0;k<h&&!a.closed;k++)a.next(f[k].value);this.hasError?a.error(this.thrownError):this.isStopped&&a.complete();return l};h.prototype._getNow=function(){return(this.scheduler||n.queue).now()};h.prototype._trimBufferThenGetEvents=function(){for(var a=this._getNow(),b=this._bufferSize,c=this._windowTime,d=this._events,f=d.length,h=0;h<f&&!(a-d[h].time<c);)h++;f>b&&(h=Math.max(h,f-b));0<h&&d.splice(0,h);return d};return h}(g.Subject);e.ReplaySubject=
-a;var f=function(){return function(a,b){this.time=a;this.value=b}}()},function(g,e,a){var p=this&&this.__extends||function(a,e){function c(){this.constructor=a}for(var b in e)e.hasOwnProperty(b)&&(a[b]=e[b]);a.prototype=null===e?Object.create(e):(c.prototype=e.prototype,new c)};g=function(a){function e(){var c=a.call(this,"no elements in sequence");this.name=c.name="EmptyError";this.stack=c.stack;this.message=c.message}p(e,a);return e}(Error);e.EmptyError=g},function(g,e,a){function p(a,b){if("function"!==
-typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(e,"a",function(){return b});var n=a(14);g=a(15);var m=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,
-d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),c=function h(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return h(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};e=this&&this.__decorate||function(a,b,c,d){var h=arguments.length,l=3>h?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d,k;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)l=
-Reflect.decorate(a,b,c,d);else for(var e=a.length-1;0<=e;e--)if(k=a[e])l=(3>h?k(l):3<h?k(b,c,l):k(b,c))||l;return 3<h&&l&&Object.defineProperty(b,c,l),l};var b=d=function(a){function b(a,c){c=void 0===c?{}:c;if(!(this instanceof b))throw new TypeError("Cannot call a class as a function");var d=(b.__proto__||Object.getPrototypeOf(b)).call(this,a,c);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");d=!d||"object"!==typeof d&&"function"!==typeof d?this:d;
-d.updatingValue_=!1;void 0!==a&&(d.base=new n.b(c.value),d.setupChangedHandler());return d}p(b,a);m(b,[{key:"initializeCounterpart",value:function(a,d){d=void 0===d?{}:d;d.value=this.value;c(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"initializeCounterpart",this).call(this,a,d)}},{key:"setupChangedHandler",value:function(){var a=this;this.registerDisposer(this.base.changed.add(function(){if(a.updatingValue_)a.updatingValue_=!1;else{var b=a.rpc;null!==b&&b.invoke("SharedWatchableValue.changed",
-{id:a.rpcId,value:a.value})}}))}},{key:"value",get:function(){return this.base.value},set:function(a){this.base.value=a}},{key:"changed",get:function(){return this.base.changed}}],[{key:"makeFromExisting",value:function(a,b){var c=new d;c.base=b;c.setupChangedHandler();c.initializeCounterpart(a);return c}},{key:"make",value:function(a,b){return d.makeFromExisting(a,new n.b(b))}}]);return b}(g.c);b=d=e([Object(g.f)("SharedWatchableValue")],b);Object(g.e)("SharedWatchableValue.changed",function(a){var b=
-this.get(a.id);b.updatingValue_=!0;b.base.value=a.value;b.updatingValue_=!1});var d},function(g,e,a){function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function n(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");
-}a.d(e,"a",function(){return f});a.d(e,"b",function(){return h});var m=a(1),c=a(6),b=function k(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return k(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,
-d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),f=function(){function a(){n(this,a);this.map=new Map}d(a,[{key:"get",value:function(a,b){var c=this.map,d=c.get(a);void 0===d?(d=b(),d.registerDisposer(function(){c.delete(a)}),c.set(a,d)):d.addRef();return d}}]);return a}(),h=function(a){function f(){n(this,f);var a=(f.__proto__||Object.getPrototypeOf(f)).apply(this,arguments);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!a||
-"object"!==typeof a&&"function"!==typeof a?this:a}p(f,a);d(f,[{key:"get",value:function(a,d){"string"!==typeof a&&(a=Object(c.g)(a));return b(f.prototype.__proto__||Object.getPrototypeOf(f.prototype),"get",this).call(this,a,d)}},{key:"getUncounted",value:function(a,b){return this.get(a,function(){return new m.b(b())}).value}}]);return f}(f)},function(g,e,a){e.b=function(a,c,b,d){d=void 0===d?p.e:d;var f=void 0;return new Promise(function(h,e){function k(r){null!==f&&(f=Object(n.b)(a.serverUrls,b.path,
-b.method),f.responseType=b.responseType,f.setRequestHeader("Authorization",r.credentials.tokenType+" "+r.credentials.accessToken),f.onloadend=function(){if(null!==f){var a=this.status;200<=a&&300>a?(d.remove(q),h(this.response)):401===a?c.get(r,d).then(k):504===a||503===a?c.get(void 0,d).then(k):(d.remove(q),e(n.a.fromXhr(this)))}},f.send(b.payload))}var q=function(){var a=f;f=null;null!=a&&a.abort();e(p.a)};d.add(q);c.get(void 0,d).then(k)})};var p=a(26),n=a(47);e.a="google-brainmaps"},function(g,
-e){g.exports=function(a){var e=typeof a;return null!=a&&("object"==e||"function"==e)}},function(g,e,a){function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(e,"a",function(){return h});g=a(21);var n=a(3),m=a(44),c=a(31),b=function(){function a(a,
-b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),d=function k(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return k(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},f=n.p.create(),h=function(a){function h(a,
-b,c){c=void 0===c?{}:c;var d=void 0===c.shaderError?Object(m.b)():c.shaderError;if(!(this instanceof h))throw new TypeError("Cannot call a class as a function");c=(h.__proto__||Object.getPrototypeOf(h)).call(this);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");c=!c||"object"!==typeof c&&"function"!==typeof c?this:c;c.sources=null;c.sourceIds=[];c.shader=void 0;c.shaderUpdated=!0;c.rpcId=null;c.shaderError=d;d.value=void 0;c.chunkManager=a;c.sources=
-b;a=$jscomp.makeIterator(b);for(b=a.next();!b.done;b=a.next()){d=b.value;b=[];c.sourceIds.push(b);d=$jscomp.makeIterator(d);for(var l=d.next();!l.done;l=d.next())b.push(l.value.rpcId)}a=c.sources[0][0].spec;b=a.chunkLayout;d=c.voxelSize=b.localSpatialVectorToGlobal(n.p.create(),a.voxelSize);for(l=0;3>l;++l)d[l]=Math.abs(d[l]);d=c.boundingBox=new n.b(n.p.fromValues(Infinity,Infinity,Infinity),n.p.fromValues(-Infinity,-Infinity,-Infinity));l=n.p.create();for(var k=0;8>k;++k){for(var e=0;3>e;++e)f[e]=
-k&1<<e?a.upperClipBound[e]:a.lowerClipBound[e];b.localSpatialToGlobal(l,f);n.p.min(d.lower,d.lower,l);n.p.max(d.upper,d.upper,l)}c.setReady(!0);return c}p(h,a);b(h,[{key:"initializeShader",value:function(){if(this.shaderUpdated){this.shaderUpdated=!1;try{var a=this.getShader();this.disposeShader();this.shader=a;this.shaderError.value=null}catch(l){this.shaderError.value=l}}}},{key:"disposeShader",value:function(){this.shader&&(this.shader.dispose(),this.shader=void 0)}},{key:"disposed",value:function(){d(h.prototype.__proto__||
-Object.getPrototypeOf(h.prototype),"disposed",this).call(this);this.disposeShader()}},{key:"getShaderKey",value:function(){return""}},{key:"getShader",value:function(){var a=this,b=this.getShaderKey();return this.gl.memoize.get(b,function(){return a.buildShader()})}},{key:"buildShader",value:function(){var a=new c.a(this.gl);this.defineShader(a);return a.build()}},{key:"setGLBlendMode",value:function(a,b){0<b&&(a.enable(a.BLEND),a.blendFunc(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA))}},{key:"gl",get:function(){return this.chunkManager.chunkQueueManager.gl}}]);
-return h}(g.e)},function(g,e,a){function p(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function n(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function m(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,
-writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(e,"a",function(){return t});e.e=function(a,b,c,d){c=void 0===c?a.RGBA:c;d=void 0===d?a.UNSIGNED_BYTE:d;for(var f=[],h=0;h<b;++h)f[h]=new u(a,c,d);return f};a.d(e,"b",function(){return y});a.d(e,"c",function(){return z});g=a(1);var c=a(3),b=a(27),d=a(66),f=a(67),h=a(127),q=function x(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),
-null!==a)return x(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},k=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();a=function(a){function b(){p(this,b);var a=n(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments));a.width=Number.NaN;a.height=Number.NaN;
-return a}m(b,a);k(b,[{key:"hasSize",value:function(a,b){return this.width===a&&this.height===b}},{key:"resize",value:function(a,b){this.hasSize(a,b)||(this.width=a,this.height=b,this.performResize())}}]);return b}(g.a);var t=function(a){function b(a,c){c=void 0===c?!1:c;p(this,b);var d=n(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a,c?a.DEPTH_STENCIL:a.DEPTH_COMPONENT16));d.gl=a;d.includeStencilBuffer=c;return d}m(b,a);k(b,[{key:"attachToFramebuffer",value:function(){var a=this.gl;q(b.prototype.__proto__||
-Object.getPrototypeOf(b.prototype),"attachToFramebuffer",this).call(this,this.includeStencilBuffer?a.DEPTH_STENCIL_ATTACHMENT:a.DEPTH_ATTACHMENT)}}]);return b}(function(a){function b(a,c){p(this,b);var d=n(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));d.gl=a;d.internalformat=c;d.renderbuffer=null;d.renderbuffer=a.createRenderbuffer();return d}m(b,a);k(b,[{key:"performResize",value:function(){var a=this.gl;a.bindRenderbuffer(a.RENDERBUFFER,this.renderbuffer);a.renderbufferStorage(a.RENDERBUFFER,
-this.internalformat,this.width,this.height);a.bindRenderbuffer(a.RENDERBUFFER,null)}},{key:"disposed",value:function(){this.gl.deleteRenderbuffer(this.renderbuffer)}},{key:"attachToFramebuffer",value:function(a){var b=this.gl;b.framebufferRenderbuffer(b.FRAMEBUFFER,a,b.RENDERBUFFER,this.renderbuffer)}}]);return b}(a)),r=function(a){function b(a){p(this,b);return n(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a,!0))}m(b,a);return b}(t);e.d=r;var l=function(a){function b(a){p(this,b);var c=
-n(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.gl=a;c.framebuffer=c.gl.createFramebuffer();return c}m(b,a);k(b,[{key:"disposed",value:function(){this.gl.deleteFramebuffer(this.framebuffer)}},{key:"bind",value:function(){var a=this.gl;a.bindFramebuffer(a.FRAMEBUFFER,this.framebuffer)}},{key:"unbind",value:function(){var a=this.gl;a.bindFramebuffer(a.FRAMEBUFFER,null)}}]);return b}(g.a),u=function(a){function b(a,c,d){p(this,b);var f=n(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));
-f.gl=a;f.format=c;f.dataType=d;f.texture=a.createTexture();return f}m(b,a);k(b,[{key:"performResize",value:function(){Object(f.a)(this.gl,this.texture,this.width,this.height,this.format,this.dataType)}},{key:"disposed",value:function(){this.gl.deleteTexture(this.texture)}},{key:"attachToFramebuffer",value:function(a){var b=this.gl;b.framebufferTexture2D(b.FRAMEBUFFER,a,b.TEXTURE_2D,this.texture,0)}}]);return b}(a),A=new Uint8Array(4),y=function(a){function b(a,c){p(this,b);var d=n(this,(b.__proto__||
-Object.getPrototypeOf(b)).call(this));d.gl=a;d.width=Number.NaN;d.height=Number.NaN;d.fullAttachmentList=[];d.attachmentVerified=!1;d.singleAttachmentList=[d.gl.COLOR_ATTACHMENT0];var f=void 0===c.framebuffer?new l(a):c.framebuffer,h=c.colorBuffers;c=c.depthBuffer;d.framebuffer=d.registerDisposer(f);d.colorBuffers=h;d.depthBuffer=c;void 0!==c&&d.registerDisposer(c);var k=d.fullAttachmentList;h.forEach(function(b,c){d.registerDisposer(b);k[c]=a.COLOR_ATTACHMENT0+c});return d}m(b,a);k(b,[{key:"hasSize",
-value:function(a,b){return this.width===a&&this.height===b}},{key:"bind",value:function(a,b){this.width=a;this.height=b;this.framebuffer.bind();var c=this.gl,d=this.depthBuffer;void 0!==d&&(d.resize(a,b),d.attachToFramebuffer());this.colorBuffers.forEach(function(d,f){d.resize(a,b);d.attachToFramebuffer(c.COLOR_ATTACHMENT0+f)});c.WEBGL_draw_buffers.drawBuffersWEBGL(this.fullAttachmentList);this.verifyAttachment();c.viewport(0,0,a,b)}},{key:"bindSingle",value:function(a){var b=this.gl;this.framebuffer.bind();
-0!==a&&b.framebufferTexture2D(b.FRAMEBUFFER,b.COLOR_ATTACHMENT0+a,b.TEXTURE_2D,null,0);b.bindTexture(b.TEXTURE_2D,null);this.colorBuffers[a].attachToFramebuffer(b.COLOR_ATTACHMENT0);b.WEBGL_draw_buffers.drawBuffersWEBGL(this.singleAttachmentList)}},{key:"unbind",value:function(){this.framebuffer.unbind()}},{key:"readPixel",value:function(a,b,c){var d=this.gl;try{this.bindSingle(a),d.readPixels(b,c,1,1,d.RGBA,d.UNSIGNED_BYTE,A)}finally{this.framebuffer.unbind()}return A}},{key:"readPixelAsUint32",
-value:function(a,b,c){a=this.readPixel(a,b,c);return a[0]+(a[1]<<8)+(a[2]<<16)+(a[3]<<24)}},{key:"verifyAttachment",value:function(){if(!this.attachmentVerified){var a=this.gl;if(a.checkFramebufferStatus(a.FRAMEBUFFER)!==a.FRAMEBUFFER_COMPLETE)throw Error("Framebuffer configuration not supported");this.attachmentVerified=!0}}}]);return b}(g.a),z=function(a){function f(a,b){p(this,f);var c=n(this,(f.__proto__||Object.getPrototypeOf(f)).call(this));c.gl=a;c.shader=b;c.copyVertexPositionsBuffer=Object(d.a)(c.gl);
-c.copyTexCoordsBuffer=Object(d.a)(c.gl,0,0,1,1);c.registerDisposer(b);return c}m(f,a);k(f,[{key:"draw",value:function(a){for(var b=[],d=0;d<arguments.length;++d)b[d-0]=arguments[d];d=this.gl;var f=this.shader;f.bind();for(var h=b.length,l=0;l<h;++l)d.activeTexture(d.TEXTURE0+l),d.bindTexture(d.TEXTURE_2D,b[l]);d.uniformMatrix4fv(f.uniform("uProjectionMatrix"),!1,c.d);b=f.attribute("aVertexPosition");this.copyVertexPositionsBuffer.bindToVertexAttrib(b,2);f=f.attribute("aTexCoord");this.copyTexCoordsBuffer.bindToVertexAttrib(f,
-2);d.drawArrays(d.TRIANGLE_FAN,0,4);d.disableVertexAttribArray(b);d.disableVertexAttribArray(f);for(b=0;b<h;++b)d.activeTexture(d.TEXTURE0+b),d.bindTexture(d.TEXTURE_2D,null)}}],[{key:"get",value:function(a,c,d){c=void 0===c?h.a:c;d=void 0===d?1:d;return a.memoize.get("OffscreenCopyHelper:"+d+":"+Object(b.a)(c),function(){return new f(a,Object(h.b)(a,c,d))})}}]);return f}(g.a)},function(g,e,a){function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+
-typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function n(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function m(a){for(var b=h.length,c=h[b-1],d=0;d<b;++d){var f=h[d];if(a>=f.lengthInNanometers){c=f;break}}return c}e.c=m;a.d(e,"a",function(){return q});a.d(e,"b",function(){return k});g=a(1);var c=a(67),b=function r(a,b,
-c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return r(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),f=[1.5,2,3,5,7.5,10],h=[{unit:"km",
-lengthInNanometers:1E12},{unit:"m",lengthInNanometers:1E9},{unit:"mm",lengthInNanometers:1E6},{unit:"\u00b5m",lengthInNanometers:1E3},{unit:"nm",lengthInNanometers:1},{unit:"pm",lengthInNanometers:.001}],q=function(){function a(){n(this,a);this.allowedSignificands=f;this.prevTargetLengthInPixels=this.prevNanometersPerPixel=this.nanometersPerPixel=this.targetLengthInPixels=0}d(a,[{key:"update",value:function(){var a=this.nanometersPerPixel,b=this.targetLengthInPixels;if(this.prevNanometersPerPixel===
-a&&this.prevTargetLengthInPixels===b)return!1;this.prevNanometersPerPixel=a;this.prevTargetLengthInPixels=b;var c=b*a;b=Math.pow(10,Math.floor(Math.log(c)/Math.LN10));c/=b;for(var d=1,f=$jscomp.makeIterator(this.allowedSignificands),h=f.next();!h.done;h=f.next())if(h=h.value,Math.abs(h-c)<Math.abs(d-c))d=h;else break;b*=d;c=m(b);this.lengthInPixels=Math.round(b/a);this.physicalUnit=c.unit;this.physicalLength=b/c.lengthInNanometers;return!0}}]);return a}(),k=function(a){function f(a,b){b=void 0===
-b?new q:b;n(this,f);var c=(f.__proto__||Object.getPrototypeOf(f)).call(this);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");c=!c||"object"!==typeof c&&"function"!==typeof c?this:c;c.gl=a;c.dimensions=b;c.texture=null;c.width=0;c.height=0;return c}p(f,a);d(f,[{key:"update",value:function(){var a=this.dimensions,b=this.texture;if(a.update()||null===b){null===b&&(b=this.texture=this.gl.createTexture());var d=this.gl,f=document.createElement("canvas"),h=
-f.getContext("2d");h.font="bold 15px sans-serif";h.fillStyle="white";var l=a.physicalLength+" "+a.physicalUnit,k=h.measureText(l);k=Math.max(a.lengthInPixels,k.width)+4;f.width=k;f.height=32;h.font="bold 15px sans-serif";h.textAlign="center";h.fillStyle="rgba(0, 0, 0, 0.3)";h.fillRect(0,0,k,32);h.fillStyle="white";h.fillText(l,k/2,17);h.fillRect(2,22,a.lengthInPixels,8);Object(c.c)(d,b,f);this.width=k;this.height=32}}},{key:"disposed",value:function(){this.gl.deleteTexture(this.texture);this.texture=
-null;b(f.prototype.__proto__||Object.getPrototypeOf(f.prototype),"disposed",this).call(this)}}]);return f}(g.a)},function(g,e){g.exports="\n\nvec3 colormapJet(float x) {\n  vec3 result;\n  result.r = x < 0.89 ? ((x - 0.35) / 0.31) : (1.0 - (x - 0.89) / 0.11 * 0.5);\n  result.g = x < 0.64 ? ((x - 0.125) * 4.0) : (1.0 - (x - 0.64) / 0.27);\n  result.b = x < 0.34 ? (0.5 + x * 0.5 / 0.11) : (1.0 - (x - 0.34) / 0.31);\n  return clamp(result, 0.0, 1.0);\n}\n"},function(g,e,a){function p(a,b){if(!(a instanceof
-b))throw new TypeError("Cannot call a class as a function");}function n(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function m(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,
-b):a.__proto__=b)}function c(a){Object(v.u)(a);var b=Object(v.w)(a,"neariso_voxelres",function(a){return Object(v.v)(a,v.k)}),c=Object(v.w)(a,"neariso_imagesize",function(a){return Object(v.v)(a,v.j)}),d=Object(v.w)(a,"neariso_offset",function(a){return Object(v.v)(a,v.l)});return Object(v.w)(a,"resolutions",function(a){return Object(v.a)(a,v.s)}).map(function(a){var f=""+a,h=b.get(f),l=c.get(f),k=d.get(f);if(void 0===h||void 0===l||void 0===k)throw Error("Missing neariso_voxelres/neariso_imagesize/neariso_offset for resolution "+
-(a+"."));return{key:f,voxelSize:h,imageSize:l,voxelOffset:k}})}function b(a){a=F.get(a);void 0===a&&(a=A.d.UNKNOWN);return a}function d(a){Object(v.u)(a);var c=Object(v.w)(a,"channel_type",v.B);return{channelType:c,description:Object(v.w)(a,"description",v.B),volumeType:b(c),dataType:Object(v.w)(a,"datatype",function(a){return Object(v.n)(a,A.a)})}}function f(a){Object(v.u)(a);return{channels:Object(v.w)(a,"channels",function(a){return Object(v.v)(a,d)}),scales:Object(v.w)(a,"dataset",c)}}function h(a,
-b,c,d){return a.memoize.getUncounted({type:"ndstore:getTokenInfo",hostnames:b,token:c},function(){return Object(x.d)(Object(x.b)(b,d+"/"+c+"/info/"),"json").then(f)})}function q(a,b,c,d){var f=c.match(D);if(null===f)throw Error("Invalid volume path "+JSON.stringify(c));var l=f[1],k=f[2],e=Object(v.e)(f[3]||"");return a.memoize.getUncounted({type:"ndstore:MultiscaleVolumeChunkSource",hostnames:b,path:c},function(){return h(a,b,l,d).then(function(c){return new H(a,b,l,c,k,d,e)})})}function k(a,b){var c=
-b.match(O);if(null===c)throw Error("Invalid ndstore volume path: "+JSON.stringify(b));return q(a,[c[1]],c[2],u.b)}function t(a,b,c){return a.memoize.getUncounted({type:"dvid:getPublicTokens",hostnames:b},function(){return Object(x.d)(Object(x.b)(b,c+"/public_tokens/"),"json").then(function(a){return Object(v.a)(a,v.B)})})}function r(a,b,c,d){var f=c.match(/^(?:([^\/]+)(?:\/([^\/]*))?)?$/);if(null===f)return Promise.reject(null);if(void 0===f[2]){var l=f[1]||"";return t(a,b,d).then(function(a){return{offset:0,
-completions:Object(z.c)(l,a,function(a){return a+"/"},function(){})}})}return h(a,b,f[1],d).then(function(a){a=Object(z.c)(f[2],a.channels,function(a){return a[0]},function(a){return a[1].channelType+" ("+A.a[a[1].dataType]+")"});return{offset:f[1].length+1,completions:a}})}function l(a,b){var c=a.match(O);return null===c?Promise.reject(null):r(b,[c[1]],c[2],u.b).then(function(a){return Object(z.a)(c[1].length+1,a)})}Object.defineProperty(e,"__esModule",{value:!0});a.d(e,"getVolume",function(){return k});
-a.d(e,"volumeCompleter",function(){return l});a.d(e,"MultiscaleVolumeChunkSource",function(){return H});e.getTokenInfo=h;e.getShardedVolume=q;e.getPublicTokens=t;e.tokenAndChannelCompleter=r;a.d(e,"NDStoreDataSource",function(){return J});a.d(e,"SingleServerDataSource",function(){return Q});g=a(23);e=a(39);var u=a(135),A=a(19),y=a(28),z=a(46),B=a(3),x=a(47),v=a(6),E=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=
-!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),F=new Map;F.set("image",A.d.IMAGE);F.set("annotation",A.d.SEGMENTATION);var C=new Set(["npz","raw","jpeg"]),G=function(a){function b(){p(this,b);return n(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}m(b,a);return b}(Object(g.f)(y.b,u.c)),H=function(){function a(b,c,d,f,h,l,k){p(this,a);this.chunkManager=b;this.baseUrls=c;this.key=d;this.tokenInfo=f;this.parameters=k;this.urlPrefix=
-u.b;this.neariso=!0;if(void 0===h){h=Array.from(f.channels.keys());if(1!==h.length)throw Error("Dataset contains multiple channels: "+JSON.stringify(h));h=h[0]}b=f.channels.get(h);if(void 0===b)throw Error("Specified channel "+JSON.stringify(h)+" is not one of the supported "+("channels "+JSON.stringify(Array.from(f.channels.keys()))));this.channel=h;this.channelInfo=b;this.scales=f.scales;void 0!==l&&(this.urlPrefix=l);"false"===Object(v.z)(k.neariso)&&(this.neariso=!1);f=Object(v.z)(k.encoding);
-if(void 0===f)f=this.volumeType===A.d.IMAGE?"jpeg":"npz";else if(!C.has(f))throw Error("Invalid encoding: "+JSON.stringify(f)+".");this.encoding=f}E(a,[{key:"getSources",value:function(a){var b=this;return this.scales.map(function(c){for(var d=c.voxelOffset,f=c.voxelSize,h=B.p.create(),l=0;3>l;++l)h[l]=Math.ceil(d[l]);return A.c.getDefaults({numChannels:b.numChannels,volumeType:b.volumeType,dataType:b.dataType,voxelSize:f,transform:B.j.fromTranslation(B.j.create(),B.p.multiply(B.p.create(),d,f)),
-baseVoxelOffset:h,upperVoxelBound:c.imageSize,volumeSourceOptions:a}).map(function(a){return b.chunkManager.getChunkSource(G,{spec:a,parameters:{baseUrls:b.baseUrls,urlPrefix:b.urlPrefix,key:b.key,channel:b.channel,resolution:c.key,encoding:b.encoding,neariso:b.neariso}})})})}},{key:"getMeshSource",value:function(){return null}},{key:"dataType",get:function(){return this.channelInfo.dataType}},{key:"numChannels",get:function(){return 1}},{key:"volumeType",get:function(){return this.channelInfo.volumeType}}]);
-return a}(),D=/^([^\/?]+)(?:\/([^\/?]+))?(?:\?(.*))?$/,O=/^((?:http|https):\/\/[^\/?]+)\/(.*)$/,J=function(a){function b(){p(this,b);return n(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}m(b,a);E(b,[{key:"volumeCompleter",value:function(a,b){return l(a,b)}},{key:"getVolume",value:function(a,b){return k(a,b)}},{key:"description",get:function(){return"NDstore"}}]);return b}(e.a),Q=function(a){function b(a,c,d){d=void 0===d?u.b:d;p(this,b);var f=n(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));
-f.description=a;f.hostnames=c;f.urlprefix=d;return f}m(b,a);E(b,[{key:"getVolume",value:function(a,b){return q(a,this.hostnames,b,this.urlprefix)}},{key:"volumeCompleter",value:function(a,b){return r(b,this.hostnames,a,this.urlprefix)}}]);return b}(e.a)},function(g,e,a){function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});
-b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(e,"c",function(){return b});a.d(e,"b",function(){return d});var n=a(65),m=a(3),c=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),b;(function(a){a[a.LINE=0]="LINE";a[a.POINT=1]="POINT"})(b||(b={}));var d=function(a){function b(a){if(!(this instanceof
-b))throw new TypeError("Cannot call a class as a function");a=(b.__proto__||Object.getPrototypeOf(b)).call(this,a);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!a||"object"!==typeof a&&"function"!==typeof a?this:a}p(b,a);c(b,[{key:"toObject",value:function(){return{transform:this.chunkLayout.transform,chunkDataSize:this.chunkDataSize,voxelSize:this.voxelSize,lowerVoxelBound:this.lowerVoxelBound,upperVoxelBound:this.upperVoxelBound,lowerClipBound:this.lowerClipBound,
-upperClipBound:this.upperClipBound,baseVoxelOffset:this.baseVoxelOffset}}}],[{key:"make",value:function(a){return new b(Object.assign({},a,{transform:Object(n.e)(a.transform,a.vectorGraphicsSourceOptions)}))}},{key:"fromObject",value:function(a){return new b(a)}},{key:"withDefaults",value:function(a){var c=a.transform,d=a.lowerVoxelBound,f=a.upperVoxelBound,h=a.chunkDataSize;c=Object(n.e)(c,a.vectorGraphicsSourceOptions);if(void 0===h&&(h=m.p.clone(f),void 0!==d))for(f=0;3>f;f++)h[f]+=Math.abs(d[f]);
-console.log(h);console.log(a);return new b(Object.assign({},a,{transform:c,chunkDataSize:h}))}}]);return b}(n.c);e.a="vectorgraphics/RenderLayer"},function(g,e,a){function p(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function n(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function m(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+
-typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a){return new u.a({shaderError:a.shaderError,fragmentMain:a.fragmentMain,fragmentMainStartLine:h.a})}Object.defineProperty(e,"__esModule",{value:!0});a.d(e,"ImageUserLayer",function(){return y});var b=a(94);g=a(21);var d=a(20);e=a(45);var f=a(19),h=a(142),q=a(52),k=a(144),t=a(3),r=a(44),l=a(95),u=a(96),
-A=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();a(146);a(97);a(147);var y=function(a){function c(a,f){p(this,c);var l=n(this,(c.__proto__||Object.getPrototypeOf(c)).call(this));l.opacity=Object(q.a)(.5);l.blendMode=Object(k.c)();l.fragmentMain=Object(h.c)();l.shaderError=Object(r.b)();l.transform=new b.a;
-var e=f.source;if("string"!==typeof e)throw Error("Invalid image layer specification");l.opacity.restoreState(f.opacity);l.blendMode.restoreState(f.blend);l.fragmentMain.restoreState(f.shader);l.transform.restoreState(f.transform);l.registerDisposer(l.fragmentMain.changed.add(function(){l.specificationChanged.dispatch()}));l.volumePath=e;Object(d.d)(a.dataSourceProvider,a.chunkManager,e).then(function(a){l.wasDisposed||(a=l.renderLayer=new h.b(a,{opacity:l.opacity,blendMode:l.blendMode,fragmentMain:l.fragmentMain,
-shaderError:l.shaderError,sourceOptions:{transform:t.j.clone(l.transform.transform)}}),l.addRenderLayer(a),l.shaderError.changed.dispatch())});return l}m(c,a);A(c,[{key:"toJSON",value:function(){var a={type:"image"};a.source=this.volumePath;a.opacity=this.opacity.toJSON();a.blend=this.blendMode.toJSON();a.shader=this.fragmentMain.toJSON();a.transform=this.transform.toJSON();return a}},{key:"makeDropdown",value:function(a){return new z(a,this)}}]);return c}(g.f),z=function(a){function b(a,d){p(this,
-b);var f=n(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));f.element=a;f.layer=d;f.opacityWidget=f.registerDisposer(new l.a(f.layer.opacity));f.codeWidget=f.registerDisposer(c(f.layer));a.classList.add("image-dropdown");var h=f.opacityWidget;d=document.createElement("div");d.className="image-dropdown-top-row";h.promptElement.textContent="Opacity";h=document.createElement("div");h.style.flex="1";var k=document.createElement("a"),e=document.createElement("button");e.type="button";e.textContent=
-"?";e.className="help-link";k.appendChild(e);k.title="Documentation on image layer rendering";k.target="_blank";k.href="https://github.com/google/neuroglancer/blob/master/src/neuroglancer/sliceview/image_layer_rendering.md";e=document.createElement("button");e.innerHTML="&square;";e.className="maximize-button";e.title="Show larger editor view";f.registerEventListener(e,"click",function(){new B(f.layer)});d.appendChild(f.opacityWidget.element);d.appendChild(h);d.appendChild(e);d.appendChild(k);a.appendChild(d);
-a.appendChild(f.codeWidget.element);f.codeWidget.textEditor.refresh();return f}m(b,a);A(b,[{key:"onShow",value:function(){this.codeWidget.textEditor.refresh()}}]);return b}(g.g),B=function(a){function b(a){p(this,b);var d=n(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));d.layer=a;d.codeWidget=d.registerDisposer(c(d.layer));d.content.classList.add("image-layer-shader-overlay");d.content.appendChild(d.codeWidget.element);d.codeWidget.textEditor.refresh();return d}m(b,a);return b}(e.a);Object(d.e)("image",
-y);Object(d.f)(f.d.IMAGE,y)},function(g,e,a){a.d(e,"a",function(){return b});var p=a(3),n=a(6),m=a(7),c=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),b=function(){function a(b){b=void 0===b?p.j.create():b;if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");this.transform=b;this.changed=
-new m.a}c(a,[{key:"reset",value:function(){p.j.copy(this.transform,p.d);this.changed.dispatch()}},{key:"toJSON",value:function(){if(!p.j.equals(p.d,this.transform)){var a=this.transform;return[[a[0],a[4],a[8],a[12]],[a[1],a[5],a[9],a[13]],[a[2],a[6],a[10],a[14]],[a[3],a[7],a[11],a[15]]]}}},{key:"restoreState",value:function(a){if(null==a)this.reset();else if(Array.isArray(a))if(4===a.length)try{for(var b=0;4>b;++b)Object(n.b)(this.transform.subarray(4*b,4*(b+1)),a[b]);p.j.transpose(this.transform,
-this.transform)}catch(t){this.reset()}else if(16===a.length)try{Object(n.b)(this.transform,a),p.j.transpose(this.transform,this.transform)}catch(t){this.reset()}else this.reset();else if("object"===typeof a){b=p.l.create();var c=p.p.create(),d=p.p.fromValues(1,1,1);try{Object(n.b)(b,a.rotation),p.l.normalize(b,b)}catch(t){p.l.identity(b)}try{Object(n.b)(c,a.translation)}catch(t){p.p.copy(c,p.h)}try{Object(n.b)(d,a.scale)}catch(t){p.p.copy(d,p.g)}p.j.fromRotationTranslationScale(this.transform,b,c,
-d);this.changed.dispatch()}else this.reset()}},{key:"clone",value:function(){return new a(p.j.clone(this.transform))}}]);return a}()},function(g,e,a){function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,
-enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(e,"a",function(){return d});g=a(1);var m=a(9),c=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),b=function h(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,
-b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return h(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};a(250);var d=function(a){function d(a,b){var c=void 0===b?{}:b;b=void 0===c.min?0:c.min;var l=void 0===c.max?1:c.max;c=void 0===c.step?.01:c.step;if(!(this instanceof d))throw new TypeError("Cannot call a class as a function");var h=p(this,(d.__proto__||Object.getPrototypeOf(d)).call(this));h.value=a;h.element=document.createElement("label");h.promptElement=
-document.createElement("span");h.inputElement=document.createElement("input");var k=h.element,e=h.promptElement,q=h.inputElement;k.className="range-slider";e.className="range-prompt";q.type="range";q.min=""+b;q.max=""+l;q.step=""+c;q.valueAsNumber=h.value.value;k.appendChild(e);k.appendChild(q);var g=function(){h.value.value=h.inputElement.valueAsNumber};h.registerEventListener(q,"change",g);h.registerEventListener(q,"input",g);h.registerEventListener(q,"wheel",function(a){a=a.deltaY;0<a?(h.inputElement.stepUp(),
-g()):0>a&&(h.inputElement.stepDown(),g())});a.changed.add(function(){h.inputElement.valueAsNumber=h.value.value});return h}n(d,a);c(d,[{key:"disposed",value:function(){Object(m.b)(this.element);b(d.prototype.__proto__||Object.getPrototypeOf(d.prototype),"disposed",this).call(this)}}]);return d}(g.a)},function(g,e,a){function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==
-typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(e,"a",function(){return h});g=a(251);a.n(g);g=a(145);var m=a.n(g);g=a(24);var c=a.n(g);g=a(1);var b=a(9),d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=
-!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),f=function k(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return k(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};a(252);a(253);a(254);a(255)(m.a);var h=function(a){function h(a){if(!(this instanceof h))throw new TypeError("Cannot call a class as a function");
-var b=p(this,(h.__proto__||Object.getPrototypeOf(h)).call(this));b.state=a;b.changingValue=!1;b.debouncedValueUpdater=c()(function(){b.changingValue=!0;try{b.state.fragmentMain.value=b.textEditor.getValue()}finally{b.changingValue=!1}},500);b.textEditor=m()(function(a){},{value:b.state.fragmentMain.value,mode:"glsl",gutters:["CodeMirror-lint-markers"]});b.textEditor.on("change",function(){b.setValidState(void 0);b.debouncedValueUpdater()});b.registerDisposer(b.state.fragmentMain.changed.add(function(){b.changingValue||
-b.textEditor.setValue(b.state.fragmentMain.value)}));b.element.classList.add("neuroglancer-shader-code-widget");b.registerDisposer(b.state.shaderError.changed.add(function(){b.updateErrorState()}));b.updateErrorState();return b}n(h,a);d(h,[{key:"updateErrorState",value:function(){var a=this,b=this.state.shaderError.value;void 0===b?this.setValidState(void 0):null!==b?(this.textEditor.setOption("lint",{getAnnotations:function(){if("ShaderCompilationError"===b.name){var c=b.source.split("\n").indexOf(a.state.fragmentMainStartLine)+
-2;return b.errorMessages.map(function(a){return{message:a.message,severity:"error",from:m.a.Pos(void 0===a.line?0:a.line-c)}})}return"ShaderLinkError"===b.name?[{message:b.log,severity:"error",from:m.a.Pos(0)}]:[{message:b.message,severity:"error",from:m.a.Pos(0)}]}}),this.setValidState(!1)):(this.textEditor.setOption("lint",void 0),this.setValidState(!0))}},{key:"setValidState",value:function(a){var b=this.element;b.classList.remove("invalid-input");b.classList.remove("valid-input");!0===a?b.classList.add("valid-input"):
-!1===a&&b.classList.add("invalid-input")}},{key:"disposed",value:function(){this.debouncedValueUpdater.flush();this.debouncedValueUpdater=void 0;Object(b.b)(this.element);this.textEditor=void 0;f(h.prototype.__proto__||Object.getPrototypeOf(h.prototype),"disposed",this).call(this)}},{key:"element",get:function(){return this.textEditor.getWrapperElement()}}]);return h}(g.a)},function(g,e){},function(g,e,a){function p(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");
-}function n(a){return a-Math.floor(a)}a.d(e,"b",function(){return q});a.d(e,"a",function(){return r});var m=a(99),c=a(100),b=a(260),d=a(7),f=a(18),h=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),q=function(){function a(b){p(this,a);this.prefix=b;this.aName=this.prefix+"_a";this.bName=this.prefix+"_b"}h(a,
-[{key:"defineShader",value:function(a){var b=this.aName,d=this.bName;a.addUniform("highp vec4",b,4);a.addUniform("highp float",d,4);a.addFragmentCode(f.l);a.addFragmentCode(c.d);a.addFragmentCode(f.g);for(var h="\nvec3 "+this.prefix+"(uint64_t x) {\n  vec2 v;\n  float primeModulus = float("+m.b+");\n",l=0;2>l;++l){var k=2*l,e=2*l;h+="\n  v["+l+"] = computeHash(x,\n                        "+b+"["+e+"], "+b+"["+(e+1)+"],\n                        "+d+"["+k+"], "+d+"["+(k+1)+"],\n                        primeModulus, 1.0 / 256.0);\n"}a.addFragmentCode(h+
-"\n  vec3 hsv = vec3(v.x, 0.5 + v.y * 0.5, 1.0);\n  return hsvToRgb(hsv);\n}\n")}},{key:"enable",value:function(a,b,c){a.uniform4fv(b.uniform(this.aName),c.a_);a.uniform1fv(b.uniform(this.bName),c.b_)}}]);return a}(),k=new Float32Array(2),t=new Float32Array(3),r=function(){function a(b){p(this,a);this.a_=new Float32Array(16);this.b_=new Float32Array(4);this.changed=new d.a;null==b?(this.hashFunctions=Array(2),this.randomize_()):this.hashFunctions=b;this.computeGPUCoefficients_()}h(a,[{key:"compute",
-value:function(a,c){var d=c.low;c=c.high;for(var f=this.hashFunctions,h=0;2>h;++h)k[h]=n(f[h].compute(d,c)/256);Object(b.a)(a,k[0],.5+.5*k[1],1);return a}},{key:"computeCssColor",value:function(a){this.compute(t,a);return"rgb("+100*t[0]+"%,"+100*t[1]+"%,"+100*t[2]+"%)"}},{key:"debugCompute",value:function(a,b){var c=b.low;b=b.high;for(var d=this.b_,f=m.b,h=0;2>h;++h){for(var l=2*h,k=2*h,e=new Float32Array(2),q=0;4>q;++q)e[0]+=this.a_[4*k+q]*(c>>8*q&255),e[1]+=this.a_[4*(k+1)+q]*(b>>8*q&255);k=(e[0]+
-e[1])%f;q=k*k%f;var g=q*d[l+1]%f,r=(d[l]+k+g)%f;console.log("b = "+d[l]+", sums="+e[0]+" "+e[1]+", dotResult="+k+", "+("prod = "+k*k+" dotResult2="+q+", y="+g+", ")+("modResult="+r));a[h]=n(1/256*r)}return a}},{key:"randomize_",value:function(){for(var a=0;2>a;++a)this.hashFunctions[a]=m.a.generate()}},{key:"randomize",value:function(){this.randomize_();this.computeGPUCoefficients_();this.changed.dispatch()}},{key:"toString",value:function(){return"new SegmentColorHash(["+this.hashFunctions+"])"}},
-{key:"computeGPUCoefficients_",value:function(){for(var a=this.hashFunctions,b=this.a_,c=this.b_,d=0;2>d;++d){var f=a[d],h=2*d,l=8*d;c[h]=1*f.b;c[h+1]=1*f.c;for(h=0;4>h;++h)b[l+h]=1*f.a0[h],b[l+4+h]=1*f.a1[h]}}}],[{key:"getDefault",value:function(){return new a([new m.a(Float32Array.of(609,2364,3749,2289),Float32Array.of(2840,1186,3660,1833),1718,1109),new m.a(Float32Array.of(3466,3835,3345,2040),Float32Array.of(3382,901,18,3444),1534,1432)])}}]);return a}()},function(g,e,a){a.d(e,"a",function(){return n});
-var p=function(){function a(a,b){for(var c=0;c<b.length;c++){var f=b[c];f.enumerable=f.enumerable||!1;f.configurable=!0;"value"in f&&(f.writable=!0);Object.defineProperty(a,f.key,f)}}return function(c,b,d){b&&a(c.prototype,b);d&&a(c,d);return c}}();e.b=4093;var n=function(){function a(c,b,d,f){if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");this.a0=c;this.a1=b;this.b=d;this.c=f}p(a,[{key:"computeDotProduct",value:function(a,b){var c=this.a0,f=this.a1;return c[0]*(a&
-255)+c[1]*(a>>8&255)+c[2]*(a>>16&255)+c[3]*(a>>24&255)+(f[0]*(b&255)+f[1]*(b>>8&255)+f[2]*(b>>16&255)+f[3]*(b>>24&255))}},{key:"compute",value:function(a,b){var c=this.b,f=this.c;a=this.computeDotProduct(a,b);return(a+a*a%4093*f+c)%4093}},{key:"toString",value:function(){return"new HashFunction(Float32Array.of("+this.a0+"), "+("Float32Array.of("+this.a1+"), "+this.b+", "+this.c+")")}}],[{key:"generate",value:function(){function c(){return Math.floor(4093*Math.random())}return new a(Float32Array.of(c(),
-c(),c(),c()),Float32Array.of(c(),c(),c(),c()),c(),c())}}]);return a}()},function(g,e,a){function p(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function n(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function m(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&
-b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(e,"a",function(){return t});a.d(e,"c",function(){return r});a.d(e,"b",function(){return l});var c=a(99),b=a(53);g=a(1);var d=a(18),f=a(67),h=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,
-c);d&&a(b,d);return b}}(),q=function A(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return A(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},k=[d.o,d.l,d.d,d.h,"\nfloat computeHash(uint64_t x, vec4 a0, vec4 a1, float b, float c, float modulus, float scalar) {\n  x.low = unnormalizeUint8(x.low);\n  x.high = unnormalizeUint8(x.high);\n  float dotResult = imod(exactDot(a0, x.low) + exactDot(a1, x.high), modulus);\n  float dotResult2 = imod(dotResult * dotResult, modulus);\n  float y = imod(dotResult2 * c, modulus);\n  float modResult = imod(dotResult + y + b, modulus);\n  return fract(modResult * scalar);\n}\n"];
-e.d=k;var t=function(a){function b(a,c){p(this,b);var d=n(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));d.gl=a;d.hashTable=c;d.hashFunctions=null;d.generation=-1;d.texture=null;c=c.hashFunctions.length;d.a=new Float32Array(16*c);d.b=new Float32Array(4*c+5);d.texture=a.createTexture();return d}m(b,a);h(b,[{key:"computeCoefficients",value:function(){var a=this.hashTable,b=a.hashFunctions;if(this.hashFunctions!==b){this.hashFunctions=b;for(var d=this.a,f=this.b,h=b.length,l=a.width,k=[1/l,
-1/a.height],e=0;2>e;++e)f[4*h+e]=c.b,f[4*h+3+e]=k[e];f[4*h+2]=1/(a.entryStride*l);for(l=0;l<h;++l)for(k=b[l],e=0;2>e;++e){var q=k[e],g=4*l+2*e,r=4*(4*l+2*e);f[g]=q.b+(0===e?.5/a.entryStride:.5);f[g+1]=q.c;for(g=0;4>g;++g)d[r+g]=q.a0[g],d[r+4+g]=q.a1[g]}}}},{key:"copyToGPU",value:function(){this.computeCoefficients();var a=this.hashTable,b=a.generation;if(this.generation!==b){this.generation=b;var c=a.width,d=a.height,h=this.gl;b=this.texture;h.activeTexture(h.TEXTURE0+h.tempTextureUnit);h.bindTexture(h.TEXTURE_2D,
-b);h.pixelStorei(h.UNPACK_ALIGNMENT,1);Object(f.b)(h);var l=h.RGBA;a.tableWithMungedEmptyKey(function(b){h.texImage2D(h.TEXTURE_2D,0,l,c*a.entryStride,d,0,l,h.UNSIGNED_BYTE,new Uint8Array(b.buffer))});h.bindTexture(h.TEXTURE_2D,null)}}},{key:"disposed",value:function(){this.gl.deleteTexture(this.texture);this.texture=null;this.hashTable=this.gl=void 0;this.hashFunctions=null;q(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"disposed",this).call(this)}}],[{key:"get",value:function(a,b){var c=
-this;return a.memoize.get(b,function(){return new c(a,b)})}}]);return b}(g.a),r=function(){function a(c,d){d=void 0===d?b.c:d;p(this,a);this.prefix=c;this.numAlternatives=d;$jscomp.initSymbol();this.textureUnitSymbol=Symbol.for("gpuhashtable:"+this.prefix);this.aName=this.prefix+"_a";this.bName=this.prefix+"_b";this.samplerName=this.prefix+"_sampler"}h(a,[{key:"defineShader",value:function(a){var b=this.aName,c=this.bName,d=this.samplerName,f=this.numAlternatives;a.addUniform("highp vec4",b,4*f);
-a.addUniform("highp float",c,4*f+5);a.addTextureSampler2D(d,this.textureUnitSymbol);a.addFragmentCode(k);for(var h="",l=0;l<f;++l){for(var e=0;2>e;++e){var q=4*l+2*e,g=4*l+2*e;h+="\nfloat "+this.prefix+"_computeHash_"+l+"_"+e+"(uint64_t x) {\n  float primeModulus = "+c+"["+(4*f+e)+"];\n  float scalar = "+c+"["+(4*f+3+e)+"];\n  return computeHash(x,\n                     "+b+"["+g+"], "+b+"["+(g+1)+"],\n                     "+c+"["+q+"], "+c+"["+(q+1)+"],\n                     primeModulus, scalar);\n}\n"}h+=
-"\nvec2 "+this.prefix+"_computeHash_"+l+"(uint64_t x) {\n  vec2 v;\n  v[0] = "+this.prefix+"_computeHash_"+l+"_0(x);\n  v[1] = "+this.prefix+"_computeHash_"+l+"_1(x);\n  return v;\n}\n"}h+="\nbool "+this.hasFunctionName+"(uint64_t x) {\n  float highOffset = "+c+"["+(4*f+2)+"];\n";for(b=0;b<f;++b)h+="\n  {\n    vec2 v = "+this.prefix+"_computeHash_"+b+"(x);\n    vec4 lowResult = texture2D("+d+", v);\n    vec4 highResult = texture2D("+d+", vec2(v.x + highOffset, v.y));\n    if (lowResult == x.low && highResult == x.high) {\n      return true;\n    }\n  }\n";
-a.addFragmentCode(h+"\n  return false;\n}\n")}},{key:"enable",value:function(a,b,c){c.copyToGPU();var d=b.textureUnit(this.textureUnitSymbol);a.activeTexture(a.TEXTURE0+d);a.bindTexture(a.TEXTURE_2D,c.texture);a.uniform4fv(b.uniform(this.aName),c.a);a.uniform1fv(b.uniform(this.bName),c.b)}},{key:"disable",value:function(a,b){b=b.textureUnit(this.textureUnitSymbol);a.activeTexture(a.TEXTURE0+b);a.bindTexture(a.TEXTURE_2D,null)}},{key:"hasFunctionName",get:function(){return this.prefix+"_has"}}]);return a}(),
-l=function(a){function b(){p(this,b);return n(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}m(b,a);h(b,[{key:"defineShader",value:function(a){q(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"defineShader",this).call(this,a);for(var c=this.samplerName,d=this.numAlternatives,f="\nbool "+this.getFunctionName+"(uint64_t x, out uint64_t value) {\n  float highOffset = "+this.bName+"["+(4*d+2)+"];\n",h=0;h<d;++h)f+="\n  {\n    vec2 v = "+this.prefix+"_computeHash_"+h+"(x);\n    vec4 lowResult = texture2D("+
-c+", v);\n    vec4 highResult = texture2D("+c+", vec2(v.x + highOffset, v.y));\n    if (lowResult == x.low && highResult == x.high) {\n      value.low = texture2D("+c+", vec2(v.x + 2.0 * highOffset, v.y));\n      value.high = texture2D("+c+", vec2(v.x + 3.0 * highOffset, v.y));\n      return true;\n    }\n  }\n";a.addFragmentCode(f+"\n  return false;\n}\n")}},{key:"getFunctionName",get:function(){return this.prefix+"_get"}}]);return b}(r)},function(g,e,a){function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
-return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function m(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function c(){return new r.a([],function(a){return Object(A.a)(a,
-A.z)})}function b(a){return Object(F.a)(a.dataType,a.numComponents)}function d(a){return a.map(function(a){return Object(v.c)(new v.b,a.dataType,a.numComponents)})}function f(a,b){return a.memoize.getUncounted({type:"single_mesh:getMeshInfo",parameters:b},function(){return a.rpc.promiseInvoke(t.a,{chunkManager:a.addCounterpartRef(),parameters:b})})}a.d(e,"b",function(){return O});e.e=b;a.d(e,"d",function(){return T});a.d(e,"c",function(){return aa});e.f=function(a,b){return f(a,b).then(function(c){return a.getChunkSource(P,
-{parameters:Object.assign({},b,{info:c})})})};var h=a(25);g=a(23);var q=a(94),k=a(48),t=a(152),r=a(14),l=a(42),u=a(3),A=a(6),y=a(27),z=a(49),B=a(44),x=a(153),v=a(102),E=a(31),F=a(18),C=a(15),G=function M(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return M(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},H=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];
-d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();e.a="//NEUROGLANCER_SINGLE_MESH_LAYER_FRAGMENT_MAIN_START";var D=a(90),O=function Ba(){m(this,Ba);this.shaderError=Object(B.b)();var a=void 0;this.fragmentMain=new r.a(void 0===a?"void main() {\n  emitGray();\n}\n":a,A.B);this.attributeNames=c();this.objectToDataTransform=new q.a};$jscomp.initSymbol();var J=Symbol("SingleMeshShaderManager.vertexAttributeTextureUnit"),
-Q=Object(v.c)(new v.b,l.b.FLOAT32,3),T=function(){function a(b,c,d){m(this,a);this.attributeNames=b;this.attributeInfo=c;this.fragmentMain=d;this.tempLightVec=new Float32Array(4);this.tempPickID=new Float32Array(4);this.textureAccessHelper=new v.a("vertexData");this.indexBufferHelper=new x.a("VertexIndex")}H(a,[{key:"defineAttributeAccess",value:function(a,c){var d=this.textureAccessHelper;d.defineShader(a);a.addVertexCode(d.getAccessor("readVertexPosition","uVertexAttributeSampler[0]",l.b.FLOAT32,
-3));a.addVertexCode(d.getAccessor("readVertexNormal","uVertexAttributeSampler[1]",l.b.FLOAT32,3));var f=2,h="\nvec3 vertexPosition = readVertexPosition("+c+");\nvec3 vertexNormal = readVertexNormal("+c+");\n",k=this.attributeNames;this.attributeInfo.forEach(function(l,e){if(void 0!==k[e]){var q=b(l);a.addVarying("highp "+q,"vCustom"+e);a.addFragmentCode("\n#define "+k[e]+" vCustom"+e+"\n");a.addVertexCode(d.getAccessor("readAttribute"+e,"uVertexAttributeSampler["+f+"]",l.dataType,l.numComponents));
-h+="vCustom"+e+" = readAttribute"+e+"("+c+");\n";f+=1}});a.addTextureSampler2D("uVertexAttributeSampler",J,f);a.addVertexMain(h)}},{key:"defineShader",value:function(a){a.require(x.b);this.indexBufferHelper.defineShader(a);a.addVarying("highp float","vLightingFactor");a.addUniform("highp vec4","uLightDirection");a.addUniform("highp vec4","uColor");a.addUniform("highp mat4","uModelMatrix");a.addUniform("highp mat4","uProjection");a.addUniform("highp vec4","uPickID");a.addVarying("highp vec4","vPickID");
-a.addVertexCode(F.b);a.addVertexCode(F.c);a.addVertexMain("\nfloat vertexIndex = getVertexIndex();\nuint32_t triangleIndex;\ndivmod(getPrimitiveIndex(), 3.0, triangleIndex);\nuint32_t pickID; pickID.value = uPickID;\nvPickID = add(pickID, triangleIndex).value;\n");a.addFragmentCode("\nvoid emitPremultipliedRGBA(vec4 color) {\n  emit(vec4(color.rgb * vLightingFactor, color.a), vPickID);\n}\nvoid emitRGBA(vec4 color) {\n  color = clamp(color, 0.0, 1.0);\n  color.xyz *= color.a;\n  emitPremultipliedRGBA(color);\n}\nvoid emitRGB(vec3 color) {\n  emitRGBA(vec4(color, 1.0));\n}\nvoid emitGray() {\n  emitRGB(vec3(1.0, 1.0, 1.0));\n}\n");
-a.addFragmentCode(D);this.defineAttributeAccess(a,"vertexIndex");a.addVertexMain("\ngl_Position = uProjection * (uModelMatrix * vec4(vertexPosition, 1.0));\nvec3 normal = normalize((uModelMatrix * vec4(vertexNormal, 0.0)).xyz);\nvLightingFactor = abs(dot(normal, uLightDirection.xyz)) + uLightDirection.w;\n");a.setFragmentMainFunction("//NEUROGLANCER_SINGLE_MESH_LAYER_FRAGMENT_MAIN_START\n"+this.fragmentMain)}},{key:"beginLayer",value:function(a,b,c){var d=c.dataToDevice,f=c.lightDirection,h=c.ambientLighting;
-c=c.directionalLighting;a.uniformMatrix4fv(b.uniform("uProjection"),!1,d);d=this.tempLightVec;u.p.scale(d,f,c);d[3]=h;a.uniform4fv(b.uniform("uLightDirection"),d)}},{key:"setPickID",value:function(a,b,c){a.uniform4fv(b.uniform("uPickID"),Object(F.p)(this.tempPickID,c))}},{key:"beginObject",value:function(a,b,c){a.uniformMatrix4fv(b.uniform("uModelMatrix"),!1,c)}},{key:"getShader",value:function(a,b){var c=this,d={attributeNames:this.attributeNames,attributeInfo:this.attributeInfo,fragmentMain:this.fragmentMain};
-return a.memoize.get("single_mesh/SingleMeshShaderManager:"+Object(y.a)(b)+":"+Object(A.g)(d),function(){var d=new E.a(a);d.require(b);c.defineShader(d);return d.build()})}},{key:"bindVertexData",value:function(a,b,c){this.textureAccessHelper.setupTextureLayout(a,b,c);var d=b.textureUnit(J)+a.TEXTURE0,f=function(b){a.activeTexture(d++);a.bindTexture(a.TEXTURE_2D,b)};f(c.vertexTexture);f(c.normalTexture);var h=this.attributeNames;c.vertexAttributeTextures.forEach(function(a,b){void 0!==h[b]&&f(a)})}},
-{key:"disableVertexData",value:function(a,b){for(var c=2,d=this.attributeInfo.length,f=this.attributeNames,h=0;h<d;++h)void 0!==f[h]&&++c;b=b.textureUnit(J)+a.TEXTURE0;for(d=0;d<c;++d)a.activeTexture(b++),a.bindTexture(a.TEXTURE_2D,null)}},{key:"drawFragment",value:function(a,b,c,d){d.ensure(c.numIndices).bind(b);this.bindVertexData(a,b,c.vertexData);this.indexBufferHelper.bind(c.indexBuffer,b);a.drawArrays(a.TRIANGLES,0,c.numIndices)}},{key:"endLayer",value:function(a,b){Object(x.c)(a,b);this.indexBufferHelper.disable(b);
-this.disableVertexData(a,b)}}]);return a}(),S=function(){function a(){m(this,a)}H(a,[{key:"copyToGPU",value:function(a,b){var c=this;Object(v.d)(this,a,1,this.vertexPositions.length/3);var d=function(b,d){var f=a.createTexture();a.bindTexture(a.TEXTURE_2D,f);Object(v.f)(a,c,d,b);return f};this.vertexTexture=d(this.vertexPositions,Q);this.normalTexture=d(this.vertexNormals,Q);this.vertexAttributeTextures=this.vertexAttributes.map(function(a,c){return d(a,b[c])});a.bindTexture(a.TEXTURE_2D,null)}},
-{key:"freeGPUMemory",value:function(a){a.deleteTexture(this.vertexTexture);a.deleteTexture(this.normalTexture);for(var b=this.vertexAttributeTextures,c=$jscomp.makeIterator(b),d=c.next();!d.done;d=c.next())a.deleteTexture(d.value);b.length=0}}]);return a}(),L=function(a){function b(a,c){m(this,b);a=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a));var d=a.vertexData=new S;d.vertexPositions=c.vertexPositions;d.vertexNormals=c.vertexNormals;d.vertexAttributes=c.vertexAttributes;c=a.indices=
-c.indices;a.numIndices=c.length;return a}n(b,a);H(b,[{key:"copyToGPU",value:function(a){G(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"copyToGPU",this).call(this,a);this.vertexData.copyToGPU(a,this.source.attributeTextureFormats);this.indexBuffer=Object(x.e)(a,this.indices)}},{key:"freeGPUMemory",value:function(a){G(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"freeGPUMemory",this).call(this,a);this.vertexData.freeGPUMemory(a);this.indexBuffer.dispose()}}]);return b}(g.b),
-P=function(a){function b(){m(this,b);var a=p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments));a.attributeTextureFormats=d(a.info.vertexAttributes);return a}n(b,a);H(b,[{key:"getChunk",value:function(a){return new L(this,a)}},{key:"info",get:function(){return this.parameters.info}}]);return b}(Object(g.f)(g.e,t.d)),Y=function(a){function b(){m(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);return b}(Object(z.c)(C.b)),aa=function(a){function b(a,
-c){m(this,b);var d=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));d.source=a;d.displayState=c;d.shaders=new Map;d.sharedObject=d.registerDisposer(new Y);d.fallbackFragmentMain="void main() {\n  emitGray();\n}\n";d.countingBuffer=d.registerDisposer(Object(x.d)(d.gl));d.displayState.shaderError.value=void 0;var f=function(){d.shaderManager=void 0;d.displayState.shaderError.value=void 0;d.disposeShaders();d.redrawNeeded.dispatch()};d.registerDisposer(c.fragmentMain.changed.add(f));d.registerDisposer(c.attributeNames.changed.add(f));
-d.registerDisposer(c.objectToDataTransform.changed.add(function(){d.redrawNeeded.dispatch()}));d.displayState.shaderError.value=void 0;c=d.sharedObject;c.visibility.add(d.visibility);c.RPC_TYPE_ID=t.c;c.initializeCounterpart(a.chunkManager.rpc,{chunkManager:a.chunkManager.rpcId,source:a.addCounterpartRef()});d.setReady(!0);return d}n(b,a);H(b,[{key:"disposeShaders",value:function(){for(var a=this.shaders,b=$jscomp.makeIterator(a.values()),c=b.next();!c.done;c=b.next())c=c.value,null!==c&&c.dispose();
-a.clear()}},{key:"disposed",value:function(){this.disposeShaders();G(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"disposed",this).call(this)}},{key:"makeShaderManager",value:function(a){a=void 0===a?this.displayState.fragmentMain.value:a;return new T(this.displayState.attributeNames.value,this.source.info.vertexAttributes,a)}},{key:"getShader",value:function(a){var b=this.shaders,c=b.get(a);if(void 0===c){c=null;var d=this.shaderManager;void 0===d&&(d=this.shaderManager=this.makeShaderManager());
-var f=this.displayState.fragmentMain.value;try{c=d.getShader(this.gl,a),this.fallbackFragmentMain=f,this.displayState.shaderError.value=null}catch(Ha){if(this.displayState.shaderError.value=Ha,d=this.fallbackFragmentMain,d!==f){d=this.shaderManager=this.makeShaderManager(d);try{c=d.getShader(this.gl,a)}catch(qc){}}}b.set(a,c)}return c}},{key:"draw",value:function(a){if(a.emitColor||!a.alreadyEmittedPickID){var b=this.source.chunks.get(t.b);if(void 0!==b&&b.state===h.d.GPU_MEMORY){var c=this.getShader(a.emitter);
-if(null!==c){var d=this.gl,f=this.shaderManager;c.bind();f.beginLayer(d,c,a);var l=a.pickIDs;f.beginObject(d,c,this.displayState.objectToDataTransform.transform);a.emitPickID&&f.setPickID(d,c,l.register(this,b.numIndices/3));f.drawFragment(d,c,b,this.countingBuffer);f.endLayer(d,c)}}}}},{key:"drawPicking",value:function(a){this.draw(a)}},{key:"transformPickedValue",value:function(a,b){a=this.source.chunks.get(t.b);if(void 0!==a){b*=3;var c=a.indices;if(!(b>=c.length)){var d=c[b],f=[],h=this.displayState.attributeNames.value;
-a.vertexData.vertexAttributes.forEach(function(a,b){b=h[b];void 0!==b&&f.push(b+"="+a[d].toPrecision(6))});return f.join(", ")}}}},{key:"isTransparent",get:function(){return null!==this.displayState.fragmentMain.value.match(/emitRGBA|emitPremultipliedRGBA/)}},{key:"gl",get:function(){return this.source.gl}}]);return b}(k.a)},function(g,e,a){function p(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function n(a,b,c){c=Math.ceil(c/b);a.dataWidth=b;a.textureHeight=
-c;a.textureAccessCoefficients=Float32Array.of(1/b,1/(b*c),b)}a.d(e,"b",function(){return q});e.c=function(a,d,f){f=void 0===f?1:f;switch(d){case c.b.UINT8:if(1>f||4<f)break;a.texelsPerElement=1;a.textureFormat=k[f];a.texelType=b.t;a.arrayElementsPerTexel=f;a.arrayConstructor=Uint8Array;return a;case c.b.UINT16:if(1>f||2<f)break;a.texelsPerElement=1;a.textureFormat=k[2*f];a.texelType=b.t;a.arrayElementsPerTexel=2*f;a.arrayConstructor=Uint8Array;return a;case c.b.UINT64:if(1!==f)break;a.texelsPerElement=
-2;a.textureFormat=b.j;a.texelType=b.t;a.arrayElementsPerTexel=4;a.arrayConstructor=Uint8Array;return a;case c.b.UINT32:if(1!==f)break;a.texelsPerElement=1;a.textureFormat=b.j;a.texelType=b.t;a.arrayElementsPerTexel=4;a.arrayConstructor=Uint8Array;return a;case c.b.FLOAT32:if(!(1>f||4<f))return a.texelsPerElement=1,a.textureFormat=k[f],a.texelType=b.c,a.arrayElementsPerTexel=f,a.arrayConstructor=Float32Array,a}throw Error("No supported texture format for "+c.b[d]+"["+f+"].");};e.e=function(a,b,c,d,
-f,h){b=b.maxTextureSize;var l=d*f*h;if(!(c*d<=b&&f*h<=b))if(c*d*f<=b&&h<=b)d*=f;else if(d=Math.ceil(l/b),d*c>b)throw Error("Chunk data size exceeds maximum texture size: "+c+" * "+l);n(a,d,l)};e.d=function(a,b,c,d){b=b.maxTextureSize;var f=Math.ceil(d/b);if(f*c>b)throw Error("Number of elements exceeds maximum texture size: "+c+" * "+d);n(a,f,d)};e.f=function(a,c,d,h){var l=d.arrayConstructor,k=d.textureFormat,e=d.texelsPerElement,q=c.dataWidth;c=c.textureHeight;var g=q*c*d.arrayElementsPerTexel*
-e;h.constructor!==l&&(h=new l(h.buffer,h.byteOffset,h.byteLength/l.BYTES_PER_ELEMENT));h=Object(m.a)(h,g);a.pixelStorei(b.r,1);Object(f.b)(a);a.texImage2D(a.TEXTURE_2D,0,k,q*e,c,0,k,d.texelType,h)};a.d(e,"a",function(){return r});var m=a(132),c=a(42),b=a(35),d=a(18),f=a(67),h=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,
-d);return b}}(),q=function u(){p(this,u)},k=[-1,b.f,b.g,b.i,b.j],t=["","r","ra","rgb","rgba"],r=function(){function a(b){p(this,a);this.key=b;this.uniformName="uTextureAccessCoefficients_"+this.key;this.readTextureValue="readTextureValue_"+this.key}h(a,[{key:"defineShader",value:function(a){a.addUniform("highp vec3",this.uniformName)}},{key:"getReadTextureValueCode",value:function(a){for(var b=this.uniformName,c="\nvoid "+this.readTextureValue+"(highp sampler2D sampler, float index",d=0;d<a;++d)c+=
-", out vec4 output"+d;c+=") {\n  float offset = "+.5/a+";\n  float xCoord = fract((index + offset) * "+b+".x);\n  vec2 texCoords = vec2(xCoord,\n                        (index - (xCoord - 0.5 - offset * "+b+".x) * "+b+".z) *\n                        "+b+".y);\n";for(d=0;d<a;++d)c+="\n  output"+d+" = texture2D(sampler,\n                        vec2(texCoords.x +\n                             "+b+".x * "+(d/a).toFixed(8)+",\n                             texCoords.y));\n";return c+"\n}\n"}},{key:"getAccessor",
-value:function(a,b,f,h){h=void 0===h?1:h;var k=Object(d.a)(f,h),e=[];e.push(this.getReadTextureValueCode(f===c.b.UINT64?2:1));a="\n"+k+" "+a+"(float index) {\n";switch(f){case c.b.UINT8:e.push(d.m);a+="\n  "+k+" result;\n  vec4 temp;\n  "+this.readTextureValue+"("+b+", index, temp);\n  result.value = temp."+t[h]+";\n  return result;\n";break;case c.b.UINT16:e.push(d.j);a+="\n  "+k+" result;\n  vec4 temp;\n  "+this.readTextureValue+"("+b+", index, temp);\n  result.value = temp."+t[2*h]+";\n  return result;\n";
-break;case c.b.UINT32:e.push(d.k);a+="\n  "+k+" result;\n  "+this.readTextureValue+"("+b+", index, result.value);\n  return result;\n";break;case c.b.UINT64:e.push(d.l);a+="\n  "+k+" result;\n  "+this.readTextureValue+"("+b+", index, result.low, result.high);\n  return result;\n";break;case c.b.FLOAT32:e.push(d.e),a+="\n  vec4 temp;\n  "+this.readTextureValue+"("+b+", index, temp);\n  return temp."+t[h]+";\n"}e.push(a+"\n}\n");return e}},{key:"setupTextureLayout",value:function(a,b,c){a.uniform3fv(b.uniform(this.uniformName),
-c.textureAccessCoefficients)}}]);return a}()},function(g,e,a){function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?
-Object.setPrototypeOf(a,b):a.__proto__=b)}function m(a){a.addFragmentExtension("GL_EXT_draw_buffers");a.addFragmentCode(v)}function c(a){a.addFragmentExtension("GL_EXT_draw_buffers");a.addFragmentCode(E)}function b(a){a.setFragmentMain("\nvec4 v0 = getValue0();\nvec4 v1 = getValue1();\nvec4 accum = vec4(v0.rgb, v1.r);\nfloat revealage = v0.a;\n\ngl_FragColor = vec4(accum.rgb / accum.a, revealage);\n")}a.d(e,"a",function(){return x});e.c=m;e.d=c;a.d(e,"b",function(){return G});var d=a(126),f=a(21),
-h=a(128),q=a(48);g=a(129);var k=a(43),t=a(54),r=a(22),l=a(3),u=a(68),A=a(88),y=a(18),z=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),B=function D(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return D(a,b,c)}else{if("value"in
-d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};a(36);a(288);var x;(function(a){a[a.COLOR=0]="COLOR";a[a.Z=1]="Z";a[a.PICK=2]="PICK";a[a.NUM_TEXTURES=3]="NUM_TEXTURES"})(x||(x={}));var v=[y.i,"\nvoid emit(vec4 color, vec4 pickId) {\n  gl_FragData["+x.COLOR+"] = color;\n  gl_FragData["+x.Z+"] = packFloat01ToFixedPoint(1.0 - gl_FragCoord.z);\n  gl_FragData["+x.PICK+"] = pickId;\n}\n"],E=["\nfloat computeOITWeight(float alpha) {\n  float a = min(1.0, alpha) * 8.0 + 0.01;\n  float b = -gl_FragCoord.z * 0.95 + 1.0;\n  return a * a * a * b * b * b;\n}\n",
-"\nvoid emit(vec4 color, vec4 pickId) {\n  float weight = computeOITWeight(color.a);\n  vec4 accum = color * weight;\n  gl_FragData[0] = vec4(accum.rgb, color.a);\n  gl_FragData[1] = vec4(accum.a, 0.0, 0.0, 0.0);\n}\n"],F=l.p.create(),C=l.j.create(),G=function(a){function e(a,c,g){if(!(this instanceof e))throw new TypeError("Cannot call a class as a function");var n=p(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,a,c,g));n.visibleLayerTracker=Object(f.i)(n.viewer.layerManager,q.a,n);n.sliceViews=
-new Set;n.projectionMat=l.j.create();n.inverseProjectionMat=l.j.create();n.modelViewMat=l.j.create();n.width=0;n.height=0;n.pickIDs=new h.a;n.axesLineHelper=n.registerDisposer(d.a.get(n.gl));n.sliceViewRenderHelper=n.registerDisposer(k.d.get(n.gl,m));n.offscreenFramebuffer=n.registerDisposer(new A.b(n.gl,{colorBuffers:Object(A.e)(n.gl,x.NUM_TEXTURES),depthBuffer:new A.a(n.gl)}));n.offscreenCopyHelper=n.registerDisposer(A.c.get(n.gl));n.transparencyCopyHelper=n.registerDisposer(A.c.get(n.gl,b,2));
-n.registerDisposer(n.navigationState.changed.add(function(){n.viewportChanged()}));Object(r.c)(c,"translate-via-mouse-drag",function(a){Object(u.a)(a.detail,function(a,b,c){a=n.width;var d=n.height,f=n.viewer.navigationState.position,h=f.spatialCoordinates;l.p.transformMat4(F,h,n.projectionMat);F[0]=2*b/a;F[1]=-2*c/d;l.p.transformMat4(h,F,n.inverseProjectionMat);f.changed.dispatch()})});Object(r.c)(c,"rotate-via-mouse-drag",function(a){Object(u.a)(a.detail,function(a,b,c){n.navigationState.pose.rotateRelative(l.e[1],
--b/4*Math.PI/180);n.navigationState.pose.rotateRelative(l.e[0],c/4*Math.PI/180);n.viewer.navigationState.changed.dispatch()})});g.showSliceViewsCheckbox&&(a=n.registerDisposer(new t.c(g.showSliceViews)),a.element.className="perspective-panel-show-slice-views neuroglancer-noselect",c=document.createElement("label"),c.className="perspective-panel-show-slice-views neuroglancer-noselect",c.appendChild(document.createTextNode("Slices")),c.appendChild(a.element),n.element.appendChild(c));n.registerDisposer(g.showSliceViews.changed.add(function(){n.scheduleRedraw()}));
-n.registerDisposer(g.showAxisLines.changed.add(function(){n.scheduleRedraw()}));return n}n(e,a);z(e,[{key:"updateProjectionMatrix",value:function(){var a=this.projectionMat;l.j.perspective(a,Math.PI/4,this.width/this.height,10,5E3);var b=this.modelViewMat;this.navigationState.toMat4(b);l.p.set(F,1,-1,-1);l.j.scale(b,b,F);var c=l.p.set(F,0,0,100);l.j.translate(b,b,c);l.j.invert(C,b);l.j.multiply(a,a,C);l.j.invert(this.inverseProjectionMat,a)}},{key:"viewportChanged",value:function(){this.context.scheduleRedraw()}},
-{key:"onResize",value:function(){var a=this.element,b=a.clientHeight;if(a.clientWidth!==this.width||b!==this.height)this.width=this.element.clientWidth,this.height=this.element.clientHeight,this.viewportChanged()}},{key:"disposed",value:function(){for(var a=$jscomp.makeIterator(this.sliceViews),b=a.next();!b.done;b=a.next())b.value.dispose();this.sliceViews.clear();B(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"disposed",this).call(this)}},{key:"updateMouseState",value:function(a){a.pickedRenderLayer=
-null;if(!this.navigationState.valid)return!1;var b=a.position,c=this.offscreenFramebuffer,d=this.width,f=this.height;if(!c.hasSize(d,f))return!1;var h=this.mouseX,e=f-this.mouseY,k=c.readPixel(x.Z,h,e);k=1-Object(y.q)(k);if(1===k)return!1;b[0]=2*h/d-1;b[1]=2*e/f-1;b[2]=2*k-1;l.p.transformMat4(b,b,this.inverseProjectionMat);this.pickIDs.setMouseState(a,c.readPixelAsUint32(x.PICK,h,e));return!0}},{key:"draw",value:function(){if(this.navigationState.valid){this.onResize();var a=this.width,b=this.height;
-if(0!==a&&0!==b){if(this.viewer.showSliceViews.value)for(var d=$jscomp.makeIterator(this.sliceViews),f=d.next();!f.done;f=d.next())f.value.updateRendering();d=this.gl;this.offscreenFramebuffer.bind(a,b);d.disable(d.SCISSOR_TEST);this.gl.clearColor(0,0,0,0);d.clear(d.COLOR_BUFFER_BIT|d.DEPTH_BUFFER_BIT);d.enable(d.DEPTH_TEST);f=this.projectionMat;this.updateProjectionMatrix();var h=l.p.create();Object(l.n)(h,l.e[2],this.modelViewMat);l.p.normalize(h,h);var e=this.pickIDs;e.clear();f={dataToDevice:f,
-lightDirection:h,ambientLighting:.2,directionalLighting:.8,pickIDs:e,emitter:m,emitColor:!0,emitPickID:!0,alreadyEmittedPickID:!1,viewportWidth:a,viewportHeight:b};h=this.visibleLayerTracker.getVisibleLayers();var k=!1,q=$jscomp.makeIterator(h);for(e=q.next();!e.done;e=q.next())e=e.value,e.isTransparent?k=!0:e.draw(f);this.viewer.showSliceViews.value&&this.drawSliceViews(f);this.viewer.showAxisLines.value&&this.drawAxisLines();if(k){d.depthMask(!1);d.enable(d.BLEND);k=this.transparentConfiguration;
-k.bind(a,b);this.gl.clearColor(0,0,0,1);d.clear(d.COLOR_BUFFER_BIT);f.emitter=c;d.blendFuncSeparate(d.ONE,d.ONE,d.ZERO,d.ONE_MINUS_SRC_ALPHA);f.emitPickID=!1;q=$jscomp.makeIterator(h);for(e=q.next();!e.done;e=q.next())e=e.value,e.isTransparent&&e.draw(f);d.disable(d.DEPTH_TEST);this.offscreenFramebuffer.bindSingle(x.COLOR);d.blendFunc(d.ONE_MINUS_SRC_ALPHA,d.SRC_ALPHA);this.transparencyCopyHelper.draw(k.colorBuffers[0].texture,k.colorBuffers[1].texture);d.depthMask(!0);d.disable(d.BLEND);d.enable(d.DEPTH_TEST);
-this.offscreenFramebuffer.bind(a,b)}d.WEBGL_draw_buffers.drawBuffersWEBGL([d.NONE,d.WEBGL_draw_buffers.COLOR_ATTACHMENT1_WEBGL,d.WEBGL_draw_buffers.COLOR_ATTACHMENT2_WEBGL]);f.emitter=m;f.emitPickID=!0;f.emitColor=!1;a=$jscomp.makeIterator(h);for(e=a.next();!e.done;e=a.next())b=e.value,f.alreadyEmittedPickID=!b.isTransparent,b.draw(f);d.disable(d.DEPTH_TEST);this.offscreenFramebuffer.unbind();this.setGLViewport();this.offscreenCopyHelper.draw(this.offscreenFramebuffer.colorBuffers[x.COLOR].texture)}}}},
-{key:"drawSliceViews",value:function(a){var b=this.sliceViewRenderHelper,c=a.lightDirection,d=a.ambientLighting,f=a.directionalLighting;a=a.dataToDevice;for(var h=$jscomp.makeIterator(this.sliceViews),e=h.next();!e.done;e=h.next())if(e=e.value,0!==e.width&&0!==e.height){var k=Math.abs(l.p.dot(c,e.viewportAxes[2]));k=d+k*f;var q=C;l.j.identity(q);q[0]=e.width/2;q[5]=-e.height/2;l.j.multiply(q,e.viewportToData,q);l.j.multiply(q,a,q);b.draw(e.offscreenFramebuffer.colorBuffers[0].texture,q,l.r.fromValues(k,
-k,k,1),l.r.fromValues(.5,.5,.5,1),0,0,1,1)}}},{key:"drawAxisLines",value:function(){var a=this.gl;l.j.identity(C);C[0]=1600;C[5]=1600;C[10]=1600;var b=this.navigationState.position.spatialCoordinates;C[12]=b[0];C[13]=b[1];C[14]=b[2];C[15]=1;l.j.multiply(C,this.projectionMat,C);a.WEBGL_draw_buffers.drawBuffersWEBGL([a.WEBGL_draw_buffers.COLOR_ATTACHMENT0_WEBGL]);this.axesLineHelper.draw(C,!1)}},{key:"zoomByMouse",value:function(a){this.navigationState.zoomBy(a)}},{key:"navigationState",get:function(){return this.viewer.navigationState}},
-{key:"transparentConfiguration",get:function(){var a=this.transparentConfiguration_;void 0===a&&(a=this.transparentConfiguration_=this.registerDisposer(new A.b(this.gl,{colorBuffers:Object(A.e)(this.gl,2,this.gl.RGBA,this.gl.FLOAT)})));return a}}]);return e}(g.a)},function(g,e,a){function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,
-configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function n(a,b){var c=document.documentElement.scrollTop+Math.min(document.documentElement.clientHeight-a.offsetHeight,b.clientY);a.style.left=document.documentElement.scrollLeft+Math.min(document.documentElement.clientWidth-a.offsetWidth,b.clientX)+"px";a.style.top=c+"px";a.style.visibility=null}a.d(e,"a",function(){return f});var m=a(1),c=a(9),b=a(7),d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=
-b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();a(301);var f=function(a){function f(a){if(!(this instanceof f))throw new TypeError("Cannot call a class as a function");var c=(f.__proto__||Object.getPrototypeOf(f)).call(this);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");c=!c||"object"!==typeof c&&"function"!==typeof c?
-this:c;c.element=document.createElement("div");c.parentDisposers=new Map;c.disabledValue=!1;c.opened=new b.a;c.closed=new b.a;var d=c.element;d.className="neuroglancer-context-menu";d.style.visibility="hidden";d.tabIndex=-1;document.body.appendChild(d);void 0!==a&&c.registerParent(a);return c}p(f,a);d(f,[{key:"registerParent",value:function(a){var b=this,c=this.parentDisposers;c.has(a)||c.set(a,Object(m.c)(a,"contextmenu",function(a){b.show(a);a.stopPropagation();a.preventDefault()}))}},{key:"show",
-value:function(a){var b=this;if(!this.disabledValue){this.hide();var c=this.element,d=Object(m.c)(document,"mousedown",function(a){a.target instanceof Node&&!c.contains(a.target)&&b.hide()},!0),f=Object(m.c)(document,"keydown",function(a){"Escape"===a.code&&b.hide()},!0);c.style.display=null;c.style.visibility="hidden";this.opened.dispatch();n(c,a);this.menuDisposer=function(){f();d();c.style.display="none"}}}},{key:"unregisterParent",value:function(a){var b=this.parentDisposers,c=b.get(a);void 0!==
-c&&(c(),b.delete(a))}},{key:"disposed",value:function(){for(var a=this.parentDisposers,b=$jscomp.makeIterator(a.values()),d=b.next();!d.done;d=b.next())d=d.value,d();a.clear();Object(c.b)(this.element)}},{key:"hide",value:function(){void 0!==this.menuDisposer&&(this.menuDisposer(),this.menuDisposer=void 0,this.closed.dispatch())}},{key:"disabled",get:function(){return this.disabledValue},set:function(a){this.disabledValue!==a&&(this.disabledValue=a)&&this.hide()}},{key:"open",get:function(){return void 0!==
-this.menuDisposer}}]);return f}(m.a)},function(g,e,a){function p(a){return Object(b.a)(a.dataTransfer.types,"neuroglancer-layer\x00")}function n(a){if(void 0!==h&&h.manager.rootLayers===a.rootLayers)return h}function m(a,b,c){if(a.shiftKey)return"copy";if(a.ctrlKey)return"move";a=void 0===c?!1:c;a=void 0===a?!1:a;c=n(b);b=void 0===c?"copy":a||c.manager!==b?"link":"move";return b}e.e=function(a,c){a.dataTransfer.setData(Object(b.b)("neuroglancer-layer\x00",c.layers.map(function(a){return{name:a.name,
-visible:a.visible}})),JSON.stringify(c.layers.map(function(a){return a.toJSON()})));void 0!==h&&h.disposer();var d,f=function(){c.manager.unregisterDisposer(f);for(var a=$jscomp.makeIterator(c.layers),b=a.next();!b.done;b=a.next())b.value.dispose();c.manager.dispose();h===d&&(h=void 0)};h=d={manager:c.manager.addRef(),layers:c.layers.map(function(a){return a.addRef()}),disposer:f}};e.a=function(a){if(void 0!==h){if(a&&"move"===a.dataTransfer.dropEffect){var b=new Set(h.layers);h.manager.layerManager.filter(function(a){return!b.has(a)})}h.disposer()}};
-e.c=p;e.d=m;e.f=function(a,c,d){return Object(b.e)(a,m(a,c,void 0===d?!1:d))};e.b=function(a,b,f,h,e){var l=n(b),k=!e&&void 0!==l&&l.manager===b;if(!f&&void 0!==l){var g=new q;g.manager=b;g.numSourceLayers=l.layers.length;g.sourceManager=l.manager;g.moveSupported=k;g.layers=new Map;if(!e&&l.manager===b)if(h)l.layers.forEach(function(a,b){g.layers.set(a,b)});else return;l.layers.forEach(function(a,c){!e&&b.layerManager.has(a)||g.layers.set(a.addRef(),c)});return g}a=p(a);if(void 0!==a)try{var r=Object(d.a)(a.parameters,
-function(a,f){var h=Object(d.w)(a,"name",d.B);a=Object(d.w)(a,"visible",d.m);h=new c.b(h,null,b);h.visible=a;return[h,f]}),u=new q;u.numSourceLayers=r.length;u.moveSupported=k;u.manager=b;u.dragType=a.dragType;u.layers=new Map(r);return u}catch(v){}};var c=a(20),b=a(106),d=a(6),f=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);
-d&&a(b,d);return b}}(),h,q=function(){function a(){if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");}f(a,[{key:"finalize",value:function(a){var b=this.dragType;if(void 0!==b)try{var c=JSON.parse(a.dataTransfer.getData(b));if(!Array.isArray(c)||this.numSourceLayers!==c.length)throw Error("Invalid layer drop data");for(var d=$jscomp.makeIterator(this.layers),f=d.next();!f.done;f=d.next()){var h=$jscomp.makeIterator(f.value),e=h.next().value,k=h.next().value;this.manager.initializeLayerFromSpec(e,
-c[k])}}catch(x){return!1}return!0}},{key:"compatibleWithMethod",value:function(a){return this.method===a||!this.moveSupported&&"move"===a?!0:!1}},{key:"method",get:function(){return void 0!==this.sourceManager?this.manager===this.sourceManager?"move":"link":"copy"}}]);return a}()},function(g,e,a){e.b=function(a,b){b=JSON.stringify(b);b=Object(p.b)((new TextEncoder).encode(b));return a+b};e.a=function(a,b){a=$jscomp.makeIterator(a);for(var c=a.next();!c.done;c=a.next()){c=c.value;a:{var f=b;if(c.startsWith(f))try{var h=
-c.substring(f.length);var e=(new TextDecoder).decode(Object(p.a)(h));var k=JSON.parse(e);break a}catch(t){k=void 0;break a}k=void 0}f=k;if(void 0!==f)return{parameters:f,dragType:c}}};e.e=function(a,b){return m=a.dataTransfer.dropEffect=b};e.c=function(){return m};e.d=function(a){a.draggable=!0;return Object(n.c)(a,"dragstart",function(a){a.stopPropagation();a.preventDefault()})};var p=a(302),n=a(1),m},function(g,e,a){function p(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");
-}function n(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function m(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(e,"b",function(){return y});
-a.d(e,"c",function(){return z});a.d(e,"a",function(){return B});var c=a(40),b=a(162),d=a(163);g=a(1);var f=a(9),h=a(22),q=a(3),k=a(51),t=a(131),r=a(89),l=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),u=function v(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===
-d){if(a=Object.getPrototypeOf(a),null!==a)return v(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};a(303);a(72);e.d="neuroglancer-position";var A=h.a.fromObject({tab:{action:"tab-forward",preventDefault:!1},arrowup:{action:"adjust-up"},arrowdown:{action:"adjust-down"},wheel:{action:"adjust-via-wheel"},"shift+tab":{action:"tab-backward",preventDefault:!1},backspace:{action:"delete-backward",preventDefault:!1},escape:{action:"cancel"},mouseup0:{action:"select-all-if-was-not-focused",
-preventDefault:!1}}),y=function(a){function e(a,f){f=void 0===f?6:f;p(this,e);var l=n(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));l.position=a;l.maxNumberWidth=f;l.element=document.createElement("div");l.inputContainer=document.createElement("div");l.inputElement=document.createElement("input");l.hintElement=document.createElement("input");l.tempPosition=q.p.create();l.updateHintScrollPosition=l.registerCancellable(Object(b.a)(function(){l.hintElement.scrollLeft=l.inputElement.scrollLeft}));
-var g=l.element,r=l.inputElement,u=l.hintElement,m=l.inputContainer;m.className="neuroglancer-position-widget-input-container";r.className="neuroglancer-position-widget-input";u.className="neuroglancer-position-widget-hint";l.inputFieldWidth=3*f+11;f=$jscomp.makeIterator([r,u]);for(var y=f.next();!y.done;y=f.next())y=y.value,y.spellcheck=!1,y.autocomplete="off",y.type="text",y.style.width=l.inputFieldWidth+"ch";u.disabled=!0;f=document.createElement("div");f.textContent="\u29c9";f.className="neuroglancer-copy-button neuroglancer-button";
-f.title="Copy position to clipboard";f.addEventListener("click",function(){var a=Object(d.b)(l.getPositionText());c.a.showTemporaryMessage(a?"Position copied to clipboard":"Failed to copy position to clipboard")});f.addEventListener("dragstart",function(b){b.dataTransfer.setData("neuroglancer-position",JSON.stringify(a.toJSON()));b.dataTransfer.setData("text",l.getPositionText());b.stopPropagation()});f.draggable=!0;g.appendChild(f);g.appendChild(m);m.appendChild(r);m.appendChild(u);g.className="neuroglancer-position-widget";
-l.registerDisposer(a.changed.add(l.registerCancellable(Object(b.a)(function(){return l.updateView()}))));l.registerDisposer(new k.b(r,A)).allShortcutsAreGlobal=!0;l.registerDisposer(new t.a(r,A));l.registerEventListener(r,"change",function(){return l.updatePosition()});l.registerEventListener(r,"blur",function(){return l.updatePosition()});l.registerEventListener(r,"input",function(){return l.cleanInput()});l.registerEventListener(r,"keydown",l.updateHintScrollPosition);l.registerEventListener(r,
-"copy",function(a){var b=r.value.substring(r.selectionStart,r.selectionEnd);b=b.trim().replace(/\s+/g," ");a.clipboardData.setData("text/plain",b);a.stopPropagation();a.preventDefault()});var E=!1;l.registerEventListener(r,"mousedown",function(){E=document.activeElement===r});l.registerDisposer(Object(h.c)(r,"select-all-if-was-not-focused",function(a){E||(r.selectionStart=0,r.selectionEnd=r.value.length,r.selectionDirection="forward",a.preventDefault())}));l.registerDisposer(Object(h.c)(r,"tab-forward",
-function(a){var b=Math.min(r.selectionStart,r.selectionEnd),c=r.value.substring(b).match(/^([^,\s]*)((?:\s+)|(?:\s*,\s*))?([^,\s]*)/);null!==c&&void 0!==c[2]&&(r.selectionStart=b+c[1].length+c[2].length,r.selectionEnd=r.selectionStart+c[3].length,r.selectionDirection="forward",a.preventDefault())}));l.registerDisposer(Object(h.c)(r,"tab-backward",function(a){var b=r.value.substring(0,Math.max(r.selectionStart,r.selectionEnd)).match(/([^,\s]*)((?:\s+)|(?:\s*,\s*))?([^,\s]*)$/);null!==b&&void 0!==b[2]&&
-(r.selectionStart=b.index,r.selectionEnd=r.selectionStart+b[1].length,r.selectionDirection="forward",a.preventDefault())}));l.registerDisposer(Object(h.c)(r,"delete-backward",function(a){if(r.selectionStart===r.selectionEnd&&r.selectionStart===r.value.length){var b=r.value.match(/^(.*)(?![\s])(?:(?:\s+)|(?:\s*,\s*))$/);null!==b&&(r.value=b[1],l.cleanInput(),a.preventDefault())}}));l.registerDisposer(Object(h.c)(r,"cancel",function(){l.updateView();l.inputElement.blur()}));l.registerDisposer(Object(h.c)(r,
-"adjust-via-wheel",function(a){a=a.detail;var b=a.deltaY;0!==b&&l.adjustFromCursor(Math.ceil((r.scrollLeft+a.offsetX-r.clientLeft)/(r.scrollWidth/l.inputFieldWidth)),-Math.sign(b))}));l.registerDisposer(Object(h.c)(r,"adjust-up",function(){l.adjustFromCursor(void 0,1)}));l.registerDisposer(Object(h.c)(r,"adjust-down",function(){l.adjustFromCursor(void 0,-1)}));l.updateView();return l}m(e,a);l(e,[{key:"adjustFromCursor",value:function(a,b){var c=this.inputElement;void 0===a&&(a="forward"===c.selectionDirection?
-c.selectionEnd:c.selectionStart);void 0!==this.cleanInput()&&(a=c.value.substring(0,a).split(",").length-1,this.updatePosition(),c=this.tempPosition,this.position.getVoxelCoordinates(c)&&(c[a]+=b,this.position.setVoxelCoordinates(c),this.updateView()))}},{key:"cleanInput",value:function(){var a=this.inputElement.selectionStart,b=/(-?\d+(?:\.(?:\d+)?)?)/.source,c=/((?:\s+(?![\s,]))|(?:\s*,\s*))/.source,d=/([\[\]{}()\s]*)/.source;b=this.inputElement.value.match(new RegExp("^"+d+"(?![\\s])"+b+"?"+("(?:"+
-c+b+"?(?:"+c+b+"?)?)?")+(d+"$")));if(null!==b){var f="  ",h="x ",l=2,e=b[1].length;c=function(b,c,d){if(void 0!==b){var k=e+b.length;void 0===c&&(c=b,d=" ".repeat(c.length));a>=e&&(l=a===k?f.length+c.length:f.length+Math.min(c.length,a-e));f+=c;h+=d;e=k}};c(b[2]);c(b[3],",   ","  y ");c(b[4]);c(b[5],",   ","  z ");c(b[6]);this.hintElement.value=h;this.inputElement.value!==f&&(this.inputElement.value=f,this.inputElement.selectionEnd=l,this.inputElement.selectionStart=l);this.updateHintScrollPosition();
-return void 0!==b[2]&&void 0!==b[4]&&void 0!==b[6]?{position:q.p.set(this.tempPosition,parseFloat(b[2]),parseFloat(b[4]),parseFloat(b[6]))}:{}}this.hintElement.value=""}},{key:"updatePosition",value:function(){var a=this.cleanInput();void 0!==a&&void 0!==a.position&&this.position.setVoxelCoordinates(a.position)}},{key:"getPositionText",value:function(){var a=this.tempPosition;return this.position.getVoxelCoordinates(a)?Math.floor(a[0])+", "+Math.floor(a[1])+", "+Math.floor(a[2]):"<unspecified position>"}},
-{key:"updateView",value:function(){var a=this.tempPosition;if(this.position.getVoxelCoordinates(a)){var b=this.inputElement;a="  "+Math.floor(a[0])+",   "+Math.floor(a[1])+",   "+Math.floor(a[2]);var c=a.indexOf(","),d=a.indexOf(",",c+1)-c-4;c="x "+" ".repeat(c-2)+"  y "+" ".repeat(d)+"  z";d=b.selectionStart;var f=b.selectionEnd,h=b.selectionDirection;b.value=a;b.setSelectionRange(d,f,h);this.hintElement.value=c+" ".repeat(a.length-c.length);this.updateHintScrollPosition()}else this.inputElement.value=
-"",this.hintElement.value=""}},{key:"disposed",value:function(){Object(f.b)(this.element);u(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"disposed",this).call(this)}}]);return e}(g.a),z=function(a){function c(a,d){p(this,c);var f=n(this,(c.__proto__||Object.getPrototypeOf(c)).call(this));f.element=a;f.voxelSize=d;f.dimensionsContainer=document.createElement("span");f.unitsElement=document.createElement("span");var h=f.dimensionsContainer,l=f.unitsElement;a.className="neuroglancer-voxel-size-widget";
-a.title="Voxel size";h.className="neuroglancer-voxel-size-dimensions-container";a.appendChild(h);a.appendChild(l);l.className="neuroglancer-voxel-size-units";f.registerDisposer(d.changed.add(f.registerCancellable(Object(b.a)(function(){return f.updateView()}))));f.updateView();return f}m(c,a);l(c,[{key:"updateView",value:function(){var a=this.dimensionsContainer,b=this.unitsElement;Object(f.a)(a);this.element.style.display=this.voxelSize.valid?null:"none";var c=this.voxelSize.size,d=Object(r.c)(Math.min(c[0],
-c[1],c[2]));b.textContent=d.unit;for(b=0;3>b;++b){for(var h=c[b]/d.lengthInNanometers,l="",e=0;2>=e&&(l=h.toFixed(e),parseFloat(l)!==h);++e);h=document.createElement("span");h.className="neuroglancer-voxel-size-dimension";h.textContent=l;a.appendChild(h)}}},{key:"disposed",value:function(){Object(f.b)(this.element);u(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"disposed",this).call(this)}}]);return c}(g.a),B=function(a){function c(a,d,f){p(this,c);var h=n(this,(c.__proto__||Object.getPrototypeOf(c)).call(this));
-h.element=a;h.mouseState=d;h.voxelSize=f;h.tempPosition=q.p.create();a.className="neuroglancer-mouse-position-widget";a=h.registerCancellable(Object(b.a)(function(){return h.updateView()}));h.registerDisposer(d.changed.add(a));h.registerDisposer(f.changed.add(a));return h}m(c,a);l(c,[{key:"updateView",value:function(){var a="",b=this.mouseState,c=this.voxelSize;b.active&&c.valid&&(a=this.tempPosition,c.voxelFromSpatial(a,b.position),a="x "+Math.floor(a[0])+",  y "+Math.floor(a[1])+",  z "+Math.floor(a[2]));
-this.element.textContent=a}},{key:"disposed",value:function(){Object(f.b)(this.element);u(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"disposed",this).call(this)}}]);return c}(g.a)},function(g,e,a){function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+
-typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function m(a){return Object.assign({},Object(v.d)(a),{navigationState:a.perspectiveNavigationState,inputEventMap:a.inputEventBindings.perspectiveView})}function c(a){return Object.assign({},Object(v.d)(a),{navigationState:a.navigationState,inputEventMap:a.inputEventBindings.sliceView})}function b(a,b,c){c=void 0===
-b?a.navigationState:new l.e(new l.g(a.navigationState.pose.position,l.f.makeRelative(a.navigationState.pose.orientation,b)),c||a.navigationState.zoomFactor);a=new A.a(a.chunkManager,a.layerManager,c);a[S]=b||x.l.create();return a}function d(a,c,d){return a.map(function(a){return b(c,a[S],d)})}function f(a,b){Object(G.c)(a.element,"nehuba-rotate-via-mouse-drag",function(c){var d=a.viewer,f=a.sliceView,h=d.mouseState;if(h.updateUnconditionally()){var l=b.rotateAtViewCentre?void 0:x.p.clone(h.position);
-Object(H.a)(c.detail,function(a,b,c){a=f.viewportAxes;d.navigationState.pose.rotateAbsolute(a[1],b/4*Math.PI/180,l);d.navigationState.pose.rotateAbsolute(a[0],c/4*Math.PI/180,l)})}});return a}function h(a,b){var c=a.zoomByMouse;a.zoomByMouse=function(a){b.zoomAtViewCentre?this.navigationState.zoomBy(a):c.call(this,a)};return a}function q(a,b){var c=a.registerDisposer(new C.a),d=c.element;a.registerDisposer(new z.a(b,d));a.element.appendChild(d);var f=a.draw;a.draw=function(){f.call(this);var a=this.sliceView,
-b=c.dimensions;b.targetLengthInPixels=Math.min(a.width/4,100);b.nanometersPerPixel=a.pixelSize;c.update()};return a}function k(a){var b=a.draw;a.draw=function(){b.call(this);var c={missingImageChunks:t(this.sliceView,function(a){return a instanceof D.b}),missingChunks:t(this.sliceView),nanometersToOffsetPixels:function(b){b=x.p.transformMat4(x.p.create(),b,a.sliceView.dataToViewport);b[0]=b[0]+a.sliceView.width/2+a.element.clientLeft;b[1]=b[1]+a.sliceView.height/2+a.element.clientTop;return b}};c=
-new CustomEvent("sliceRenderEvent",{bubbles:!0,detail:c});this.element.dispatchEvent(c)}}function t(a,b){var c=a.visibleLayerList.filter(function(a){return b?b(a):!0});return 0===c.length?-1:c.map(function(b){return a.visibleLayers.get(b)}).reduce(function(a,b){return a.concat(b)},[]).filter(function(a){return a instanceof O.b}).map(function(a){return a}).map(function(b){var c=b.chunks;if(b=a.visibleChunks.get(b.spec.chunkLayout))return b.map(function(a){return c.get(a)}).filter(function(a){return!(a&&
-a.state===J.d.GPU_MEMORY)}).length;console.log("visibleChunks are not defined");return 0}).reduce(function(a,b){return a+b},0)}a.d(e,"a",function(){return P});var r=a(159),l=a(55),u=a(103),A=a(43),y=a(63),z=a(54);g=a(1);var B=a(9),x=a(3),v=a(71),E=a(165),F=a(166),C=a(315),G=a(22),H=a(68),D=a(142),O=a(28),J=a(25),Q=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,
-c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),T=function aa(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return aa(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};$jscomp.initSymbol();var S=Symbol("SliceQuat");$jscomp.initSymbol();var L=Symbol("config");e.b=L;e.c="layoutEvent";var P=function(a){function l(a,e,g){if(!(this instanceof l))throw new TypeError("Cannot call a class as a function");
-var t=p(this,(l.__proto__||Object.getPrototypeOf(l)).call(this));t.container=a;t.rootElement=e;t.viewer=g;var A=g.display.container[L];if(!A)throw Error("Are you trying to use nehuba classes directly? Use should use defined API instead");var n=A.layout||{};n.useNehubaPerspective&&!n.useNehubaPerspective.doNotRestrictUserNavigation&&Object(F.e)(g);var B=n.planarSlicesBackground||A.dataset&&A.dataset.imageBackground,v=function(a){B&&(a.backgroundColor=B);k(h(f(a,A),A));return a};n.views||(n.views="hbp-neuro");
-"hbp-neuro"===n.views&&(n.views={slice1:x.l.rotateX(x.l.create(),x.l.create(),-Math.PI/2),slice2:x.l.rotateY(x.l.create(),x.l.rotateX(x.l.create(),x.l.create(),-Math.PI/2),-Math.PI/2),slice3:x.l.rotateX(x.l.create(),x.l.create(),Math.PI)});a=n.views;var C=[a.slice1,a.slice2,a.slice3].map(function(a){return b(g,a)}),G,H=g.display,D=Object.assign({},m(g),{showSliceViews:g.showPerspectiveSliceViews,showSliceViewsCheckbox:!n.hideSliceViewsCheckbox,slicesNavigationState:g.navigationState}),M=Object.assign({},
-c(g),{showScaleBar:new z.b(!1,!1)}),Ba=Object.assign({},c(g),{showScaleBar:new z.b(!1,!1)});a=[r.b(1,r.a("column",[r.b(1,r.a("row",[r.b(1,function(a){t.registerDisposer(v(q(new y.a(H,a,C[0],M),g.showScaleBar)))}),r.b(1,function(a){t.registerDisposer(v(new y.a(H,a,C[1],Ba)))})])),r.b(1,r.a("row",[r.b(1,function(a){t.registerDisposer(v(new y.a(H,a,C[2],Ba)))}),r.b(1,function(a){if(n.useNehubaPerspective){var b=n.useNehubaPerspective;G=t.registerDisposer(new E.a(H,a,D,A));C.forEach(function(a){G.planarSlices.add(a.addRef())});
-if(b.fixedZoomPerspectiveSlices){var c=b.fixedZoomPerspectiveSlices;d(C,g,c.sliceZoom).forEach(function(a){var b=c.sliceViewportSizeMultiplier;a.setViewportSize(c.sliceViewportWidth*b,c.sliceViewportHeight*b);G.sliceViews.add(a)})}else for(b=$jscomp.makeIterator(C),a=b.next();!a.done;a=b.next())G.sliceViews.add(a.value.addRef())}else for(G=t.registerDisposer(new u.b(H,a,D)),b=$jscomp.makeIterator(C),a=b.next();!a.done;a=b.next())G.sliceViews.add(a.value.addRef())})]))]))];r.a("row",a)(e);H.onResize();
-e=new CustomEvent("layoutEvent",{detail:{perspective:G&&G.element}});g.display.container.dispatchEvent(e);return t}n(l,a);Q(l,[{key:"disposed",value:function(){Object(B.a)(this.rootElement);T(l.prototype.__proto__||Object.getPrototypeOf(l.prototype),"disposed",this).call(this)}}]);return l}(g.a);e.d="sliceRenderEvent"},function(g,e,a){function p(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function n(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
-return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function m(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(e,"b",function(){return k});a.d(e,"a",function(){return t});var c=a(7),b=a(16);g=a(98);var d=a(53),f=a(100),h=function(){function a(a,
-b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),q=function l(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return l(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},k=function(a){function b(){p(this,b);
-var a=n(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments));a.hashMapShaderManager=new f.b("customColors");return a}m(b,a);h(b,[{key:"defineShader",value:function(a){var c=this.prefix;this.prefix=c+"_NG";q(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"defineShader",this).call(this,a);this.hashMapShaderManager.defineShader(a);a.addFragmentCode("\nvec3 "+c+"(uint64_t x) {\n  uint64_t mappedValue;\n  if ("+this.hashMapShaderManager.getFunctionName+"(x, mappedValue)) {\n    return mappedValue.low.rgb;\n  }\n  return "+
-this.prefix+"(x);\n}\n");this.prefix=c}},{key:"enable",value:function(a,c,d){var h=f.a.get(a,d.gpuColorMap);this.hashMapShaderManager.enable(a,c,h);q(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"enable",this).call(this,a,c,d)}}]);return b}(g.b),t=function(a){function f(a,b){p(this,f);a=n(this,(f.__proto__||Object.getPrototypeOf(f)).call(this,a));a.gpuColorMap=new d.a;a.colorMap=new Map;a.changed.dispose();a.changed=b;return a}m(f,a);h(f,[{key:"setSegmentColor",value:function(a,c,d,f){var h=
-65536*f+256*d+c;this.colorMap.set(a,{red:c,green:d,blue:f,gpu:h});this.gpuColorMap.set(new b.a(a),new b.a(h))||this.repopulateGpuMap();this.changed.dispatch()}},{key:"unsetSegmentColor",value:function(a){this.colorMap.delete(a);this.repopulateGpuMap();this.changed.dispatch()}},{key:"batchUpdate",value:function(a){var b=this;a.forEach(function(a,c){var d=a.red,f=a.green;a=a.blue;b.colorMap.set(c,{red:d,green:f,blue:a,gpu:65536*a+256*f+d})});this.repopulateGpuMap();this.changed.dispatch()}},{key:"clearCustomSegmentColors",
-value:function(){this.colorMap.clear();this.gpuColorMap.clear();this.changed.dispatch()}},{key:"repopulateGpuMap",value:function(){var a=this.colorMap,c=this.gpuColorMap;c.clear();a.forEach(function(a,d){c.set(new b.a(d),new b.a(a.gpu))})}},{key:"compute",value:function(a,b){var c=this.colorMap.get(b.low);if(c){b=c.green;var d=c.blue;a[0]=c.red/255;a[1]=b/255;a[2]=d/255;return a}return q(f.prototype.__proto__||Object.getPrototypeOf(f.prototype),"compute",this).call(this,a,b)}},{key:"toString",value:function(){return"new NehubaSegmentColorHash(["+
-this.hashFunctions+"])"}}],[{key:"from",value:function(a){var b=new f(a.hashFunctions,a.changed);a.changed=new c.a;return b}},{key:"getDefault",value:function(){throw Error("NehubaSegmentColorHash is supposed to be created by `from` static method");}}]);return f}(g.a)},function(g,e,a){function p(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function n(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==
-typeof b&&"function"!==typeof b?a:b}function m(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a){if(!a.showSliceViewsCheckboxValue)return y;var b=a&&a.config.layout.useNehubaPerspective.centerToOrigin,c=a&&a.config.layout.useNehubaPerspective.mesh,
-d=c&&c.backFaceColor||a&&a.config&&a.config.layout&&a.config.layout.useNehubaPerspective&&a.config.layout.useNehubaPerspective.perspectiveSlicesBackground||a&&a.config&&a.config.layout&&a.config.layout.planarSlicesBackground||a&&a.config.dataset&&a.config.dataset.imageBackground||f.r.fromValues(.5,.5,.5,1),h=f.j.create(),l=c&&c.removeOctant||f.r.fromValues(0,0,0,0);if(a&&c){var e=a.slicesPose;c.removeBasedOnNavigation&&(e.toMat4(h),f.j.invert(h,h));c.flipRemovedOctant&&(l=f.r.fromValues(0,0,-(b?a.perspectiveNavigationState.zoomFactor.value:
-1),1),a=a.perspectiveNavigationState.pose,b=b?e.position.spatialCoordinates:f.p.fromValues(0,0,0),a=a.orientation.orientation,e=f.l.invert(f.l.create(),e.orientation.orientation),e=f.l.multiply(f.l.create(),e,a),e=f.j.fromQuat(f.j.create(),e),f.r.transformMat4(l,l,e),l[0]=l[0]<b[0]/100?-1:1,l[1]=l[1]<b[1]/100?-1:1,l[2]=l[2]<b[2]/100?-1:1)}return{navState:h,octant:l,backFaceColor:d}}a.d(e,"a",function(){return A});e.c=c;a.d(e,"b",function(){return z});var b=a(25),d=a(50),f=a(3),h=a(27),q=a(31),k=a(16),
-t=a(53);g=a(15);a=a(61);var r=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),l=function x(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return x(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:
-b.call(c)}},u=function(a){function b(){p(this,b);return n(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}m(b,a);r(b,[{key:"defineShader",value:function(a){l(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"defineShader",this).call(this,a);a.addVarying("highp vec4","vNavPos");a.addUniform("highp mat4","uNavState");a.addUniform("highp vec4","uOctant");a.addUniform("highp vec4","uBackFaceColor");a.setVertexMain("\nvec4 position = uModelMatrix * vec4(aVertexPosition, 1.0);\nvNavPos = uNavState * position * uOctant;\ngl_Position = uProjection * position;\nvec3 normal = (uModelMatrix * vec4(aVertexNormal, 0.0)).xyz;\nfloat lightingFactor = abs(dot(normal, uLightDirection.xyz)) + uLightDirection.w;\nvColor = vec4(lightingFactor * uColor.rgb, uColor.a);\n\t\t");
+"refCountReachedZero",this).call(this);a.delete(c);a.invoke("SharedObject.dispose",{id:c})}},{key:"counterpartRefCountReachedZero",value:function(a){this.unreferencedGeneration=a;0===this.refCount&&a===this.referencedGeneration&&this.ownerDispose()}}]);return b}(h.a),u=function(a){function b(a,c){c=void 0===c?{}:c;q(this,b);var d=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c=void 0===c?{}:c;null!=a&&d.initializeSharedObject(a,c.id);return d}n(b,a);return b}(r);c("SharedObject.dispose",
+function(a){a=this.get(a.id);if(0!==a.refCount)throw Error("Attempted to dispose object with non-zero reference count.");a.disposed();this.delete(a.rpcId);a.rpcId=null;a.rpc=null});c("SharedObject.refCountReachedZero",function(a){this.get(a.id).counterpartRefCountReachedZero(a.gen)});var v=new Map;c("SharedObject.new",function(a){--(new (v.get(a.type))(this,a)).refCount})},function(h,f,a){h=a(73);a="undefined"!==typeof self&&"undefined"!==typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&
+self;h="undefined"!==typeof window&&window||"undefined"!==typeof h&&h||a;f.root=h;if(!h)throw Error("RxJS could not find any global context (window, self, global)");},function(h,f,a){function q(){try{return n.apply(this,arguments)}catch(c){return p.errorObject.e=c,p.errorObject}}var p=a(13),n;f.tryCatch=function(a){n=a;return q}},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
+return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"g",function(){return y});f.k=function(){return new d.e([y.DATA,y.ANNOTATION,y.DEFAULT_ANNOTATION])};a.d(f,"f",function(){return x});
+a.d(f,"j",function(){return A});a.d(f,"i",function(){return z});a.d(f,"d",function(){return D});a.d(f,"a",function(){return E});a.d(f,"e",function(){return G});a.d(f,"c",function(){return C});f.l=function(a,b,c,d,e){return d.registerDisposer(new B(a,b,c,function(a){var b=a.redrawNeeded.add(function(){return d.scheduleRedraw()}),c=e&&e(a);d.scheduleRedraw();return function(){void 0!==c&&c();b();d.scheduleRedraw()}},d.visibility))};a.d(f,"h",function(){return F});a.d(f,"b",function(){return L});h=a(10);
+var c=a.n(h);h=a(243);var b=a.n(h),d=a(9),e=a(139);h=a(1);var g=a(2),l=a(4),k=a(7),t=a(244),m=a(14),r=a(29),u=a(40),v=function O(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return O(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},w=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=
+!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),y;(function(a){a[a.DATA=0]="DATA";a[a.ANNOTATION=1]="ANNOTATION";a[a.DEFAULT_ANNOTATION=2]="DEFAULT_ANNOTATION"})(y||(y={}));var x=function(a){function b(){q(this,b);var a=p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments));a.ready=!1;a.role=y.DATA;a.layerChanged=new k.a;a.redrawNeeded=new k.a;a.readyStateChanged=new k.a;a.voxelSize=null;a.boundingBox=null;return a}n(b,a);w(b,
+[{key:"setReady",value:function(a){this.ready=a;this.readyStateChanged.dispatch();this.layerChanged.dispatch()}},{key:"handleAction",value:function(a){}},{key:"getValueAt",value:function(a){}},{key:"transformPickedValue",value:function(a,b){return a}},{key:"updateMouseState",value:function(a,b,c,d){}}]);return b}(h.a),A=function(a){function b(){q(this,b);var a=p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments));a.visibility=new r.a;return a}n(b,a);return b}(x),z=function(a){function b(a,
+c){q(this,b);var g=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));g.manager=a;g.layersChanged=new k.a;g.readyStateChanged=new k.a;g.specificationChanged=new k.a;g.renderLayers=[];g.isReady=!1;g.tabs=g.registerDisposer(new u.c);g.tool=g.registerDisposer(new d.b(function(a){return Object(e.c)(g,a)},function(a){return a.toJSON()}));c;g.tabs.changed.add(g.specificationChanged.dispatch);g.tool.changed.add(g.specificationChanged.dispatch);return g}n(b,a);w(b,[{key:"restoreState",value:function(a){this.tool.restoreState(a.tool);
+this.tabs.restoreState(a.tab)}},{key:"addRenderLayer",value:function(a){this.renderLayers.push(a);var b=this.layersChanged,c=this.readyStateChanged;a.layerChanged.add(b.dispatch);a.readyStateChanged.add(c.dispatch);c.dispatch();b.dispatch()}},{key:"removeRenderLayer",value:function(a){var b=this.renderLayers,c=this.layersChanged,d=this.readyStateChanged,e=b.indexOf(a);if(-1===e)throw Error("Attempted to remove invalid RenderLayer");b.splice(e,1);a.layerChanged.remove(c.dispatch);a.readyStateChanged.remove(d.dispatch);
+a.dispose();d.dispatch();c.dispatch()}},{key:"disposed",value:function(){for(var a=this.layersChanged,c=this.readyStateChanged,d=$jscomp.makeIterator(this.renderLayers),e=d.next();!e.done;e=d.next())e=e.value,e.layerChanged.remove(a.dispatch),e.readyStateChanged.remove(c.dispatch),e.dispose();v(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"disposed",this).call(this)}},{key:"getValueAt",value:function(a,b){var c=this.renderLayers,d=b.pickedRenderLayer;if(null!==d&&-1!==c.indexOf(d)){var e=
+d.transformPickedValue(b.pickedValue,b.pickedOffset);return this.transformPickedValue(e)}b=$jscomp.makeIterator(c);for(c=b.next();!c.done&&(c=c.value,!c.ready||(e=c.getValueAt(a),void 0===e));c=b.next());return this.transformPickedValue(e)}},{key:"transformPickedValue",value:function(a){return a}},{key:"toJSON",value:function(){var a={};return a.tab=this.tabs.toJSON(),a.tool=this.tool.toJSON(),a}},{key:"handleAction",value:function(a){}}]);return b}(h.a),D=function(a){function b(a,c,d){c=void 0===
+c?null:c;d=void 0===d?!0:d;q(this,b);var e=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));e.visible=d;e.readyStateChanged=new k.a;e.layerChanged=new k.a;e.specificationChanged=new k.a;e.wasDisposed=!1;e.layer_=null;e.name_=a;e.layer=c;return e}n(b,a);w(b,[{key:"isReady",value:function(){var a=this.layer;return null!==a&&a.isReady}},{key:"handleLayerChanged",value:function(){this.visible&&this.layerChanged.dispatch()}},{key:"setVisible",value:function(a){a!==this.visible&&(this.visible=
+a,this.layerChanged.dispatch())}},{key:"disposed",value:function(){this.wasDisposed=!0;this.layer=null;v(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"disposed",this).call(this)}},{key:"layer",get:function(){return this.layer_},set:function(a){var b=this,c=this.layer_;null!=c&&(this.unregisterUserLayer(),c.dispose());this.layer_=a;if(null!=a){var d=[a.layersChanged.add(function(){return b.handleLayerChanged()}),a.readyStateChanged.add(this.readyStateChanged.dispatch),a.specificationChanged.add(this.specificationChanged.dispatch)];
+this.unregisterUserLayer=function(){d.forEach(function(a){return a()})};this.readyStateChanged.dispatch();this.handleLayerChanged()}}},{key:"name",get:function(){return this.name_},set:function(a){a!==this.name_&&(this.name_=a,this.layerChanged.dispatch())}}]);return b}(h.a),E=function(a){function b(){q(this,b);var a=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));a.managedLayers=[];a.layerSet=new Set;a.layersChanged=new k.a;a.readyStateChanged=new k.a;a.specificationChanged=new k.a;a.boundPositions=
+new WeakSet;a.numDirectUsers=0;a.renderLayerToManagedLayerMapGeneration=-1;a.renderLayerToManagedLayerMap_=new Map;a.scheduleRemoveLayersWithSingleRef=a.registerCancellable(c()(function(){return a.removeLayersWithSingleRef()},0));a.layersChanged.add(a.scheduleRemoveLayersWithSingleRef);return a}n(b,a);w(b,[{key:"filter",value:function(a){var b=this,c=!1;this.managedLayers=this.managedLayers.filter(function(d){return a(d)?!0:(b.unbindManagedLayer(d),b.layerSet.delete(d),c=!0,!1)});c&&this.layersChanged.dispatch()}},
+{key:"removeLayersWithSingleRef",value:function(){0<this.numDirectUsers||this.filter(function(a){return 1!==a.refCount})}},{key:"updateSignalBindings",value:function(a,b){b(a.layerChanged,this.layersChanged.dispatch);b(a.readyStateChanged,this.readyStateChanged.dispatch);b(a.specificationChanged,this.specificationChanged.dispatch)}},{key:"useDirectly",value:function(){var a=this;1===++this.numDirectUsers&&this.layersChanged.remove(this.scheduleRemoveLayersWithSingleRef);return function(){0===--a.numDirectUsers&&
+(a.layersChanged.add(a.scheduleRemoveLayersWithSingleRef),a.scheduleRemoveLayersWithSingleRef())}}},{key:"addManagedLayer",value:function(a,b){this.updateSignalBindings(a,t.a);this.layerSet.add(a);void 0===b&&(b=this.managedLayers.length);this.managedLayers.splice(b,0,a);this.layersChanged.dispatch();this.readyStateChanged.dispatch();return a}},{key:"addUserLayer",value:function(a,b,c){a=new D(a,b,c);return this.addManagedLayer(a)}},{key:"readyRenderLayers",value:function(){function a(a,l){for(;;)switch(b){case 0:k=
+$jscomp.makeIterator(r.managedLayers),m=k.next();case 1:if(m.done){b=3;break}g=m.value;if(g.visible&&g.layer){b=4;break}b=2;break;case 4:e=$jscomp.makeIterator(g.layer.renderLayers),d=e.next();case 5:if(d.done){b=7;break}c=d.value;if(c.ready){b=8;break}b=6;break;case 8:return b=9,{value:c,done:!1};case 9:if(void 0===l){b=10;break}b=-1;throw l;case 10:case 6:d=e.next();b=5;break;case 7:case 2:m=k.next();b=1;break;case 3:b=-1;default:return{value:void 0,done:!0}}}var b=0,c,d,e,g,m,k,r=this,l={next:function(b){return a(b,
+void 0)},throw:function(b){return a(void 0,b)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();l[Symbol.iterator]=function(){return this};return l}},{key:"unbindManagedLayer",value:function(a){this.updateSignalBindings(a,t.b);a.dispose()}},{key:"clear",value:function(){for(var a=$jscomp.makeIterator(this.managedLayers),b=a.next();!b.done;b=a.next())this.unbindManagedLayer(b.value);this.managedLayers.length=0;this.layerSet.clear();this.layersChanged.dispatch()}},
+{key:"remove",value:function(a){var b=this.managedLayers[a];this.unbindManagedLayer(b);this.managedLayers.splice(a,1);this.layerSet.delete(b);this.layersChanged.dispatch()}},{key:"removeManagedLayer",value:function(a){a=this.managedLayers.indexOf(a);if(-1===a)throw Error("Internal error: invalid managed layer.");this.remove(a)}},{key:"reorderManagedLayer",value:function(a,b){var c=this.managedLayers.length;a===b||0>a||a>=c||0>b||b>=c||(a=$jscomp.makeIterator(this.managedLayers.splice(a,1)).next().value,
+this.managedLayers.splice(b,0,a),this.layersChanged.dispatch())}},{key:"disposed",value:function(){this.clear();v(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"disposed",this).call(this)}},{key:"getLayerByName",value:function(a){return this.managedLayers.find(function(b){return b.name===a})}},{key:"getUniqueLayerName",value:function(a){for(var b=a,c=0;void 0!==this.getLayerByName(b);)b=a+ ++c;return b}},{key:"has",value:function(a){return this.layerSet.has(a)}},{key:"initializePosition",
+value:function(a){var b=this,d=this.boundPositions;d.has(a)||(d.add(a),d=c()(function(){b.updatePositionFromLayers(a)}),this.readyStateChanged.add(d),a.changed.add(d),this.updatePositionFromLayers(a))}},{key:"updatePositionFromLayers",value:function(a){if(!a.valid)for(var b=$jscomp.makeIterator(this.managedLayers),c=b.next();!c.done;c=b.next())if(c=c.value.layer,null!=c){c=$jscomp.makeIterator(c.renderLayers);for(var d=c.next();!d.done;d=c.next())if(d=d.value,d.ready&&(a.voxelSize.valid||null==d.voxelSize||
+(g.s.copy(a.voxelSize.size,d.voxelSize),a.voxelSize.setValid()),!a.spatialCoordinatesValid&&!a.voxelCoordinatesValid&&null!=d.boundingBox)){d=d.boundingBox;var e=a.spatialCoordinates;g.s.add(e,d.lower,d.upper);g.s.scale(e,e,.5);a.spatialCoordinatesValid=!0;a.changed.dispatch()}}}},{key:"invokeAction",value:function(a){for(var b=$jscomp.makeIterator(this.managedLayers),c=b.next();!c.done;c=b.next())if(c=c.value,null!==c.layer&&c.visible){c=c.layer;c.handleAction(a);c=$jscomp.makeIterator(c.renderLayers);
+for(var d=c.next();!d.done;d=c.next())d=d.value,d.ready&&d.handleAction(a)}}},{key:"renderLayerToManagedLayerMap",get:function(){var a=this.layersChanged.count,b=this.renderLayerToManagedLayerMap_;if(this.renderLayerToManagedLayerMapGeneration!==a){this.renderLayerToManagedLayerMapGeneration=a;b.clear();a=$jscomp.makeIterator(this.managedLayers);for(var c=a.next();!c.done;c=a.next()){c=c.value;var d=c.layer;if(null!==d){d=$jscomp.makeIterator(d.renderLayers);for(var e=d.next();!e.done;e=d.next())b.set(e.value,
+c)}}}return b}},{key:"renderLayers",get:function(){var a=this;$jscomp.initSymbol();$jscomp.initSymbolIterator();var b={};return b[Symbol.iterator]=function(){function b(b,l){for(;;)switch(c){case 0:r=$jscomp.makeIterator(a.managedLayers),k=r.next();case 1:if(k.done){c=3;break}m=k.value;if(null!==m.layer){c=4;break}c=2;break;case 4:g=$jscomp.makeIterator(m.layer.renderLayers),e=g.next();case 5:if(e.done){c=7;break}d=e.value;c=8;return{value:d,done:!1};case 8:if(void 0===l){c=9;break}c=-1;throw l;case 9:case 6:e=
+g.next();c=5;break;case 7:case 2:k=r.next();c=1;break;case 3:c=-1;default:return{value:void 0,done:!0}}}var c=0,d,e,g,m,k,r,l={next:function(a){return b(a,void 0)},throw:function(a){return b(void 0,a)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();l[Symbol.iterator]=function(){return this};return l},b}},{key:"visibleRenderLayers",get:function(){var a=this;$jscomp.initSymbol();$jscomp.initSymbolIterator();var b={};return b[Symbol.iterator]=function(){function b(b,
+l){for(;;)switch(c){case 0:r=$jscomp.makeIterator(a.managedLayers),k=r.next();case 1:if(k.done){c=3;break}m=k.value;if(null!==m.layer&&m.visible){c=4;break}c=2;break;case 4:g=$jscomp.makeIterator(m.layer.renderLayers),e=g.next();case 5:if(e.done){c=7;break}d=e.value;c=8;return{value:d,done:!1};case 8:if(void 0===l){c=9;break}c=-1;throw l;case 9:case 6:e=g.next();c=5;break;case 7:case 2:k=r.next();c=1;break;case 3:c=-1;default:return{value:void 0,done:!0}}}var c=0,d,e,g,m,k,r,l={next:function(a){return b(a,
+void 0)},throw:function(a){return b(void 0,a)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();l[Symbol.iterator]=function(){return this};return l},b}}]);return b}(h.a),G=function(){function a(){var c=this;q(this,a);this.changed=new k.a;this.position=g.s.create();this.active=!1;this.pickedRenderLayer=null;this.pickedValue=new m.a(0,0);this.pickedOffset=0;this.updater=this.pickedAnnotationId=this.pickedAnnotationLayer=void 0;this.stale=!1;this.triggerUpdate=b()(function(){c.update()},
+50,{leading:!0,trailing:!0})}w(a,[{key:"updateUnconditionally",value:function(){this.triggerUpdate.cancel();this.update();return this.active}},{key:"updateIfStale",value:function(){this.stale&&this.update()}},{key:"update",value:function(){var a=this.updater;this.stale=!1;a?this.setActive(a(this)):this.setActive(!1)}},{key:"setActive",value:function(a){this.stale=!1;if(this.active!==a||!0===a)this.active=a,this.changed.dispatch()}}]);return a}(),C=function(a){function b(a,c){q(this,b);var d=p(this,
+(b.__proto__||Object.getPrototypeOf(b)).call(this));d.layerManager=a;d.mouseState=c;d.values=new Map;d.changed=new k.a;d.needsUpdate=!0;d.registerDisposer(c.changed.add(function(){d.handleChange()}));d.registerDisposer(a.layersChanged.add(function(){d.handleLayerChange()}));return d}n(b,a);w(b,[{key:"handleLayerChange",value:function(){this.mouseState.active&&this.handleChange()}},{key:"handleChange",value:function(){this.needsUpdate=!0;this.changed.dispatch()}},{key:"update",value:function(){if(this.needsUpdate){this.needsUpdate=
+!1;var a=this.values,b=this.mouseState;a.clear();if(b.active)for(var c=b.position,d=$jscomp.makeIterator(this.layerManager.managedLayers),e=d.next();!e.done;e=d.next()){e=e.value;var g=e.layer;e.visible&&g&&a.set(g,g.getValueAt(c,b))}}}},{key:"get",value:function(a){this.update();return this.values.get(a)}},{key:"toJSON",value:function(){this.update();for(var a={},b=this.values,c=$jscomp.makeIterator(this.layerManager.managedLayers),d=c.next();!d.done;d=c.next()){d=d.value;var e=d.layer;e&&(e=b.get(e),
+void 0!==e&&(e instanceof m.a&&(e={t:"u64",v:e}),a[d.name]=e))}return a}}]);return b}(h.a),B=function(a){function b(a,d,e,g,m){q(this,b);var k=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));k.layerManager=a;k.renderLayerType=d;k.roles=e;k.layerAdded=g;k.visibility=m;k.visibleLayers=new Map;k.newVisibleLayers=new Set;k.debouncedUpdateVisibleLayers=k.registerCancellable(c()(function(){return k.updateVisibleLayers()},0));k.registerDisposer(a.layersChanged.add(k.debouncedUpdateVisibleLayers));
+k.registerDisposer(e.changed.add(k.debouncedUpdateVisibleLayers));k.updateVisibleLayers();return k}n(b,a);w(b,[{key:"disposed",value:function(){this.visibleLayers.forEach(function(a){return a()});this.visibleLayers.clear();v(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"disposed",this).call(this)}},{key:"updateVisibleLayers",value:function(){for(var a=this.visibleLayers,b=this.newVisibleLayers,c=this.renderLayerType,d=this.layerAdded,e=this.roles,g={},k=$jscomp.makeIterator(this.layerManager.readyRenderLayers()),
+m=k.next();!m.done;g={disposer:g.disposer,visibilityDisposer:g.visibilityDisposer,typedLayer:g.typedLayer},m=k.next())m=m.value,m instanceof c&&e.has(m.role)&&(g.typedLayer=m,b.add(g.typedLayer),a.has(g.typedLayer)||(g.visibilityDisposer=g.typedLayer.visibility.add(this.visibility),g.disposer=d(g.typedLayer),a.set(g.typedLayer.addRef(),function(a){return function(){a.disposer();a.visibilityDisposer();a.typedLayer.dispose()}}(g))));c=$jscomp.makeIterator(a);for(d=c.next();!d.done;d=c.next())e=$jscomp.makeIterator(d.value),
+d=e.next().value,e=e.next().value,b.has(d)||(a.delete(d),e());b.clear()}},{key:"getVisibleLayers",value:function(){this.debouncedUpdateVisibleLayers.flush();return[].concat($jscomp.arrayFromIterable(this.visibleLayers.keys()))}}]);return b}(h.a),F=function(a){function b(a){q(this,b);var c=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.layerManager=a;c.changed=new k.a;c.visible_=!1;c.registerDisposer(a);return c}n(b,a);w(b,[{key:"toJSON",value:function(){if(void 0!==this.layer)return{layer:this.layer.name,
+visible:!0===this.visible?!0:void 0}}},{key:"restoreState",value:function(a){if(void 0===a)this.reset();else{Object(l.t)(a);var b=Object(l.v)(a,"layer",l.y);this.layer=void 0!==b?this.layerManager.getLayerByName(b):void 0;this.visible=Object(l.v)(a,"visible",l.w)?!0:!1}}},{key:"reset",value:function(){this.layer=void 0}},{key:"layer",get:function(){return this.layer_},set:function(a){var b=this;if(a!==this.layer_){void 0!==this.layer_&&(this.existingLayerDisposer(),this.existingLayerDisposer=void 0);
+this.layer_=a;if(void 0!==a){var c=function(){b.layer_=void 0;b.visible=!1;b.existingLayerDisposer=void 0;b.changed.dispatch()};a.registerDisposer(c);var d=a.specificationChanged.add(function(){b.changed.dispatch()});this.existingLayerDisposer=function(){var b=a.layer;null!==b&&(b=b.tool.value,void 0!==b&&b.deactivate());a.unregisterDisposer(c);d()}}else this.visible_=!1;this.changed.dispatch()}}},{key:"visible",get:function(){return this.visible_},set:function(a){void 0===this.layer_&&(a=!1);this.visible_!==
+a&&(this.visible_=a,this.changed.dispatch())}}]);return b}(h.a),L=function(a){function b(a,d){q(this,b);var e=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));e.layerManager=a;e.filter=d;e.changed=new k.a;e.validate=c()(function(){var a=e.layerName_;void 0!==a&&(a=e.layerManager.getLayerByName(a),void 0!==a&&e.filter(a)?e.layer_=a:(e.layer_=void 0,e.layerName_=void 0),e.changed.dispatch())},0);e.registerDisposer(a);e.registerDisposer(a.specificationChanged.add(function(){var a=e.layer_;
+void 0!==a&&(e.layerManager.layerSet.has(a)&&e.filter(a)?(a=a.name,a!==e.layerName_&&(e.layerName_=a,e.changed.dispatch())):(e.layer_=void 0,e.layerName_=void 0,e.changed.dispatch()))}));return e}n(b,a);w(b,[{key:"restoreState",value:function(a){this.layerName=Object(l.y)(a)}},{key:"toJSON",value:function(){var a=this.layer_;return void 0!==a?a.name:this.layerName_}},{key:"reset",value:function(){this.layer_=this.layerName_=void 0;this.changed.dispatch()}},{key:"layer",get:function(){return this.layer_},
+set:function(a){this.layer_!==a&&(void 0!==a&&this.layerManager.layerSet.has(a)&&this.filter(a)?(this.layer_=a,this.layerName_=a.name):this.layerName_=this.layer_=void 0,this.changed.dispatch())}},{key:"layerName",get:function(){return this.layerName_},set:function(a){a!==this.layerName_&&(this.layer_=void 0,this.layerName_=a,this.changed.dispatch(),this.validate())}}]);return b}(h.a)},function(h,f,a){h=a(69);a=a(70);f.async=new a.AsyncScheduler(h.AsyncAction)},function(h,f,a){a.d(f,"a",function(){return b});
+f.b=function(a,c,g,l){for(var d=[],e=3;e<arguments.length;++e)d[e-3]=arguments[e];return a.memoize.get(Object(p.g)({id:"getMemoizedBuffer",getter:Object(n.a)(g),args:d}),function(){var e=new q.b(b.fromData(a,g.apply(null,[].concat($jscomp.arrayFromIterable(d))),c,WebGL2RenderingContext.STATIC_DRAW));e.registerDisposer(e.value);return e})};var q=a(1),p=a(4),n=a(22),c=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=
+!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),b=function(){function a(b,c){c=void 0===c?WebGL2RenderingContext.ARRAY_BUFFER:c;if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");this.gl=b;this.bufferType=c;this.gl=b;this.buffer=b.createBuffer()}c(a,[{key:"bind",value:function(){this.gl.bindBuffer(this.bufferType,this.buffer)}},{key:"bindToVertexAttrib",value:function(a,b,c,d,t,m){c=void 0===c?WebGL2RenderingContext.FLOAT:
+c;d=void 0===d?!1:d;t=void 0===t?0:t;m=void 0===m?0:m;this.bind();this.gl.enableVertexAttribArray(a);this.gl.vertexAttribPointer(a,b,c,d,t,m)}},{key:"setData",value:function(a,b){b=void 0===b?WebGL2RenderingContext.STATIC_DRAW:b;var c=this.gl;this.bind();c.bufferData(this.bufferType,a,b)}},{key:"dispose",value:function(){this.gl.deleteBuffer(this.buffer);this.gl=this.buffer=void 0}}],[{key:"fromData",value:function(b,c,d,k){b=new a(b,d);b.setData(c,k);return b}}]);return a}()},function(h,f,a){a.d(f,
+"k",function(){return n});f.s=function(a){return(a[3]+1/256*a[2]+1/65536*a[1]+1/16777216*a[0])/256};a.d(f,"h",function(){return c});a.d(f,"g",function(){return e});a.d(f,"i",function(){return g});a.d(f,"e",function(){return l});f.r=function(a,b){for(var c=0;4>c;++c)a[c]=(b>>8*c&255)/255;return a};f.a=function(a,b){b=void 0===b?1:b;switch(a){case q.b.FLOAT32:if(1===b)return"float";if(1<b&&4>b)return"vec"+b;break;case q.b.UINT8:if(1===b)return"uint8_t";if(1<b&&4>b)return"uint8x"+b+"_t";break;case q.b.UINT16:if(1===
+b)return"uint16_t";if(2===b)return"uint16x2_t";break;case q.b.UINT32:if(1===b)return"uint32_t";break;case q.b.UINT64:if(1===b)return"uint64_t"}throw Error("No shader type for "+q.b[a]+"["+b+"].");};var q=a(50),p=a(246),n="\nvec4 packFloat01ToFixedPoint(const float value) {\n  const vec4 shift = vec4(256.0 * 256.0 * 256.0, 256.0 * 256.0, 256.0, 1.0);\n  const vec4 mask = vec4(0.0, 1.0 / 256.0, 1.0 / 256.0, 1.0 / 256.0);\n  vec4 result = fract(value * shift);\n  result -= result.xxyz * mask;\n  return result * 256.0 / 255.0;\n}\n",
+c="\nvec3 hueToRgb(float hue) {\n  float hue6 = hue * 6.0;\n  float r = abs(hue6 - 3.0) - 1.0;\n  float g = 2.0 - abs(hue6 - 2.0);\n  float b = 2.0 - abs(hue6 - 4.0);\n  return clamp(vec3(r, g, b), 0.0, 1.0);\n}\nvec3 hsvToRgb(vec3 c) {\n  vec3 hueRgb = hueToRgb(c.x);\n  return c.z * ((hueRgb - 1.0) * c.y + 1.0);\n}\n";h=["float","vec2","vec3","vec4"].map(function(a){return"\n"+a+" unnormalizeUint8("+a+" value) {\n  return floor(value * 255.0 + 0.5);\n}\n"}).join("");f.q=h;var b=[h,"\nfloat uintleToFloat(float v) {\n  return unnormalizeUint8(v);\n}\nfloat uintleToFloat(vec2 v) {\n  v = unnormalizeUint8(v);\n  return v.x + v.y * 256.0;\n}\nfloat uintleToFloat(vec3 v) {\n  v = unnormalizeUint8(v);\n  return v.x + v.y * 256.0 + v.z * 256.0 * 256.0;\n}\n"];
+f.p=b;var d=[h,"\nfloat uintbeToFloat(float v) {\n  return unnormalizeUint8(v);\n}\nfloat uintbeToFloat(vec2 v) {\n  v = unnormalizeUint8(v);\n  return v.y + v.x * 256.0;\n}\nfloat uintbeToFloat(vec3 v) {\n  v = unnormalizeUint8(v);\n  return v.z + v.y * 256.0 + v.x * 256.0 * 256.0;\n}\n"];(function(){var a=p.a===p.b.BIG?"be":"le";return[p.a===p.b.BIG?d:b,"\nfloat uintToFloat(float v) {\n  return uint"+a+"ToFloat(v);\n}\nfloat uintToFloat(vec2 v) {\n  return uint"+a+"ToFloat(v);\n}\nfloat uintToFloat(vec3 v) {\n  return uint"+
+a+"ToFloat(v);\n}\n"]})();f.n="\nstruct uint64_t {\n  vec4 low, high;\n};\nuint64_t toUint64(uint64_t x) { return x; }\n";f.o=[h,"\nstruct uint64_t {\n  vec4 low, high;\n};\nuint64_t toUint64(uint64_t x) { return x; }\n","\nstruct uint8_t {\n  float value;\n};\nstruct uint8x2_t {\n  vec2 value;\n};\nstruct uint8x3_t {\n  vec3 value;\n};\nstruct uint8x4_t {\n  vec4 value;\n};\nfloat toRaw(uint8_t x) { return unnormalizeUint8(x.value); }\nfloat toNormalized(uint8_t x) { return x.value; }\nvec2 toRaw(uint8x2_t x) { return unnormalizeUint8(x.value); }\nvec2 toNormalized(uint8x2_t x) { return x.value; }\nvec3 toRaw(uint8x3_t x) { return unnormalizeUint8(x.value); }\nvec3 toNormalized(uint8x3_t x) { return x.value; }\nvec4 toRaw(uint8x4_t x) { return unnormalizeUint8(x.value); }\nvec4 toNormalized(uint8x4_t x) { return x.value; }\nuint64_t toUint64(uint8_t x) {\n  uint64_t result;\n  result.low = vec4(x.value, 0.0, 0.0, 0.0);\n  result.high = vec4(0.0, 0.0, 0.0, 0.0);\n  return result;\n}\n"];
+f.f="\nfloat toRaw(float x) { return x; }\nfloat toNormalized(float x) { return x; }\nvec2 toRaw(vec2 x) { return x; }\nvec2 toNormalized(vec2 x) { return x; }\nvec3 toRaw(vec3 x) { return x; }\nvec3 toNormalized(vec3 x) { return x; }\nvec4 toRaw(vec4 x) { return x; }\nvec4 toNormalized(vec4 x) { return x; }\n";f.l=["\nstruct uint64_t {\n  vec4 low, high;\n};\nuint64_t toUint64(uint64_t x) { return x; }\n",b,"\nstruct uint16_t {\n  vec2 value;\n};\nstruct uint16x2_t {\n  vec4 value;\n};\nfloat toRaw(uint16_t x) { return uintleToFloat(x.value); }\nfloat toNormalized(uint16_t x) { return toRaw(x) / 65535.0; }\nvec2 toRaw(uint16x2_t x) { return vec2(uintleToFloat(x.value.xy), uintleToFloat(x.value.zw)); }\nvec2 toNormalized(uint16x2_t x) { return toRaw(x) / 65535.0; }\nuint64_t toUint64(uint16_t x) {\n  uint64_t result;\n  result.low = vec4(x.value, 0.0, 0.0);\n  result.high = vec4(0.0, 0.0, 0.0, 0.0);\n  return result;\n}\n"];
+h=["\nstruct uint64_t {\n  vec4 low, high;\n};\nuint64_t toUint64(uint64_t x) { return x; }\n","\nstruct uint32_t {\n  vec4 value;\n};\nuint64_t toUint64(uint32_t x) {\n  uint64_t result;\n  result.low = x.value;\n  result.high = vec4(0.0, 0.0, 0.0, 0.0);\n  return result;\n}\n"];f.m=h;var e=["\nvec3 getSubscriptsFromNormalized(vec3 normalizedPosition, vec3 size) {\n  return floor(min(normalizedPosition * size, size - 1.0));\n}\n","\nfloat getFortranOrderIndex(vec3 subscripts, vec3 size) {\n  return subscripts.x + size.x * (subscripts.y + size.y * subscripts.z);\n}\n",
+"\nfloat getFortranOrderIndexFromNormalized(vec3 normalizedPosition, vec3 size) {\n  return getFortranOrderIndex(getSubscriptsFromNormalized(normalizedPosition, size), size);\n}\n"],g="\nfloat imod(float x, float y) {\n  return x - y * floor(x / y);\n}\n",l="\nfloat exactDot(vec4 a, vec4 b) {\n  return a[0] * b[0] + a[1] * b[1] + a[2] * b[2] + a[3] * b[3];\n}\nfloat exactDot(vec3 a, vec3 b) {\n  return a[0] * b[0] + a[1] * b[1] + a[2] * b[2];\n}\n";f.d=[h,"\nbool equals(uint32_t a, uint32_t b) {\n  return all(lessThan(abs(a.value - b.value), vec4(1.0 / 256.0, 1.0 / 256.0, 1.0 / 256.0, 1.0 / 256.0)));\n}\n"];
+f.b=[h,"\nuint32_t add(uint32_t a, float b) {\n  uint32_t result;\n  float partial = 0.0;\n\n  partial += a.value.x * 255.0 + b;\n  {\n    float byte0 = mod(partial, 256.0);\n    result.value.x = byte0 / 255.0;\n    partial = (partial - byte0) / 256.0;\n  }\n\n  partial += a.value.y * 255.0;\n  {\n    float byte1 = mod(partial, 256.0);\n    result.value.y = byte1 / 255.0;\n    partial = (partial - byte1) / 256.0;\n  }\n\n  partial += a.value.z * 255.0;\n  {\n    float byte2 = mod(partial, 256.0);\n    result.value.z = byte2 / 255.0;\n    partial = (partial - byte2) / 256.0;\n  }\n\n  partial += a.value.w * 255.0;\n  {\n    float byte3 = mod(partial, 256.0);\n    result.value.w = byte3 / 255.0;\n    partial = (partial - byte3) / 256.0;\n  }\n  return result;\n}\n\nuint32_t add(uint32_t a, uint32_t b) {\n  uint32_t result;\n  float partial = 0.0;\n\n  partial += a.value.x * 255.0 + b.value.x * 255.0;\n  {\n    float byte0 = mod(partial, 256.0);\n    result.value.x = byte0 / 255.0;\n    partial = (partial - byte0) / 256.0;\n  }\n\n  partial += a.value.y * 255.0 + b.value.y * 255.0;\n  {\n    float byte1 = mod(partial, 256.0);\n    result.value.y = byte1 / 255.0;\n    partial = (partial - byte1) / 256.0;\n  }\n\n  partial += a.value.z * 255.0 + b.value.z * 255.0;\n  {\n    float byte2 = mod(partial, 256.0);\n    result.value.z = byte2 / 255.0;\n    partial = (partial - byte2) / 256.0;\n  }\n\n  partial += a.value.w * 255.0 + b.value.w * 255.0;\n  {\n    float byte3 = mod(partial, 256.0);\n    result.value.w = byte3 / 255.0;\n    partial = (partial - byte3) / 256.0;\n  }\n  return result;\n}\n"];
+f.j=[h,"\nuint32_t multiply(uint32_t a, float b) {\n  uint32_t result;\n  float partial = 0.0;\n  partial += a.value.x * 255.0 * b;\n  {\n    float byte0 = mod(floor(partial + 0.5), 256.0);\n    result.value.x = byte0 / 255.0;\n    partial = (partial - byte0) / 256.0;\n  }\n\n  partial += a.value.y * 255.0 * b;\n  {\n    float byte1 = mod(floor(partial + 0.5), 256.0);\n    result.value.y = byte1 / 255.0;\n    partial = (partial - byte1) / 256.0;\n  }\n\n  partial += a.value.z * 255.0 * b;\n  {\n    float byte2 = mod(floor(partial + 0.5), 256.0);\n    result.value.z = byte2 / 255.0;\n    partial = (partial - byte2) / 256.0;\n  }\n\n  partial += a.value.w * 255.0 * b;\n  {\n    float byte3 = mod(floor(partial + 0.5), 256.0);\n    result.value.w = byte3 / 255.0;\n    partial = (partial - byte3) / 256.0;\n  }\n  return result;\n}\n"];
+f.c=[h,"\nfloat divmod(uint32_t dividend, float divisor, out uint32_t quotient) {\n\n  float partial = dividend.value.w * 255.0;\n  float remainder;\n\n  remainder = mod(partial, divisor);\n  quotient.value.w = (partial - remainder) / divisor / 255.0;\n  partial = remainder * 256.0 + dividend.value.z * 255.0;\n\n  remainder = mod(partial, divisor);\n  quotient.value.z = (partial - remainder) / divisor / 255.0;\n  partial = remainder * 256.0 + dividend.value.y * 255.0;\n\n  remainder = mod(partial, divisor);\n  quotient.value.y = (partial - remainder) / divisor / 255.0;\n  partial = remainder * 256.0 + dividend.value.x * 255.0;\n\n  remainder = mod(partial, divisor);\n  quotient.value.x = (partial - remainder) / divisor / 255.0;\n\n  return remainder;\n}\n"]},
+function(h,f,a){f.a=function(a){if(a instanceof Object){var c=a[q];void 0===c&&(c=a[q]=p++);return"o"+c}return""+JSON.stringify(a)};$jscomp.initSymbol();var q=Symbol("objectId"),p=0},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);
+a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function n(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function c(a){if("number"!==typeof a||0>a)throw Error("Expected non-negative number as limit, but received: "+JSON.stringify(a));return a}a.d(f,"b",function(){return w});a.d(f,"a",function(){return y});a.d(f,"d",function(){return x});
+a.d(f,"c",function(){return A});a.d(f,"e",function(){return z});f.f=function(a,b){a=function(a){function b(a){for(var c=[],d=0;d<arguments.length;++d)c[d-0]=arguments[d];n(this,b);var e;d=q(this,(e=b.__proto__||Object.getPrototypeOf(b)).call.apply(e,[].concat([this],$jscomp.arrayFromIterable(c))));d.parameters=c[1].parameters;return d}p(b,a);u(b,[{key:"initializeCounterpart",value:function(a,c){c.parameters=this.parameters;r(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"initializeCounterpart",
+this).call(this,a,c)}}],[{key:"encodeOptions",value:function(a){var c=r(b.__proto__||Object.getPrototypeOf(b),"encodeOptions",this).call(this,a);c.parameters=a.parameters;return c}}]);return b}(a);return a=v([Object(m.g)(b.RPC_ID)],a)};var b=a(30),d=a(74),e=a(9),g=a(4),l=a(97),k=a(22),t=a(7),m=a(15),r=function E(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return E(a,b,c)}else{if("value"in d)return d.value;
+b=d.get;return void 0===b?void 0:b.call(c)}},u=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),v=this&&this.__decorate||function(a,b,c,d){var e=arguments.length,g=3>e?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d,m;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)g=Reflect.decorate(a,
+b,c,d);else for(var k=a.length-1;0<=k;k--)if(m=a[k])g=(3>e?m(g):3<e?m(b,c,g):m(b,c))||g;return 3<e&&g&&Object.defineProperty(b,c,g),g},w=function(){function a(c){n(this,a);this.source=c;this.state=b.d.SYSTEM_MEMORY}u(a,[{key:"copyToGPU",value:function(a){this.state=b.d.GPU_MEMORY}},{key:"freeGPUMemory",value:function(a){this.state=b.d.SYSTEM_MEMORY}},{key:"gl",get:function(){return this.source.gl}}]);return a}(),y=function G(a){var b=void 0===a?{}:a;a=void 0===b.defaultItemLimit?Number.POSITIVE_INFINITY:
+b.defaultItemLimit;b=void 0===b.defaultSizeLimit?Number.POSITIVE_INFINITY:b.defaultSizeLimit;n(this,G);this.sizeLimit=new e.c(b,c);this.itemLimit=new e.c(a,c)},x=function(a){function c(a,b,e){n(this,c);var g=q(this,(c.__proto__||Object.getPrototypeOf(c)).call(this));g.gl=b;g.capacities=e;g.visibleChunksChanged=new t.a;g.pendingChunkUpdates=null;g.pendingChunkUpdatesTail=null;g.chunkUpdateDeadline=null;g.chunkUpdateDelay=30;b=function(b){return{itemLimit:g.registerDisposer(d.a.makeFromExisting(a,b.itemLimit)).rpcId,
+sizeLimit:g.registerDisposer(d.a.makeFromExisting(a,b.sizeLimit)).rpcId}};g.initializeCounterpart(a,{gpuMemoryCapacity:b(e.gpuMemory),systemMemoryCapacity:b(e.systemMemory),downloadCapacity:b(e.download)});return g}p(c,a);u(c,[{key:"scheduleChunkUpdate",value:function(){var a=this.chunkUpdateDeadline;a=null===a||Date.now()<a?0:this.chunkUpdateDelay;setTimeout(this.processPendingChunkUpdates.bind(this),a)}},{key:"processPendingChunkUpdates",value:function(){var a=this.chunkUpdateDeadline;null===a&&
+(a=Date.now()+30);for(var b=!1;;){if(Date.now()>a){setTimeout(this.processPendingChunkUpdates.bind(this),this.chunkUpdateDelay);break}var c=this.pendingChunkUpdates;this.applyChunkUpdate(c)&&(b=!0);c=this.pendingChunkUpdates=c.nextUpdate;--window.numPendingChunkUpdates;if(null==c){this.pendingChunkUpdatesTail=null;break}}b&&this.visibleChunksChanged.dispatch()}},{key:"applyChunkUpdate",value:function(a){var c=!1,d=this.rpc.get(a.source);if(void 0===a.id){c=$jscomp.makeIterator(d.chunks.keys());for(var e=
+c.next();!e.done;e=c.next())d.deleteChunk(e.value);c=!0}else if(e=a.state,e===b.d.EXPIRED)d.deleteChunk(a.id);else{var g=a.id;a["new"]?(a=d.getChunk(a),d.addChunk(g,a)):a=d.chunks.get(g);if(e!==a.state)switch(e){case b.d.GPU_MEMORY:a.copyToGPU(this.gl);c=!0;break;case b.d.SYSTEM_MEMORY:a.freeGPUMemory(this.gl);break;default:throw Error("INTERNAL ERROR: Invalid chunk state: "+b.d[e]);}}return c}}]);return c}(m.b);x=v([Object(m.g)(b.b)],x);window.numPendingChunkUpdates=0;Object(m.e)("Chunk.update",
+function(a){var b=this.get(a.source),c=b.chunkManager.chunkQueueManager;b.immediateChunkUpdates?c.applyChunkUpdate(a)&&c.visibleChunksChanged.dispatch():(b=c.pendingChunkUpdatesTail,++window.numPendingChunkUpdates,null==b?(c.pendingChunkUpdates=a,c.pendingChunkUpdatesTail=a,c.scheduleChunkUpdate()):(b.nextUpdate=a,c.pendingChunkUpdatesTail=a))});var A=function(a){function b(a){n(this,b);var c=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.chunkQueueManager=a;c.memoize=new l.b;c.registerDisposer(a.addRef());
+c.initializeCounterpart(a.rpc,{chunkQueueManager:a.rpcId});return c}p(b,a);u(b,[{key:"getChunkSource",value:function(a,b){var c=this,d=a.encodeOptions(b);d.constructorId=Object(k.a)(a);d=Object(g.g)(d);return this.memoize.get(d,function(){var d=new a(c,b);d.initializeCounterpart(c.rpc,{});return d})}},{key:"gl",get:function(){return this.chunkQueueManager.gl}}]);return b}(m.b);A=v([Object(m.g)(b.a)],A);var z=function(a){function c(a,b){n(this,c);b=q(this,(c.__proto__||Object.getPrototypeOf(c)).call(this));
+b.chunkManager=a;b.chunks=new Map;b.immediateChunkUpdates=!1;return b}p(c,a);u(c,[{key:"initializeCounterpart",value:function(a,b){b.chunkManager=this.chunkManager.rpcId;r(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"initializeCounterpart",this).call(this,a,b)}},{key:"deleteChunk",value:function(a){var c=this.chunks.get(a);c.state===b.d.GPU_MEMORY&&c.freeGPUMemory(this.gl);this.chunks.delete(a)}},{key:"addChunk",value:function(a,b){this.chunks.set(a,b)}},{key:"getChunk",value:function(a){throw Error("Not implemented.");
+}},{key:"invalidateCache",value:function(){this.rpc.invoke(b.c,{id:this.rpcId})}},{key:"gl",get:function(){return this.chunkManager.chunkQueueManager.gl}}],[{key:"encodeOptions",value:function(a){return{}}}]);return c}(m.b)},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}
+function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a,b,c){var d=a.createShader(c);a.shaderSource(d,b);a.compileShader(d);if(!a.getShaderParameter(d,a.COMPILE_STATUS)){a=a.getShaderInfoLog(d)||"";var g=a.replace("\x00","");d=[];
+g=$jscomp.makeIterator(g.split("\n"));for(var k=g.next();!k.done;k=g.next()){k=k.value;var m=k.match(/^ERROR:\s*(\d+):(\d+)\s*(.+)$/);null!==m?d.push({message:m[3].trim(),file:parseInt(m[1],10),line:parseInt(m[2],10)}):(m=k.match(/^ERROR:\s*(.+)$/),null!==m?d.push({message:m[1]}):(k=k.trim())&&d.push({message:k}))}throw new e(c,b,a,d);}return d}a.d(f,"a",function(){return t});f.b=function(a,b,c){var d=new Map;return function(e){var g=d.get(e);void 0===g&&(g=new t(b),g.require(e),c(g),g=a.registerDisposer(g.build()),
+d.set(e,g));return g}};h=a(1);var b=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),d;(function(a){a[a.VERTEX=WebGL2RenderingContext.VERTEX_SHADER]="VERTEX";a[a.FRAGMENT=WebGL2RenderingContext.FRAGMENT_SHADER]="FRAGMENT"})(d||(d={}));var e=function(a){function b(a,c,e,g){q(this,b);var k="Error compiling "+
+d[a].toLowerCase()+" shader: "+e,m=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,k));m.name="ShaderCompilationError";m.log=e;m.message=k;m.shaderType=a;m.source=c;m.errorMessages=g;return m}n(b,a);return b}(Error),g=function(a){function b(a,c,d){q(this,b);var e="Error linking shader: "+d,g=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,e));g.name="ShaderLinkError";g.log=d;g.message=e;g.vertexSource=a;g.fragmentSource=c;return g}n(b,a);return b}(Error),l=function(a){function d(a,
+b,e,k,m){q(this,d);var r=p(this,(d.__proto__||Object.getPrototypeOf(d)).call(this));r.gl=a;r.vertexSource=b;r.fragmentSource=e;r.attributes=new Map;r.uniforms=new Map;var l=r.vertexShader=c(a,b,a.VERTEX_SHADER),t=r.fragmentShader=c(a,e,a.FRAGMENT_SHADER),u=a.createProgram();a.attachShader(u,l);a.attachShader(u,t);a.linkProgram(u);if(!a.getProgramParameter(u,a.LINK_STATUS))throw a=a.getProgramInfoLog(u)||"",new g(b,e,a);r.program=u;e=r.uniforms;b=r.attributes;if(k)for(k=$jscomp.makeIterator(k),l=k.next();!l.done;l=
+k.next())l=l.value,e.set(l,a.getUniformLocation(u,l));if(m)for(m=$jscomp.makeIterator(m),l=m.next();!l.done;l=m.next())k=l.value,b.set(k,a.getAttribLocation(u,k));return r}n(d,a);b(d,[{key:"uniform",value:function(a){return this.uniforms.get(a)}},{key:"attribute",value:function(a){return this.attributes.get(a)}},{key:"textureUnit",value:function(a){return this.textureUnits.get(a)}},{key:"bind",value:function(){this.gl.useProgram(this.program)}},{key:"disposed",value:function(){var a=this.gl;a.deleteShader(this.vertexShader);
+this.vertexShader=void 0;a.deleteShader(this.fragmentShader);this.fragmentShader=void 0;a.deleteProgram(this.program);this.uniforms=this.attributes=this.gl=this.program=void 0}}]);return d}(h.a),k=function(){function a(){q(this,a);this.code="";this.parts=new Set}b(a,[{key:"add",value:function(a){if(!this.parts.has(a))switch(this.parts.add(a),typeof a){case "string":this.code+=a;break;case "function":this.add(a());break;default:if(Array.isArray(a)){a=$jscomp.makeIterator(a);for(var b=a.next();!b.done;b=
+a.next())this.add(b.value)}else throw Error("Invalid code type");}}},{key:"toString",value:function(){return this.code}}]);return a}(),t=function(){function a(b){q(this,a);this.gl=b;this.nextTextureUnit=this.nextSymbolID=0;this.varyingsCodeFS=this.varyingsCodeVS=this.attributesCode=this.uniformsCode="";this.fragmentExtensionsSet=new Set;this.fragmentExtensions="";this.vertexCode=new k;this.vertexMain="";this.fragmentCode=new k;this.fragmentMain=this.outputBufferCode="";this.required=new Set;this.uniforms=
+[];this.attributes=[];this.initializers=[];this.textureUnits=new Map}b(a,[{key:"allocateTextureUnit",value:function(a,b){b=void 0===b?1:b;if(this.textureUnits.has(a))throw Error("Duplicate texture unit symbol: "+a);var c=this.nextTextureUnit;this.nextTextureUnit+=b;this.textureUnits.set(a,c);return c}},{key:"addTextureSampler2D",value:function(a,b,c){var d=this.allocateTextureUnit(b,c);this.addUniform("highp sampler2D",a,c);this.addInitializer(function(b){if(c){for(var e=new Int32Array(c),g=0;g<c;++g)e[g]=
+g+d;b.gl.uniform1iv(b.uniform(a),e)}else b.gl.uniform1i(b.uniform(a),d)});return d}},{key:"symbol",value:function(a){return a+this.nextSymbolID++}},{key:"addAttribute",value:function(a,b){this.attributes.push(b);this.attributesCode+="in "+a+" "+b+";\n";return b}},{key:"addVarying",value:function(a,b){this.varyingsCodeVS+="out "+a+" "+b+";\n";this.varyingsCodeFS+="in "+a+" "+b+";\n"}},{key:"addOutputBuffer",value:function(a,b,c){null!==c&&(this.outputBufferCode+="layout(location = "+c+") ");this.outputBufferCode+=
+"out "+a+" "+b+";\n"}},{key:"addUniform",value:function(a,b,c){this.uniforms.push(b);this.uniformsCode=null!=c?this.uniformsCode+("uniform "+a+" "+b+"["+c+"];\n"):this.uniformsCode+("uniform "+a+" "+b+";\n");return b}},{key:"addFragmentExtension",value:function(a){this.fragmentExtensionsSet.has(a)||(this.fragmentExtensionsSet.add(a),this.fragmentExtensions+="#extension "+a+" : require\n")}},{key:"addVertexCode",value:function(a){this.vertexCode.add(a)}},{key:"addFragmentCode",value:function(a){this.fragmentCode.add(a)}},
+{key:"setVertexMain",value:function(a){this.vertexMain=a}},{key:"addVertexMain",value:function(a){this.vertexMain=(this.vertexMain||"")+a}},{key:"setFragmentMain",value:function(a){this.fragmentMain="void main() {\n"+a+"\n}\n"}},{key:"setFragmentMainFunction",value:function(a){this.fragmentMain=a}},{key:"addInitializer",value:function(a){this.initializers.push(a)}},{key:"require",value:function(a){this.required.has(a)||(this.required.add(a),a(this))}},{key:"build",value:function(){var a=new l(this.gl,
+"#version 300 es\nprecision highp float;\n"+this.uniformsCode+"\n"+this.attributesCode+"\n"+this.varyingsCodeVS+"\n"+this.vertexCode+"\nvoid main() {\n"+this.vertexMain+"\n}\n","#version 300 es\n"+this.fragmentExtensions+"\nprecision highp float;\n"+this.uniformsCode+"\n"+this.varyingsCodeFS+"\n"+this.outputBufferCode+"\n"+this.fragmentCode+"\n"+this.fragmentMain+"\n",this.uniforms,this.attributes);a.textureUnits=this.textureUnits;var b=this.initializers;if(0<b.length){a.bind();b=$jscomp.makeIterator(b);
+for(var c=b.next();!c.done;c=b.next())c=c.value,c(a)}return a}}]);return a}()},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function p(a,b){var c="";b&1&&(c+="control+");b&2&&(c+="alt+");b&4&&(c+="meta+");b&8&&(c+=
+"shift+");return c+a}function n(a){return"string"===typeof a?{action:a}:a}function c(a){function b(b,k){for(;;)switch(c){case 0:g=a.indexOf(":");a:{b=void 0;var m=a.substring(g+1).split("+"),l=0;m=$jscomp.makeIterator(m);for(var r=m.next();!r.done;r=m.next())switch(r=r.value,r){case "control":l|=1;break;case "alt":l|=2;break;case "meta":l|=4;break;case "shift":l|=8;break;default:if(void 0===b)b=r;else{e=void 0;break a}}e=void 0===b?void 0:p(b,l)}if(void 0!==e){c=1;break}c=-1;throw Error("Invalid event identifier: "+
+JSON.stringify(a));case 1:if(-1===g){c=2;break}d=a.substring(0,g);if("at"===d||"bubble"===d){c=4;break}c=-1;throw Error("Invalid event phase: "+JSON.stringify(d));case 4:return c=5,{value:d+":"+e,done:!1};case 5:if(void 0===k){c=6;break}c=-1;throw k;case 6:c=3;break;case 2:return c=7,{value:"at:"+e,done:!1};case 7:if(void 0===k){c=8;break}c=-1;throw k;case 8:return c=9,{value:"bubble:"+e,done:!1};case 9:if(void 0===k){c=10;break}c=-1;throw k;case 10:case 3:c=-1;default:return{value:void 0,done:!0}}}
+var c=0,d,e,g,k={next:function(a){return b(a,void 0)},throw:function(a){return b(void 0,a)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();k[Symbol.iterator]=function(){return this};return k}a.d(f,"a",function(){return l});f.b=function(a,b,c){a=k[b.eventPhase]+":"+p(a,(b.ctrlKey?1:0)|(b.altKey?2:0)|(b.metaKey?4:0)|(b.shiftKey?8:0));c=c.get(a);void 0!==c&&(!1!==c.stopPropagation&&b.stopPropagation(),a=new CustomEvent("action:"+c.action,{bubbles:!0,detail:b,cancelable:!0}),
+a=!b.target.dispatchEvent(a),(!1!==c.preventDefault||a)&&b.preventDefault())};f.c=function(a,c,d,e){return Object(b.c)(a,"action:"+c,d,e)};var b=a(1);h=a(257);var d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),e=function m(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,
+b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return m(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},g;(function(a){a[a.CONTROL=1]="CONTROL";a[a.ALT=2]="ALT";a[a.META=4]="META";a[a.SHIFT=8]="SHIFT"})(g||(g={}));var l=function(a){function b(){if(!(this instanceof b))throw new TypeError("Cannot call a class as a function");var a=(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
+return!a||"object"!==typeof a&&"function"!==typeof a?this:a}q(b,a);d(b,[{key:"setFromObject",value:function(a){for(var b=$jscomp.makeIterator(Object.keys(a)),c=b.next();!c.done;c=b.next())c=c.value,this.set(c,n(a[c]))}},{key:"set",value:function(a,d){d=n(d);a=$jscomp.makeIterator(c(a));for(var g=a.next();!g.done;g=a.next())g=g.value,e(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"set",this).call(this,g,d)}},{key:"delete",value:function(a){a=$jscomp.makeIterator(c(a));for(var d=a.next();!d.done;d=
+a.next())d=d.value,e(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"delete",this).call(this,d)}}],[{key:"fromObject",value:function(a,c){c=void 0===c?{}:c;var d=new b;d.label=c.label;if(void 0!==c.parents){c=$jscomp.makeIterator(c.parents);for(var e=c.next();!e.done;e=c.next()){var g=$jscomp.makeIterator(e.value);e=g.next().value;g=g.next().value;d.addParent(e,g)}}c=$jscomp.makeIterator(Object.keys(a));for(e=c.next();!e.done;e=c.next())e=e.value,d.set(e,n(a[e]));return d}}]);return b}(h.a),
+k=[];k[Event.AT_TARGET]="at";k[Event.CAPTURING_PHASE]="capture";k[Event.BUBBLING_PHASE]="bubble"},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"c",function(){return e});a.d(f,"b",function(){return g});var p=a(39),
+n=a(50),c=a(2);a.d(f,"a",function(){return n.b});var b=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),d=function k(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return k(a,b,c)}else{if("value"in d)return d.value;b=
+d.get;return void 0===b?void 0:b.call(c)}},e;(function(a){a[a.UNKNOWN=0]="UNKNOWN";a[a.IMAGE=1]="IMAGE";a[a.SEGMENTATION=2]="SEGMENTATION"})(e||(e={}));var g=function(a){function g(a){if(!(this instanceof g))throw new TypeError("Cannot call a class as a function");for(var b=void 0===a.lowerVoxelBound?c.h:a.lowerVoxelBound,d=a.upperVoxelBound,e=a.chunkDataSize,k=a.voxelSize,m=a.transform,t=void 0===a.baseVoxelOffset?c.h:a.baseVoxelOffset,f=void 0===a.lowerClipBound?c.s.multiply(c.s.create(),k,b):a.lowerClipBound,
+h=void 0===a.upperClipBound?c.s.multiply(c.s.create(),k,d):a.upperClipBound,p=c.s.multiply(c.s.create(),e,k),E=c.s.create(),G=c.s.create(),C=0;3>C;++C)E[C]=Math.floor(b[C]/e[C]),G[C]=Math.floor((d[C]-1)/e[C]+1);k=(g.__proto__||Object.getPrototypeOf(g)).call(this,{voxelSize:k,transform:m,lowerChunkBound:E,upperChunkBound:G,chunkSize:p});if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");k=!k||"object"!==typeof k&&"function"!==typeof k?this:k;k.baseVoxelOffset=
+t;k.lowerClipBound=f;k.upperClipBound=h;k.lowerVoxelBound=b;k.upperVoxelBound=d;k.chunkDataSize=e;b=k.dataType=a.dataType;d=k.numChannels=a.numChannels;k.chunkBytes=Object(c.l)(e)*n.a[b]*d;k.compressedSegmentationBlockSize=a.compressedSegmentationBlockSize;return k}q(g,a);b(g,[{key:"toObject",value:function(){return Object.assign({},d(g.prototype.__proto__||Object.getPrototypeOf(g.prototype),"toObject",this).call(this),{numChannels:this.numChannels,chunkDataSize:this.chunkDataSize,dataType:this.dataType,
+lowerVoxelBound:this.lowerVoxelBound,upperVoxelBound:this.upperVoxelBound,lowerClipBound:this.lowerClipBound,upperClipBound:this.upperClipBound,baseVoxelOffset:this.baseVoxelOffset,compressedSegmentationBlockSize:this.compressedSegmentationBlockSize})}}],[{key:"make",value:function(a){return new g(Object.assign({},a,{transform:Object(p.k)(a.transform,a.volumeSourceOptions)}))}},{key:"fromObject",value:function(a){return new g(a)}},{key:"withDefaultCompression",value:function(a){var b=a.compressedSegmentationBlockSize,
+c=a.dataType,d=a.voxelSize,k=a.transform,m=a.lowerVoxelBound,t=a.upperVoxelBound;k=Object(p.k)(k,a.volumeSourceOptions);void 0!==b||a.volumeType!==e.SEGMENTATION||c!==n.b.UINT32&&c!==n.b.UINT64||(b=Object(p.l)({voxelSize:d,transform:k,lowerVoxelBound:m,upperVoxelBound:t,maxVoxelsPerChunkLog2:9}));return new g(Object.assign({},a,{compressedSegmentationBlockSize:b,transform:k}))}},{key:"getDefaults",value:function(a){var b=Object.assign({},a,{transform:Object(p.k)(a.transform,a.volumeSourceOptions)});
+return(void 0===a.chunkDataSizes?Object(p.j)(b):a.chunkDataSizes).map(function(b){return g.withDefaultCompression(Object.assign({},a,{chunkDataSize:b}))})}}]);return g}(p.i)},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+
+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a,b,c,d){d=void 0===d?{}:d;return e.a.forPromise(new Promise(function(e){e(a.getVolume(b,c,d))}),{initialMessage:"Retrieving metadata for volume "+c+".",delay:!0,errorPrefix:"Error retrieving metadata for volume "+c+": "})}f.d=c;a.d(f,"b",function(){return t});a.d(f,"c",function(){return m});a.d(f,"a",function(){return r});
+f.e=function(a,b){u.set(a,b)};f.f=function(a,b){v.set(a,b)};var b=a(18),d=a(26),e=a(31);h=a(1);var g=a(4),l=a(7),k=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),t=function(a){function b(a,c,d){q(this,b);a=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a));a.initialSpecification=c;a.manager=d;return a}
+n(b,a);k(b,[{key:"toJSON",value:function(){var a=this.layer;if(!a)return this.initialSpecification;a=a.toJSON();this.visible||(a.visible=!1);return a}}]);return b}(b.d),m=function(a){function b(a,c,d,e,g){q(this,b);var k=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));k.dataSourceProvider=a;k.layerManager=c;k.chunkManager=d;k.layerSelectedValues=e;k.voxelSize=g;k.changed=new l.a;k.voxelCoordinatesSet=new l.b;k.spatialCoordinatesSet=new l.b;k.registerDisposer(c.layersChanged.add(k.changed.dispatch));
+k.registerDisposer(c.specificationChanged.add(k.changed.dispatch));return k}n(b,a);k(b,[{key:"reset",value:function(){this.layerManager.clear()}},{key:"restoreState",value:function(a){Object(g.t)(a);this.layerManager.clear();for(var b=$jscomp.makeIterator(Object.keys(a)),c=b.next();!c.done;c=b.next())c=c.value,this.layerManager.addManagedLayer(this.getLayer(c,a[c]))}},{key:"initializeLayerFromSpec",value:function(a,b){var e=this;a.initialSpecification=b;"string"===typeof b&&(b={source:b});Object(g.t)(b);
+var k=Object(g.v)(b,"type",g.y);a.visible=Object(g.v)(b,"visible",function(a){if(void 0===a||!0===a)return!0;if(!1===a)return!1;throw Error("Expected boolean, but received: "+JSON.stringify(a)+".");});var m=function(b,c){b=new b(e,c);b.restoreState(c);a.layer=b},l=a.sourceUrl=Object(g.v)(b,"source",g.y);if(void 0===k){if(void 0===l)throw Error("Either layer 'type' or 'source' URL must be specified.");c(this.dataSourceProvider,this.chunkManager,l).then(function(c){if(-1!==e.layerManager.managedLayers.indexOf(a)){var g=
+v.get(c.volumeType);if(void 0!==g)m(g,b);else throw Error("Unsupported volume type: "+d.c[c.volumeType]+".");}})}else if(l=u.get(k),void 0!==l)m(l,b);else throw Error("Unsupported layer type: "+JSON.stringify(k)+".");}},{key:"getLayer",value:function(a,b){a=new t(a,b,this);this.initializeLayerFromSpec(a,b);return a}},{key:"add",value:function(a,b){-1===this.layerManager.managedLayers.indexOf(a)&&(a.name=this.layerManager.getUniqueLayerName(a.name));this.layerManager.addManagedLayer(a,b)}},{key:"toJSON",
+value:function(){for(var a={},b=0,c=$jscomp.makeIterator(this.layerManager.managedLayers),d=c.next();!d.done;d=c.next()){d=d.value;var e=d.toJSON();null!=e&&(a[d.name]=e,++b)}if(0!==b)return a}},{key:"setVoxelCoordinates",value:function(a){this.voxelCoordinatesSet.dispatch(a)}},{key:"setSpatialCoordinates",value:function(a){this.spatialCoordinatesSet.dispatch(a)}},{key:"worker",get:function(){return this.chunkManager.rpc}},{key:"rpc",get:function(){return this.chunkManager.rpc}},{key:"rootLayers",
+get:function(){return this.layerManager}}]);return b}(h.a),r=function(a){function c(a){q(this,c);var d=p(this,(c.__proto__||Object.getPrototypeOf(c)).call(this));d.master=a;d.changed=new l.a;d.layerManager=new b.a;d.registerDisposer(a);a=d.layerManager;d.registerDisposer(a.layersChanged.add(d.changed.dispatch));d.registerDisposer(a.specificationChanged.add(d.changed.dispatch));return d}n(c,a);k(c,[{key:"reset",value:function(){this.layerManager.clear()}},{key:"restoreState",value:function(a){var b=
+this.master.layerManager,c=[];a=$jscomp.makeIterator(new Set(Object(g.a)(a,g.A)));for(var d=a.next();!d.done;d=a.next()){d=d.value;var e=b.getLayerByName(d);if(void 0===e)throw Error("Undefined layer referenced in subset specification: "+JSON.stringify(d));c.push(e)}this.layerManager.clear();b=$jscomp.makeIterator(c);for(c=b.next();!c.done;c=b.next())this.layerManager.addManagedLayer(c.value.addRef())}},{key:"toJSON",value:function(){return this.layerManager.managedLayers.map(function(a){return a.name})}},
+{key:"initializeLayerFromSpec",value:function(a,b){this.master.initializeLayerFromSpec(a,b)}},{key:"getLayer",value:function(a,b){return this.master.getLayer(a,b)}},{key:"add",value:function(a,b){-1===this.master.layerManager.managedLayers.indexOf(a)&&(a.name=this.master.layerManager.getUniqueLayerName(a.name),this.master.layerManager.addManagedLayer(a.addRef()));this.layerManager.addManagedLayer(a,b)}},{key:"setVoxelCoordinates",value:function(a){this.master.setVoxelCoordinates(a)}},{key:"setSpatialCoordinates",
+value:function(a){this.master.setSpatialCoordinates(a)}},{key:"voxelCoordinatesSet",get:function(){return this.master.voxelCoordinatesSet}},{key:"spatialCoordinatesSet",get:function(){return this.master.spatialCoordinatesSet}},{key:"worker",get:function(){return this.master.rpc}},{key:"rpc",get:function(){return this.master.rpc}},{key:"dataSourceProvider",get:function(){return this.master.dataSourceProvider}},{key:"chunkManager",get:function(){return this.master.chunkManager}},{key:"voxelSize",get:function(){return this.master.voxelSize}},
+{key:"layerSelectedValues",get:function(){return this.master.layerSelectedValues}},{key:"rootLayers",get:function(){return this.master.rootLayers}}]);return c}(h.a),u=new Map,v=new Map},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&
+null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a){return A.get(a)}function b(a){var b=c(a.type).toJSON(a);b.type=y[a.type].toLowerCase();b.id=a.id;b.description=a.description||void 0;a=a.segments;void 0!==a&&0<a.length&&(b.segments=a.map(function(a){return a.toString()}));
+return b}function d(a,b){b=void 0===b?!1:b;Object(t.t)(a);var d=Object(t.v)(a,"type",function(a){return Object(t.m)(a,y)});b={id:Object(t.v)(a,"id",b?t.y:t.A)||e(),description:Object(t.v)(a,"description",t.y),segments:Object(t.v)(a,"segments",function(a){return void 0===a?void 0:Object(t.a)(a,function(a){return u.a.parseString(a)})}),type:d};c(d).restoreState(b,a);return b}function e(){return Object(m.a)(160)}function g(a,b){return a.id<b.id?-1:a.id===b.id?0:1}function l(a){for(var b=0,d=[],e=0,k=
+0,m=$jscomp.makeIterator(x),l=m.next();!l.done;l=m.next()){l=l.value;d[l]=b;for(var r=a[l],t=0,u=$jscomp.makeIterator(r),f=u.next();!f.done;f=u.next())f=f.value.segments,void 0!==f&&(t+=f.length);k+=r.length;e+=t;r.sort(g);r=r.length;l=c(l);b+=l.serializedBytes*r}var v=new Uint32Array(k+1),h=new Uint32Array(2*e);e=[];b=new ArrayBuffer(b);var n=0,w=0;k={};m=$jscomp.makeIterator(x);for(l=m.next();!l.done;k={serializer:k.serializer},l=m.next())l=l.value,r=a[l],e[l]=r.map(function(a){return a.id}),t=
+r.length,u=c(l),k.serializer=u.serializer(b,d[l],t),r.forEach(function(a){return function(b,c){a.serializer(b,c);v[w++]=n;b=b.segments;if(void 0!==b)for(b=$jscomp.makeIterator(b),c=b.next();!c.done;c=b.next())c=c.value,h[2*n]=c.low,h[2*n+1]=c.high,++n}}(k));return{data:new Uint8Array(b),typeToIds:e,typeToOffset:d,segmentListIndex:v,segmentList:h}}a.d(f,"a",function(){return w});a.d(f,"c",function(){return y});f.g=c;a.d(f,"b",function(){return z});a.d(f,"d",function(){return D});f.h=e;f.i=function(a,
+b){return{type:y.AXIS_ALIGNED_BOUNDING_BOX,id:"data-bounds",description:"Data Bounds",pointA:a,pointB:b}};f.f=function(a){if(null==a)return a;var b=a.segments;void 0!==b&&(a.segments=b.map(function(a){return new u.a(a.low,a.high)}));return a};h=a(1);var k=a(2),t=a(4),m=a(136),r=a(7),u=a(14),v=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,
+c);d&&a(b,d);return b}}(),w=function(a){function b(a){q(this,b);var c=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.id=a;c.changed=new r.a;return c}n(b,a);return b}(h.a),y;(function(a){a[a.POINT=0]="POINT";a[a.LINE=1]="LINE";a[a.AXIS_ALIGNED_BOUNDING_BOX=2]="AXIS_ALIGNED_BOUNDING_BOX";a[a.ELLIPSOID=3]="ELLIPSOID"})(y||(y={}));var x=[y.POINT,y.LINE,y.AXIS_ALIGNED_BOUNDING_BOX,y.ELLIPSOID];f.e=x;var A=new Map;A.set(y.LINE,{icon:"\ua579",description:"Line",toJSON:function(a){return{pointA:Array.from(a.pointA),
+pointB:Array.from(a.pointB)}},restoreState:function(a,b){a.pointA=Object(t.v)(b,"pointA",t.k);a.pointB=Object(t.v)(b,"pointB",t.k)},serializedBytes:24,serializer:function(a,b,c){var d=new Float32Array(a,b,6*c);return function(a,b){var c=a.pointA;a=a.pointB;b*=6;d[b]=c[0];d[b+1]=c[1];d[b+2]=c[2];d[b+3]=a[0];d[b+4]=a[1];d[b+5]=a[2]}}});A.set(y.POINT,{icon:"\u26ac",description:"Point",toJSON:function(a){return{point:Array.from(a.point)}},restoreState:function(a,b){a.point=Object(t.v)(b,"point",t.k)},
+serializedBytes:12,serializer:function(a,b,c){var d=new Float32Array(a,b,3*c);return function(a,b){a=a.point;b*=3;d[b]=a[0];d[b+1]=a[1];d[b+2]=a[2]}}});A.set(y.AXIS_ALIGNED_BOUNDING_BOX,{icon:"\u2751",description:"Bounding Box",toJSON:function(a){return{pointA:Array.from(a.pointA),pointB:Array.from(a.pointB)}},restoreState:function(a,b){a.pointA=Object(t.v)(b,"pointA",t.k);a.pointB=Object(t.v)(b,"pointB",t.k)},serializedBytes:24,serializer:function(a,b,c){var d=new Float32Array(a,b,6*c);return function(a,
+b){var c=a.pointA;a=a.pointB;b*=6;d[b]=Math.min(c[0],a[0]);d[b+1]=Math.min(c[1],a[1]);d[b+2]=Math.min(c[2],a[2]);d[b+3]=Math.max(c[0],a[0]);d[b+4]=Math.max(c[1],a[1]);d[b+5]=Math.max(c[2],a[2])}}});A.set(y.ELLIPSOID,{icon:"\u25ce",description:"Ellipsoid",toJSON:function(a){return{center:Array.from(a.center),radii:Array.from(a.radii)}},restoreState:function(a,b){a.center=Object(t.v)(b,"center",t.k);a.radii=Object(t.v)(b,"radii",t.j)},serializedBytes:24,serializer:function(a,b,c){var d=new Float32Array(a,
+b,6*c);return function(a,b){var c=a.radii;b*=6;d.set(a.center,b);d.set(c,b+3)}}});var z=function(a){function c(a){a=void 0===a?k.k.create():a;q(this,c);var b=p(this,(c.__proto__||Object.getPrototypeOf(c)).call(this));b.objectToLocal=a;b.annotationMap=new Map;b.changed=new r.a;b.readonly=!1;b.pending=new Set;b.references=new Map;return b}n(c,a);$jscomp.initSymbol();$jscomp.initSymbolIterator();v(c,[{key:"add",value:function(a,b){b=void 0===b?!0:b;if(!a.id)a.id=e();else if(this.annotationMap.has(a.id))throw Error("Annotation id already exists: "+
+JSON.stringify(a.id)+".");this.annotationMap.set(a.id,a);this.changed.dispatch();b||this.pending.add(a.id);return this.getReference(a.id)}},{key:"commit",value:function(a){this.pending.delete(a.id)}},{key:"update",value:function(a,b){if(null===a.value)throw Error("Annotation already deleted.");a.value=b;this.annotationMap.set(b.id,b);a.changed.dispatch();this.changed.dispatch()}},{key:Symbol.iterator,value:function(){return this.annotationMap.values()}},{key:"get",value:function(a){return this.annotationMap.get(a)}},
+{key:"delete",value:function(a){null!==a.value&&(a.value=null,this.annotationMap.delete(a.id),this.pending.delete(a.id),a.changed.dispatch(),this.changed.dispatch())}},{key:"getReference",value:function(a){var b=this,c=this.references.get(a);if(void 0!==c)return c.addRef();c=new w(a);c.value=this.annotationMap.get(a)||null;this.references.set(a,c);c.registerDisposer(function(){b.references.delete(a)});return c}},{key:"toJSON",value:function(){for(var a=[],c=this.pending,d=$jscomp.makeIterator(this),
+e=d.next();!e.done;e=d.next())e=e.value,c.has(e.id)||a.push(b(e));return a}},{key:"clear",value:function(){this.annotationMap.clear();this.pending.clear();this.changed.dispatch()}},{key:"restoreState",value:function(a){var b=this.annotationMap;b.clear();this.pending.clear();void 0!==a&&Object(t.a)(a,function(a){a=d(a);b.set(a.id,a)});a=$jscomp.makeIterator(this.references.values());for(var c=a.next();!c.done;c=a.next()){c=c.value;var e=b.get(c.id);c.value=e||null;c.changed.dispatch()}this.changed.dispatch()}},
+{key:"reset",value:function(){this.clear()}}]);return c}(h.a),D=function(a){function b(){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);return b}(z);(function(){function a(){q(this,a);this.annotations=[[],[],[],[]]}v(a,[{key:"add",value:function(a){this.annotations[a.type].push(a)}},{key:"serialize",value:function(){return l(this.annotations)}}]);return a})()},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");
+}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"b",function(){return e});
+a.d(f,"a",function(){return g});f.c=function(a){return function(a){function e(){q(this,e);var a=p(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments));a.visibility=new g;return a}n(e,a);d(e,[{key:"initializeCounterpart",value:function(a,d){d=void 0===d?{}:d;d.visibility=this.registerDisposer(c.a.makeFromExisting(a,this.visibility)).rpcId;b(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"initializeCounterpart",this).call(this,a,d)}}]);return e}(a)};var c=a(74);h=a(9);var b=
+function k(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return k(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),e=function(a){function b(a){a=
+void 0===a?Number.NEGATIVE_INFINITY:a;q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a))}n(b,a);d(b,[{key:"visible",get:function(){return this.value===Number.POSITIVE_INFINITY}},{key:"ignored",get:function(){return this.value===Number.NEGATIVE_INFINITY}}]);return b}(h.f);e.VISIBLE=Number.POSITIVE_INFINITY;e.IGNORED=Number.NEGATIVE_INFINITY;var g=function(a){function b(){q(this,b);var a=p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments));a.contributors=
+new Map;return a}n(b,a);d(b,[{key:"add",value:function(a){var b=this,c=this.contributors,d=a.changed.add(function(){b.update()}),e=function(){c.delete(e);d();b.update()};c.set(e,a);this.update();return e}},{key:"update",value:function(){for(var a=Number.NEGATIVE_INFINITY,b=$jscomp.makeIterator(this.contributors.values()),c=b.next();!c.done;c=b.next())a=Math.max(a,c.value.value);this.value=a}}]);return b}(e)},function(h,f,a){a.d(f,"d",function(){return q});var q;(function(a){a[a.GPU_MEMORY=0]="GPU_MEMORY";
+a[a.SYSTEM_MEMORY=1]="SYSTEM_MEMORY";a[a.SYSTEM_MEMORY_WORKER=2]="SYSTEM_MEMORY_WORKER";a[a.DOWNLOADING=3]="DOWNLOADING";a[a.QUEUED=4]="QUEUED";a[a.NEW=5]="NEW";a[a.FAILED=6]="FAILED";a[a.EXPIRED=7]="EXPIRED"})(q||(q={}));var p;(function(a){a[a.FIRST_TIER=0]="FIRST_TIER";a[a.FIRST_ORDERED_TIER=0]="FIRST_ORDERED_TIER";a[a.VISIBLE=0]="VISIBLE";a[a.PREFETCH=1]="PREFETCH";a[a.LAST_ORDERED_TIER=1]="LAST_ORDERED_TIER";a[a.RECENT=2]="RECENT";a[a.LAST_TIER=2]="LAST_TIER"})(p||(p={}));f.b="ChunkQueueManager";
+f.a="ChunkManager";f.c="ChunkSource.invalidate"},function(h,f,a){a.d(f,"a",function(){return n});var q=function(){function a(a,c){for(var b=0;b<c.length;b++){var d=c[b];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,e){c&&a(b.prototype,c);e&&a(b,e);return b}}();a(247);var p=null,n=function(){function a(b){b=void 0===b?!1:b;if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");null===p&&(p=
+document.createElement("ul"),p.id="statusContainer",document.body.appendChild(p));var c=document.createElement("li");this.element=c;!0===b&&(b=200);!1!==b?(this.setVisible(!1),this.timer=setTimeout(this.setVisible.bind(this,!0),b)):this.timer=null;p.appendChild(c)}q(a,[{key:"dispose",value:function(){p.removeChild(this.element);this.element=void 0;null!==this.timer&&clearTimeout(this.timer)}},{key:"setText",value:function(a,c){this.element.textContent=a;c&&this.setVisible(!0)}},{key:"setHTML",value:function(a,
+c){this.element.innerHTML=a;c&&this.setVisible(!0)}},{key:"setVisible",value:function(a){null!==this.timer&&(clearTimeout(this.timer),this.timer=null);this.element.style.display=a?"block":"none"}},{key:"setErrorMessage",value:function(a){var b=this;this.element.textContent=a+" ";a=document.createElement("button");a.textContent="Dismiss";a.addEventListener("click",function(){b.dispose()});this.element.appendChild(a)}}],[{key:"forPromise",value:function(b,c){var d=new a(c.delay);d.setText(c.initialMessage);
+var g=d.dispose.bind(d);b.then(g,function(a){d.setErrorMessage((void 0===c.errorPrefix?"":c.errorPrefix)+(a instanceof Error?a.message:""+a));d.setVisible(!0)});return b}},{key:"showMessage",value:function(b){var c=new a;c.element.textContent=b;c.setVisible(!0);return c}},{key:"showTemporaryMessage",value:function(a,c){c=void 0===c?2E3:c;var b=this.showMessage(a);setTimeout(function(){return b.dispose()},c);return b}}]);return a}()},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==
+b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function p(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}a.d(f,"b",function(){return d});a.d(f,"c",function(){return e});f.d=function(a,c){return new Promise(function(e,g){if(a===b)c(e,g,b);else{var k=
+new d,l=a.add(function(){k.cancel()});c(function(a){l();e(a)},function(a){l();g(a)},k)}})};var n=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();h=new (function(){function a(){p(this,a);this.name="CancellationError";this.message="CANCELED"}n(a,[{key:"toString",value:function(){return"CANCELED"}}]);return a}());
+f.a=h;var c=function(){},b={isCanceled:!1,add:function(){return c},remove:c};f.e=b;var d=function(){function a(){p(this,a)}n(a,[{key:"cancel",value:function(){var a=this.handlers;if(null!==a&&(this.handlers=null,void 0!==a)){a=$jscomp.makeIterator(a);for(var b=a.next();!b.done;b=a.next())b=b.value,b()}}},{key:"add",value:function(a){var b=this,d=this.handlers;if(null===d)return a(),c;void 0===d&&(d=this.handlers=new Set);d.add(a);return function(){b.remove(a)}}},{key:"remove",value:function(a){var b=
+this.handlers;null!=b&&b.delete(a)}},{key:"isCanceled",get:function(){return null===this.handlers}}]);return a}(),e=function(a){function c(){p(this,c);var a=(c.__proto__||Object.getPrototypeOf(c)).apply(this,arguments);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");a=!a||"object"!==typeof a&&"function"!==typeof a?this:a;a.consumers=new Set;return a}q(c,a);n(c,[{key:"addConsumer",value:function(a){var c=this;a=void 0===a?b:a;var d=this.consumers;d.has(a)||
+a.isCanceled||(d.add(a),a.add(function(){d.delete(a);0===d.size&&c.cancel()}))}}]);return c}(d)},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+
+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a,b){for(var c=$jscomp.makeIterator(l),d=c.next();!d.done;d=c.next())if(d=d.value,d=d(a,b),null!=d)return d;throw Error("No chunk format handler found.");}f.c=function(a){l.push(a)};a.d(f,"b",function(){return k});a.d(f,"a",function(){return t});h=a(44);var b=a(2),d=function(){function a(a,b){for(var c=
+0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),e=b.s.create(),g=b.s.create(),l=[],k=function(a){function k(a,b){q(this,k);b=p(this,(k.__proto__||Object.getPrototypeOf(k)).call(this,a,b));b.chunkFormatHandler=b.registerDisposer(c(a.chunkQueueManager.gl,b.spec));return b}n(k,a);d(k,[{key:"getValueAt",value:function(a,c){c=void 0===c?this.spec.chunkLayout:
+c;var d=this.spec,k=c.size;c.globalToLocalSpatial(g,a);for(a=0;3>a;++a)e[a]=Math.floor(g[a]/k[a]);a=Object(b.t)(e);a=this.chunks.get(a);if(!a)return null;c=d.voxelSize;for(var l=0;3>l;++l)e[l]=Math.floor((g[l]-e[l]*k[l])/c[l]);k=a.chunkDataSize;for(c=0;3>c;++c)if(e[c]>=k[c])return;d=d.numChannels;if(1===d)return a.getChannelValueAt(e,0);k=Array(d);for(c=0;c<d;++c)k[c]=a.getChannelValueAt(e,c);return k}},{key:"getChunk",value:function(a){return this.chunkFormatHandler.getChunk(this,a)}},{key:"chunkFormat",
+get:function(){return this.chunkFormatHandler.chunkFormat}}]);return k}(h.c),t=function(a){function b(a,c){q(this,b);var d=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a,c));d.chunkDataSize=c.chunkDataSize||a.spec.chunkDataSize;return d}n(b,a);d(b,[{key:"chunkFormat",get:function(){return this.source.chunkFormat}}]);return b}(h.b)},function(h,f,a){a.d(f,"a",function(){return q});f.b=1E-6;var q="undefined"!==typeof Float32Array?Float32Array:Array;f.c=Math.random},function(h,f,a){function q(a,
+b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function n(a,b){if(!(a instanceof
+b))throw new TypeError("Cannot call a class as a function");}a.d(f,"b",function(){return g});a.d(f,"c",function(){return l});a.d(f,"a",function(){return k});h=a(10);var c=a.n(h);h=a(1);var b=a(7),d=function m(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return m(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},e=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=
+b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),g=function(){function a(c,d){d=void 0===d?c:d;n(this,a);this.value_=c;this.defaultValue=d;this.changed=new b.a}e(a,[{key:"toggle",value:function(){this.value=!this.value}},{key:"toJSON",value:function(){if(this.value_!==this.defaultValue)return this.value_}},{key:"restoreState",value:function(a){this.value=!0===a||!1===
+a?a:this.defaultValue}},{key:"reset",value:function(){this.value=this.defaultValue}},{key:"value",get:function(){return this.value_},set:function(a){a!==this.value_&&(this.value_=a,this.changed.dispatch())}}]);return a}(),l=function(a){function b(a){n(this,b);var c=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.model=a;c.element=document.createElement("input");var d=c.element;d.type="checkbox";c.registerDisposer(a.changed.add(function(){c.updateCheckbox()}));c.updateCheckbox();c.registerEventListener(d,
+"change",function(b){a.value=this.checked});d.addEventListener("mousedown",function(a){a.preventDefault()});return c}p(b,a);e(b,[{key:"updateCheckbox",value:function(){this.element.checked=this.model.value}},{key:"disposed",value:function(){var a=this.element,c=a.parentElement;c&&c.removeChild(a);d(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"disposed",this).call(this)}}]);return b}(h.a),k=function(a){function b(a,d){n(this,b);var e=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));
+e.model=a;e.element=d;e.initialDisplay=e.element.style.display;e.updateVisibility();e.registerDisposer(a.changed.add(e.registerCancellable(c()(function(){return e.updateVisibility()},0))));return e}p(b,a);e(b,[{key:"updateVisibility",value:function(){this.element.style.display=this.model.value?this.initialDisplay:"none"}}]);return b}(h.a)},function(h,f,a){f.isArray=Array.isArray||function(a){return a&&"number"===typeof a.length}},function(h,f,a){f.isScheduler=function(a){return a&&"function"===typeof a.schedule}},
+function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(0);var p=a(124),n=a(42),c=a(37);a=function(a){function b(b,c){a.call(this);this.array=b;this.scheduler=c;c||1!==b.length||(this._isScalar=!0,this.value=b[0])}q(b,a);b.create=function(a,c){return new b(a,c)};b.of=function(){for(var a=[],d=0;d<arguments.length;d++)a[d-0]=arguments[d];d=a[a.length-
+1];c.isScheduler(d)?a.pop():d=null;var l=a.length;return 1<l?new b(a,d):1===l?new p.ScalarObservable(a[0],d):new n.EmptyObservable(d)};b.dispatch=function(a){var b=a.array,c=a.index,d=a.subscriber;c>=a.count?d.complete():(d.next(b[c]),d.closed||(a.index=c+1,this.schedule(a)))};b.prototype._subscribe=function(a){var c=this.array,d=c.length,e=this.scheduler;if(e)return e.schedule(b.dispatch,0,{array:c,index:0,count:d,subscriber:a});for(e=0;e<d&&!a.closed;e++)a.next(c[e]);a.complete()};return b}(h.Observable);
+f.ArrayObservable=a},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function n(a,b,c){for(var d=0;3>d;++d)a[d]=Number.POSITIVE_INFINITY,
+b[d]=Number.NEGATIVE_INFINITY;c=$jscomp.makeIterator(c);for(d=c.next();!d.done;d=c.next()){var e=d.value.spec;d=e.lowerChunkBound;e=e.upperChunkBound;for(var g=0;3>g;++g)a[g]=Math.min(a[g],d[g]),b[g]=Math.max(b[g],e[g])}}function c(a,b,c,d){for(var e=v.FULLY_INSIDE,g=0;3>g;++g){var k=a[g];var l=b[g],m=c[g],r=d[g];k=k>=r||l<=m?v.FULLY_OUTSIDE:k>=m&&l<=r?v.FULLY_INSIDE:v.PARTIALLY_INSIDE;switch(k){case v.FULLY_OUTSIDE:return k;case v.PARTIALLY_INSIDE:e=k}}return e}function b(a){var b=a.transform,c=
+a.transformedSources,d=b.changed.count;d!==a.transformedSourcesGeneration&&(a.transformedSourcesGeneration=d,c=m.k.equals(b.transform,m.d)?a.sources.map(function(a){return a.map(function(a){return{source:a,chunkLayout:a.spec.chunkLayout}})}):a.sources.map(function(a){return a.map(function(a){var c=a.spec.chunkLayout;return{chunkLayout:l.a.get(c.size,g(c.transform,b)),source:a}})}),a.transformedSources=c);return c}function d(a,b){var c=b.length,d=0;if(1<c)for(var e=0,g=0;g<c;++g){var k=b[g].chunkLayout;
+var l=k.size;k=k.globalToLocalSpatialVector(u,a);for(var m=0,r=0,t=1,f=0;3>f;++f){var v=l[f];t*=v;v*=k[f];m=Math.min(m,v);r=Math.max(r,v)}l=t/(r-m);l>e&&(e=l,d=g)}return b[d]}function e(a){var b=a.voxelSize,c=void 0===a.lowerVoxelBound?m.h:a.lowerVoxelBound,d=a.upperVoxelBound,e=void 0===a.maxVoxelsPerChunkLog2?18:a.maxVoxelsPerChunkLog2;a=void 0===a.transform?m.d:a.transform;a=Object(m.c)(m.s.create(),a);b=m.s.multiply(a,a,b);a=m.s.fromValues(1,1,1);if(void 0===d)var g=m.f;else{g=m.s.create();for(var k=
+0;3>k;++k)g[k]=Math.pow(2,Math.floor(Math.log2(d[k]-c[k])))}for(c=0;c<e;++c){d=Infinity;k=-1;for(var l=0;3>l;++l)if(!(a[l]>=g[l])){var r=a[l]*b[l];r<d&&(d=r,k=l)}d=k;if(-1===d)break;a[d]*=2}return a}function g(a,b){b=b.transform;return void 0===b?void 0===a?m.d:a:void 0===a?b:m.k.multiply(m.k.create(),b,a)}f.m=b;a.d(f,"h",function(){return y});f.l=e;a.d(f,"a",function(){return x});f.k=g;f.j=function(a){if(void 0!==a.chunkDataSizes)return a.chunkDataSizes;var b=void 0===a.chunkLayoutPreference?x.ISOTROPIC:
+a.chunkLayoutPreference;switch(b){case x.ISOTROPIC:return[e(a)];case x.FLAT:b=[];for(var c=0;3>c;++c){var d=c;var g=a.lowerVoxelBound;var k=a.upperVoxelBound,l=c,r=a.voxelSize,t=a.maxVoxelsPerChunkLog2,f=a.transform;m.s.subtract(u,void 0===k?m.f:k,void 0===g?m.h:g);u[l]=1;g=e({voxelSize:r,upperVoxelBound:u,maxVoxelsPerChunkLog2:t,transform:f});b[d]=g}b.push(e(a));return b}throw Error("Invalid chunk layout preference: "+b+".");};a.d(f,"i",function(){return A});var l=a(232),k=a(43),t=a(233);a(50);var m=
+a(2);h=a(15);var r=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),u=m.s.create(),v;(function(a){a[a.FULLY_OUTSIDE=0]="FULLY_OUTSIDE";a[a.FULLY_INSIDE=1]="FULLY_INSIDE";a[a.PARTIALLY_INSIDE=2]="PARTIALLY_INSIDE"})(v||(v={}));var w=[m.s.create(),m.s.create(),m.s.create(),m.s.create()],y=function(a){function e(){q(this,
+e);var a=(e.__proto__||Object.getPrototypeOf(e)).call(this);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");a=!a||"object"!==typeof a&&"function"!==typeof a?this:a;a.width=-1;a.height=-1;a.hasViewportToData=!1;a.hasValidViewport=!1;a.viewportToData=m.k.create();a.viewportAxes=[m.s.create(),m.s.create(),m.s.create()];a.previousViewportAxes=[m.s.create(),m.s.create()];a.centerDataPosition=m.s.create();a.viewportPlaneDistanceToOrigin=0;a.visibleChunkLayouts=
+new Map;a.visibleLayers=new Map;a.visibleSourcesStale=!0;a.pixelSize=0;m.k.identity(a.viewportToData);return a}p(e,a);r(e,[{key:"onViewportChanged",value:function(){}},{key:"maybeSetHasValidViewport",value:function(){!this.hasValidViewport&&-1!==this.width&&-1!==this.height&&this.hasViewportToData&&(this.hasValidViewport=!0,this.onHasValidViewport());if(this.hasValidViewport)this.onViewportChanged()}},{key:"onHasValidViewport",value:function(){}},{key:"setViewportSize",value:function(a,b){return a!==
+this.width||b!==this.height?(this.width=a,this.height=b,this.maybeSetHasValidViewport(),!0):!1}},{key:"setViewportToDataMatrix",value:function(a){if(this.hasViewportToData&&m.k.equals(this.viewportToData,a))return!1;this.hasViewportToData=!0;var b=this.viewportToData;m.k.copy(b,a);Object(m.o)(b);m.s.transformMat4(this.centerDataPosition,m.h,a);a=0;for(var c=this.viewportAxes,d=this.previousViewportAxes,e=0;3>e;++e){var g=c[e];Object(m.p)(g,m.e[e],b);0===e&&(a=m.s.length(g));m.s.normalize(g,g)}this.viewportAxes=
+c;this.previousViewportAxes=d;if(!Object(t.a)(a,this.pixelSize)||.95>m.s.dot(c[0],d[0])||.95>m.s.dot(c[1],d[1]))m.s.copy(d[0],c[0]),m.s.copy(d[1],c[1]),this.visibleSourcesStale=!0,this.pixelSize=a;this.viewportPlaneDistanceToOrigin=m.s.dot(this.centerDataPosition,this.viewportAxes[2]);this.onViewportToDataMatrixChanged();this.maybeSetHasValidViewport();return!0}},{key:"onViewportToDataMatrixChanged",value:function(){}},{key:"updateVisibleSources",value:function(){if(this.visibleSourcesStale){this.visibleSourcesStale=
+!1;var a=1.1*this.pixelSize,c=this.visibleChunkLayouts,e=this.viewportAxes[2],g=this.visibleLayers;c.clear();var k={};g=$jscomp.makeIterator(g);for(var l=g.next();!l.done;k={smallestVoxelSize:k.smallestVoxelSize,visibleSources:k.visibleSources},l=g.next()){l=$jscomp.makeIterator(l.value);var m=l.next().value;k.visibleSources=l.next().value;k.visibleSources.length=0;l=b(m);var r=l.length;m=void 0;k.smallestVoxelSize=l[0][0].source.spec.voxelSize;var t=function(b){return function(c){for(var d=0;3>d;++d){var e=
+c[d];if(e>a&&e>b.smallestVoxelSize[d])return!0}return!1}}(k),u=function(a){return function(b,d){var e=b.source,g=b.chunkLayout;a.visibleSources[a.visibleSources.length++]=b;b=c.get(g);void 0===b&&(b=new Map,c.set(g,b));b.set(e,d)}}(k);for(m=r-1;;){r=d(e,l[m]);u(r,m);if(0===m||!t(r.source.spec.voxelSize))break;--m}k.visibleSources.reverse()}}}},{key:"computeVisibleChunks",value:function(a,b){var d=this;this.updateVisibleSources();for(var e=this.width,g=this.height,l=this.viewportToData,r=0;3>r;++r)w[0][r]=
+-m.e[0][r]*e/2-m.e[1][r]*g/2,w[1][r]=-m.e[0][r]*e/2+m.e[1][r]*g/2,w[2][r]=m.e[0][r]*e/2-m.e[1][r]*g/2,w[3][r]=m.e[0][r]*e/2+m.e[1][r]*g/2;for(e=0;4>e;++e)m.s.transformMat4(w[e],w[e],l);var t=m.s.create(),f=m.s.create(),h=m.s.create(),p=m.s.create(),x=m.s.create(),D=m.s.create(),y=[],z=[];this.visibleChunkLayouts.forEach(function(e,g){function l(){for(var a=0,b=0,c=0;3>c;++c){var d=D[c],e=t[c],g=f[c]-e,k=x[c]*g;a+=d*(e+k);b+=d*(e+g-k)}return a<G?!1:b<=G}function r(a){function d(){F=Object(k.c)(y,0,
+w,function(a){var b=a.spec;switch(c(t,f,b.lowerChunkBound,b.upperChunkBound)){case v.PARTIALLY_INSIDE:return!0;case v.FULLY_INSIDE:z.push(a);default:return!1}})}if(0!==z.length||0!==F){for(var e=1,m=0;3>m;++m)e*=Math.max(0,f[m]-t[m]);if(0!==e&&l())if(1===e)b(g,q,t,z);else{for(var u;;)if(e=t[a],m=f[a],u=m-e,1===u)a=(a+1)%3;else break;u=e+Math.floor(.5*u);var h=(a+1)%3,n=z.length;f[a]=u;var w=F;d();r(h);z.length=n;F=w;f[a]=m;t[a]=u;d();r(h);t[a]=e;z.length=n;F=w}}}var q=a(g);n(h,p,e.keys());m.s.set(t,
+Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY);m.s.set(f,Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY);g.globalToLocalSpatialVector(D,d.viewportAxes[2]);for(var C=0;3>C;++C)x[C]=0<D[C]?1:0;var G=m.s.dot(g.globalToLocalGrid(u,d.centerDataPosition),D);for(C=0;4>C;++C)for(var E=g.globalToLocalGrid(u,w[C]),A=0;3>A;++A)t[A]=Math.min(t[A],Math.floor(E[A])),f[A]=Math.max(f[A],Math.floor(E[A])+1);m.s.max(t,t,h);m.s.min(f,f,p);z.length=0;y.length=
+0;e=$jscomp.makeIterator(e.keys());for(C=e.next();!C.done;C=e.next())switch(C=C.value,E=C.spec,c(t,f,E.lowerChunkBound,E.upperChunkBound)){case v.FULLY_INSIDE:z.push(C);break;case v.PARTIALLY_INSIDE:y.push(C)}var F=y.length;r(0)})}}]);return e}(h.b),x;(function(a){a[a.ISOTROPIC=0]="ISOTROPIC";a[a.FLAT=1]="FLAT"})(x||(x={}));var A=function(){function a(b){q(this,a);var c=b.chunkSize,d=b.transform,e=void 0===b.lowerChunkBound?m.h:b.lowerChunkBound,g=b.upperChunkBound;this.voxelSize=b.voxelSize;this.chunkLayout=
+l.a.get(c,d);this.lowerChunkBound=e;this.upperChunkBound=g}r(a,[{key:"toObject",value:function(){return{transform:this.chunkLayout.transform,chunkSize:this.chunkLayout.size,voxelSize:this.voxelSize,lowerChunkBound:this.lowerChunkBound,upperChunkBound:this.upperChunkBound}}}]);return a}();f.f="SliceView";f.d="sliceview/RenderLayer";f.b="SliceView.addVisibleLayer";f.c="SliceView.removeVisibleLayer";f.g="SliceView.updateView";f.e="SliceView.updateTransform"},function(h,f,a){function q(a,b){if(!(a instanceof
+b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,
+b):a.__proto__=b)}a.d(f,"b",function(){return l});a.d(f,"a",function(){return k});a.d(f,"c",function(){return t});a.d(f,"d",function(){return m});h=a(245);a.n(h);h=a(1);var c=a(8),b=a(7),d=a(29),e=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),g=function u(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,
+b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return u(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},l=function(a){function b(a){a=void 0===a?new d.b:a;q(this,b);var c=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.visibility=a;c.element=document.createElement("div");c.element.classList.add("neuroglancer-tab-content");return c}n(b,a);e(b,[{key:"disposed",value:function(){Object(c.b)(this.element);g(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),
+"disposed",this).call(this)}},{key:"visible",get:function(){return this.visibility.visible}}]);return b}(h.a);a=function(a){function c(){q(this,c);var a=p(this,(c.__proto__||Object.getPrototypeOf(c)).apply(this,arguments));a.changed=new b.a;a.options=new Map;a.optionsChanged=new b.a;a.selectedValue=void 0;a.defaultValue=void 0;a.ready_=!0;return a}n(c,a);e(c,[{key:"add",value:function(a,b){var c=this.options;if(c.has(a))throw Error("Option already defined: "+JSON.stringify(a)+".");c.set(a,b);this.optionsChanged.dispatch();
+void 0===this.defaultValue&&(this.default=a)}},{key:"toJSON",value:function(){var a=this.value;if(a!==this.defaultValue)return a}},{key:"reset",value:function(){this.value=void 0}},{key:"restoreState",value:function(a){"string"!==typeof a&&(a=void 0);this.value=a}},{key:"value",get:function(){var a=this.selectedValue;return void 0!==a?a:this.defaultValue},set:function(a){void 0!==a&&this.ready_&&!this.options.has(a)&&(a=void 0);this.selectedValue!==a&&(this.selectedValue=a,this.changed.dispatch())}},
+{key:"default",set:function(a){this.defaultValue!==a&&(this.defaultValue=a,this.changed.dispatch())},get:function(){return this.defaultValue}},{key:"validValue",get:function(){var a=this.selectedValue;return void 0!==a&&this.options.has(a)?a:this.defaultValue}},{key:"ready",get:function(){return this.ready_},set:function(a){if(a!==this.ready_){if(this.ready_=a)this.value=this.value;this.changed.dispatch()}}}]);return c}(h.a);var k=function(a){function k(a,c){c=void 0===c?new d.b:c;q(this,k);var e=
+p(this,(k.__proto__||Object.getPrototypeOf(k)).call(this));e.getter=a;e.visibility=c;e.element=document.createElement("div");e.tabs=new Map;e.tabVisibilityChanged=new b.b;e.element.className="neuroglancer-stack-view";e.registerDisposer(c.changed.add(function(){return e.updateSelectedTab()}));e.updateSelectedTab();return e}n(k,a);e(k,[{key:"invalidate",value:function(a){var b=this.tabs,c=b.get(a);void 0!==c&&(c.dispose(),b.delete(a),a===this.displayedTab&&(this.displayedTab=void 0,this.updateSelectedTab()))}},
+{key:"hideTab",value:function(a){var b=this.tabs.get(a);void 0!==b&&(b.visibility.value=d.b.IGNORED,b.element.style.display="none");this.tabVisibilityChanged.dispatch(a,!1)}},{key:"showTab",value:function(a){var b=this.tabs,c=b.get(a);void 0===c&&(c=this.getter(a),this.element.appendChild(c.element),b.set(a,c));c.element.style.display=null;c.visibility.value=d.b.VISIBLE;this.tabVisibilityChanged.dispatch(a,!0)}},{key:"updateSelectedTab",value:function(){var a=this.displayedTab,b=this.visible?this.selectedTabValue:
+void 0;b!==a&&(void 0!==a&&this.hideTab(a),this.displayedTab=b,void 0!==b&&this.showTab(b))}},{key:"invalidateAll",value:function(){for(var a=this.tabs,b=$jscomp.makeIterator(a.values()),c=b.next();!c.done;c=b.next())c.value.dispose();a.clear();this.updateSelectedTab()}},{key:"disposed",value:function(){this.selectedTabValue=void 0;this.invalidateAll();Object(c.b)(this.element);g(k.prototype.__proto__||Object.getPrototypeOf(k.prototype),"disposed",this).call(this)}},{key:"visible",get:function(){return this.visibility.visible}},
+{key:"selected",get:function(){return this.selectedTabValue},set:function(a){this.selectedTabValue=a;this.updateSelectedTab()}}]);return k}(h.a),t=function(a){function b(){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);return b}(a),m=function(a){function b(a,c){c=void 0===c?new d.b:c;q(this,b);var e=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));e.state=a;e.visibility=c;e.element=document.createElement("div");e.tabBar=document.createElement("div");
+e.tabLabels=new Map;e.tabsGeneration=-1;a=e.element;var g=e.tabBar;a.className="neuroglancer-tab-view";g.className="neuroglancer-tab-view-bar";a.appendChild(g);e.registerDisposer(c.changed.add(function(){e.updateTabs()}));c=e.stack=e.registerDisposer(new k(function(a){return e.state.options.get(a).getter()},e.visibility));a.appendChild(c.element);e.registerDisposer(e.state.changed.add(function(){return e.updateSelectedTab()}));e.registerDisposer(e.state.optionsChanged.add(function(){return e.updateTabs()}));
+e.stack.tabVisibilityChanged.add(function(a,b){a=e.tabLabels.get(a);b?a.classList.add("neuroglancer-selected-tab-label"):a.classList.remove("neuroglancer-selected-tab-label")});e.updateTabs();return e}n(b,a);e(b,[{key:"updateTabs",value:function(){this.tabsGeneration!==this.state.optionsChanged.count&&(this.destroyTabs(),this.visible&&this.makeTabs(),this.updateSelectedTab())}},{key:"updateSelectedTab",value:function(){this.stack.selected=this.state.value}},{key:"destroyTabs",value:function(){-1!==
+this.tabsGeneration&&(this.stack.selected=void 0,this.tabLabels.clear(),Object(c.a)(this.tabBar),this.tabsGeneration=-1,this.stack.invalidateAll())}},{key:"makeTabs",value:function(){var a=this,b=this.tabBar,c=this.tabLabels,d=Array.from(this.state.options);d.sort(function(a,b){a=$jscomp.makeIterator(a);a.next();a=a.next().value;a=void 0===a.order?0:a.order;b=$jscomp.makeIterator(b);b.next();b=b.next().value;return a-(void 0===b.order?0:b.order)});var e={};d=$jscomp.makeIterator(d);for(var g=d.next();!g.done;e=
+{id:e.id},g=d.next()){g=$jscomp.makeIterator(g.value);e.id=g.next().value;g=g.next().value.label;var k=document.createElement("div");k.classList.add("neuroglancer-tab-label");k.textContent=g;k.addEventListener("click",function(b){return function(){a.state.value=b.id}}(e));c.set(e.id,k);b.appendChild(k)}this.tabsGeneration=this.state.optionsChanged.count}},{key:"disposed",value:function(){Object(c.a)(this.tabBar);this.tabLabels.clear();Object(c.b)(this.element);g(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),
+"disposed",this).call(this)}},{key:"visible",get:function(){return this.visibility.visible}}]);return b}(h.a)},function(h,f,a){f.b=function(a,c){p.set(a,c)};f.a=function(a){for(var c=new q.b,b=$jscomp.makeIterator(p),d=b.next();!d.done;d=b.next()){var e=$jscomp.makeIterator(d.value);d=e.next().value;e=e.next().value;c.register(d,e(a))}return c};var q=a(46),p=new Map},function(h,f,a){var q=this&&this.__extends||function(a,f){function c(){this.constructor=a}for(var b in f)f.hasOwnProperty(b)&&(a[b]=
+f[b]);a.prototype=null===f?Object.create(f):(c.prototype=f.prototype,new c)};h=function(a){function f(c){a.call(this);this.scheduler=c}q(f,a);f.create=function(a){return new f(a)};f.dispatch=function(a){a.subscriber.complete()};f.prototype._subscribe=function(a){var b=this.scheduler;if(b)return b.schedule(f.dispatch,0,{subscriber:a});a.complete()};return f}(a(0).Observable);f.EmptyObservable=h},function(h,f,a){f.c=function(a,f,h,c){for(;f<h;){var b=a[f];c(b)?++f:(--h,a[f]=a[h],a[h]=b)}return h};f.b=
+function(a,f){if(a.length===f)return a;f=new a.constructor(f);f.set(a);return f};f.d=function(a,f,h,c){for(var b=a.length/f,d=new a.constructor(a.length*h*c),e=a.length*c,g=f*c,l=0;l<b;++l)for(var k=0;k<f;++k)for(var t=a[l*f+k],m=l*g+k,r=0;r<h;++r)for(var u=0;u<c;++u)d[r*e+u*f+m]=t;return d};f.a=function(a,f,h,c,b){c=void 0===c?0:c;for(b=void 0===b?a.length:b;c<b;){var d=c+b-1>>1,e=h(f,a[d]);if(0<e)c=d+1;else if(0>e)b=d;else return d}return~c}},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");
+}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return A});
+a.d(f,"c",function(){return z});a.d(f,"b",function(){return D});a.d(f,"d",function(){return E});h=a(10);var c=a.n(h),b=a(30);h=a(23);var d=a(39),e=a(75);f=a(1);var g=a(2),l=a(22),k=a(7),t=a(29),m=a(98),r=a(24),u=a(52);a=a(15);var v=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),w=function C(a,b,c){null===
+a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return C(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},y=this&&this.__decorate||function(a,b,c,d){var e=arguments.length,g=3>e?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d,k;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)g=Reflect.decorate(a,b,c,d);else for(var l=a.length-1;0<=l;l--)if(k=a[l])g=(3>e?k(g):3<e?
+k(b,c,g):k(b,c))||g;return 3<e&&g&&Object.defineProperty(b,c,g),g},x=g.k.create(),A=function(a){function l(a,b,d){q(this,l);var e=p(this,(l.__proto__||Object.getPrototypeOf(l)).call(this));e.chunkManager=a;e.layerManager=b;e.navigationState=d;e.gl=e.chunkManager.gl;e.dataToViewport=g.k.create();e.viewportToDevice=g.k.create();e.dataToDevice=g.k.create();e.visibleChunks=new Map;e.viewChanged=new k.a;e.renderingStale=!0;e.visibleChunksStale=!0;e.visibleLayerList=[];e.newVisibleLayers=new Set;e.offscreenFramebuffer=
+e.registerDisposer(new m.b(e.gl,{colorBuffers:Object(m.e)(e.gl,1),depthBuffer:new m.d(e.gl)}));e.numVisibleChunks=0;e.updateVisibleLayers=e.registerCancellable(c()(function(){e.updateVisibleLayersNow()},0));e.invalidateVisibleSources=function(){e.visibleSourcesStale=!0;e.viewChanged.dispatch()};e.setViewportSizeDebounced=e.registerCancellable(c()(function(a,b){return e.setViewportSize(a,b)},0));g.k.identity(e.dataToViewport);e.initializeCounterpart(e.chunkManager.rpc,{chunkManager:a.rpcId});e.registerDisposer(d.changed.add(function(){e.updateViewportFromNavigationState()}));
+e.updateViewportFromNavigationState();e.registerDisposer(b.layersChanged.add(function(){e.hasValidViewport&&e.updateVisibleLayers()}));e.viewChanged.add(function(){e.renderingStale=!0});e.registerDisposer(a.chunkQueueManager.visibleChunksChanged.add(e.viewChanged.dispatch));e.updateViewportFromNavigationState();e.updateVisibleLayers();return e}n(l,a);v(l,[{key:"isReady",value:function(){this.setViewportSizeDebounced.flush();if(!this.hasValidViewport)return!1;this.maybeUpdateVisibleChunks();for(var a=
+0,c=$jscomp.makeIterator(this.visibleLayers.values()),d=c.next();!d.done;d=c.next()){d=$jscomp.makeIterator(d.value);for(var e=d.next();!e.done;e=d.next()){var g=e.value;e=g.source;g=this.visibleChunks.get(g.chunkLayout);if(!g)return!1;e=e.chunks;g=$jscomp.makeIterator(g);for(var k=g.next();!k.done;k=g.next())(k=e.get(k.value))&&k.state===b.d.GPU_MEMORY&&++a}}return a===this.numVisibleChunks}},{key:"updateViewportFromNavigationState",value:function(){var a=this.navigationState;a.valid&&(a.toMat4(x),
+this.setViewportToDataMatrix(x))}},{key:"bindVisibleRenderLayer",value:function(a){a.redrawNeeded.add(this.viewChanged.dispatch);a.transform.changed.add(this.invalidateVisibleSources)}},{key:"unbindVisibleRenderLayer",value:function(a){a.redrawNeeded.remove(this.viewChanged.dispatch);a.transform.changed.remove(this.invalidateVisibleSources)}},{key:"updateVisibleLayersNow",value:function(){if(this.wasDisposed||!this.hasValidViewport)return!1;var a=this.visibleLayers,b=this.rpc,c={id:this.rpcId},g=
+this.newVisibleLayers,k=!1,l=this.visibleLayerList;l.length=0;for(var m=$jscomp.makeIterator(this.layerManager.readyRenderLayers()),r=m.next();!r.done;r=m.next())r=r.value,r instanceof e.a&&(g.add(r),l.push(r),a.has(r)||(a.set(r.addRef(),[]),this.bindVisibleRenderLayer(r),c.layerId=r.rpcId,b.invoke(d.b,c),k=!0));l=$jscomp.makeIterator(a.keys());for(r=l.next();!r.done;r=l.next())m=r.value,g.has(m)||(a.delete(m),this.unbindVisibleRenderLayer(m),c.layerId=m.rpcId,b.invoke(d.c,c),m.dispose(),k=!0);g.clear();
+k&&(this.visibleSourcesStale=!0);this.viewChanged.dispatch();return k}},{key:"onViewportChanged",value:function(){var a=this.width,b=this.height,c=this.viewportToDevice,d=this.dataToViewport,e=this.dataToDevice;g.k.ortho(c,-a/2,a/2,b/2,-b/2,-10,10);g.k.multiply(e,c,d);this.visibleChunksStale=!0;this.viewChanged.dispatch()}},{key:"setViewportSize",value:function(a,b){this.setViewportSizeDebounced.cancel();return w(l.prototype.__proto__||Object.getPrototypeOf(l.prototype),"setViewportSize",this).call(this,
+a,b)?(this.rpc.invoke(d.g,{id:this.rpcId,width:a,height:b}),!0):!1}},{key:"onViewportToDataMatrixChanged",value:function(){var a=this.viewportToData,b=this.dataToViewport;g.k.invert(b,a);Object(g.o)(b);this.rpc.invoke(d.g,{id:this.rpcId,viewportToData:a})}},{key:"onHasValidViewport",value:function(){this.updateVisibleLayers()}},{key:"updateRendering",value:function(){this.setViewportSizeDebounced.flush();if(this.renderingStale&&this.hasValidViewport&&0!==this.width&&0!==this.height){this.renderingStale=
+!1;this.maybeUpdateVisibleChunks();var a=this.gl,b=this.offscreenFramebuffer;b.bind(this.width,this.height);a.disable(a.SCISSOR_TEST);a.clearStencil(0);a.clearColor(0,0,0,0);a.colorMask(!0,!0,!0,!0);a.clear(a.COLOR_BUFFER_BIT);a.enable(a.STENCIL_TEST);a.disable(a.DEPTH_TEST);a.stencilOpSeparate(a.FRONT_AND_BACK,a.KEEP,a.KEEP,a.REPLACE);for(var c=0,d=$jscomp.makeIterator(this.visibleLayerList),e=d.next();!e.done;e=d.next())e=e.value,a.clear(a.STENCIL_BUFFER_BIT),a.stencilFuncSeparate(a.FRONT_AND_BACK,
+a.GREATER,1,1),e.setGLBlendMode(a,c),e.draw(this),++c;a.disable(a.BLEND);a.disable(a.STENCIL_TEST);b.unbind()}}},{key:"maybeUpdateVisibleChunks",value:function(){this.updateVisibleLayers.flush();if(!this.visibleChunksStale&&!this.visibleSourcesStale)return!1;this.visibleChunksStale=!1;this.updateVisibleChunks();return!0}},{key:"updateVisibleChunks",value:function(){var a=this.visibleChunks,b=0;this.computeVisibleChunks(function(b){var c=a.get(b);void 0===c?(c=[],a.set(b,c)):c.length=0;return c},function(a,
+c,d,e){a=Object(g.t)(d);c[c.length]=a;b+=e.length});this.numVisibleChunks=b}},{key:"disposed",value:function(){for(var a=$jscomp.makeIterator(this.visibleLayers.keys()),b=a.next();!b.done;b=a.next())b=b.value,this.unbindVisibleRenderLayer(b),b.dispose();this.visibleLayers.clear();this.visibleLayerList.length=0}}]);return l}(Object(t.c)(d.h));A=y([Object(a.g)(d.f)],A);var z=function(a){function b(a,c){q(this,b);a=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a,c));a.spec=c.spec;return a}
+n(b,a);v(b,[{key:"initializeCounterpart",value:function(a,c){c.spec=this.spec.toObject();w(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"initializeCounterpart",this).call(this,a,c)}}],[{key:"encodeOptions",value:function(a){var c=w(b.__proto__||Object.getPrototypeOf(b),"encodeOptions",this).call(this,a);c.spec=a.spec.toObject();return c}}]);return b}(h.e),D=function(a){function c(a,d){q(this,c);a=p(this,(c.__proto__||Object.getPrototypeOf(c)).call(this,a));a.chunkGridPosition=d.chunkGridPosition;
+a.state=b.d.SYSTEM_MEMORY;return a}n(c,a);return c}(h.b),E=function(a){function b(a,c){q(this,b);var d=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));d.gl=a;d.copyVertexPositionsBuffer=Object(u.a)(d.gl);d.textureCoordinateAdjustment=new Float32Array(4);var e=new r.a(a);e.addVarying("vec2","vTexCoord");e.addUniform("sampler2D","uSampler");e.addInitializer(function(b){a.uniform1i(b.uniform("uSampler"),0)});e.addUniform("vec4","uColorFactor");e.addUniform("vec4","uBackgroundColor");e.addUniform("mat4",
+"uProjectionMatrix");e.addUniform("vec4","uTextureCoordinateAdjustment");e.require(c);e.setFragmentMain("\nvec4 sampledColor = texture(uSampler, vTexCoord);\nif (sampledColor.a == 0.0) {\n  sampledColor = uBackgroundColor;\n}\nemit(sampledColor * uColorFactor, vec4(0,0,0,0));\n");e.addAttribute("vec4","aVertexPosition");e.setVertexMain("\nvTexCoord = uTextureCoordinateAdjustment.xy + 0.5 * (aVertexPosition.xy + 1.0) * uTextureCoordinateAdjustment.zw;\ngl_Position = uProjectionMatrix * aVertexPosition;\n");
+d.shader=d.registerDisposer(e.build());return d}n(b,a);v(b,[{key:"draw",value:function(a,b,c,d,e,g,k,l){var m=this.gl,r=this.shader,t=this.textureCoordinateAdjustment;t[0]=e;t[1]=g;t[2]=k-e;t[3]=l-g;r.bind();m.activeTexture(m.TEXTURE0);m.bindTexture(m.TEXTURE_2D,a);m.uniformMatrix4fv(r.uniform("uProjectionMatrix"),!1,b);m.uniform4fv(r.uniform("uColorFactor"),c);m.uniform4fv(r.uniform("uBackgroundColor"),d);m.uniform4fv(r.uniform("uTextureCoordinateAdjustment"),t);a=r.attribute("aVertexPosition");
+this.copyVertexPositionsBuffer.bindToVertexAttrib(a,2);m.drawArrays(m.TRIANGLE_FAN,0,4);m.disableVertexAttribArray(a);m.bindTexture(m.TEXTURE_2D,null)}}],[{key:"get",value:function(a,c){return a.memoize.get("sliceview/SliceViewRenderHelper:"+Object(l.a)(c),function(){return new b(a,c)})}}]);return b}(f.a)},function(h,f){},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
+return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a,b){void 0===b&&(b=-1===a.indexOf("/")?":":"/");a=a.lastIndexOf(b);return-1===a?0:a+1}a.d(f,"a",function(){return g});
+a.d(f,"b",function(){return k});var b=a(32),d=a(61);h=a(1);var e=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),g=function(a){function b(){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);return b}(h.a),l=/^(?:([a-zA-Z-+_]+):\/\/)?(.*)$/,k=function(a){function g(){q(this,
+g);var a=p(this,(g.__proto__||Object.getPrototypeOf(g)).apply(this,arguments));a.dataSources=new Map;return a}n(g,a);e(g,[{key:"register",value:function(a,b){this.dataSources.set(a,this.registerDisposer(b))}},{key:"getDataSource",value:function(a){a=a.match(l);if(null===a||void 0===a[1])throw Error('Data source URL must have the form "<protocol>://<path>".');var b=a[1],c=this.dataSources.get(b);if(void 0===c)throw Error("Unsupported data source: "+JSON.stringify(b)+".");return[c,a[2],b]}},{key:"getVolume",
+value:function(a,c,d,e){d=void 0===d?{}:d;e=void 0===e?b.e:e;c=$jscomp.makeIterator(this.getDataSource(c));var g=c.next().value,k=c.next().value;return new Promise(function(b){b(g.getVolume(a,k,d,e))})}},{key:"getAnnotationSource",value:function(a,c,d){d=void 0===d?b.e:d;c=$jscomp.makeIterator(this.getDataSource(c));var e=c.next().value,g=c.next().value;return new Promise(function(b){b(e.getAnnotationSource(a,g,d))})}},{key:"getVectorGraphicsSource",value:function(a,c,d,e){d=void 0===d?{}:d;e=void 0===
+e?b.e:e;c=$jscomp.makeIterator(this.getDataSource(c));var g=c.next().value,k=c.next().value;return new Promise(function(b){b(g.getVectorGraphicsSource(a,k,d,e))})}},{key:"getMeshSource",value:function(a,c,d){d=void 0===d?b.e:d;c=$jscomp.makeIterator(this.getDataSource(c));var e=c.next().value,g=c.next().value;return new Promise(function(b){b(e.getMeshSource(a,g,d))})}},{key:"getSkeletonSource",value:function(a,c,d){d=void 0===d?b.e:d;c=$jscomp.makeIterator(this.getDataSource(c));var e=c.next().value,
+g=c.next().value;return new Promise(function(b){b(e.getSkeletonSource(a,g,d))})}},{key:"volumeCompleter",value:function(a,c,e){e=void 0===e?b.e:e;var g=a.match(l),k=g[1];if(void 0===k){c=[];e=$jscomp.makeIterator(this.dataSources);for(g=e.next();!g.done;g=e.next()){var m=$jscomp.makeIterator(g.value);g=m.next().value;m=m.next().value;g+="://";g.startsWith(a)&&c.push({value:g,description:m.description})}return Promise.resolve({offset:0,completions:c})}a=this.dataSources.get(k);return void 0!==a&&void 0!==
+a.volumeCompleter?a.volumeCompleter(g[2],c,e).then(function(a){return Object(d.a)(k.length+3,a)}):Promise.reject(null)}},{key:"suggestLayerName",value:function(a){a=$jscomp.makeIterator(this.getDataSource(a));var b=a.next().value;a=a.next().value;b=b.suggestLayerName;if(void 0!==b)return b(a);b=c(a,void 0);return a.substring(b)}},{key:"findSourceGroup",value:function(a){var b=$jscomp.makeIterator(this.getDataSource(a));a=b.next().value;var d=b.next().value;b=b.next().value;return(a.findSourceGroup||
+c)(d)+b.length+3}}]);return g}(h.a)},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,
+b):a.__proto__=b)}a.d(f,"b",function(){return e});a.d(f,"a",function(){return l});var n=a(79);h=a(1);var c=a(60),b=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),d=function t(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==
+a)return t(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};a(283);var e=0,g=c.a.fromObject({escape:{action:"close"}}),l=function(a){function l(){if(!(this instanceof l))throw new TypeError("Cannot call a class as a function");var a=q(this,(l.__proto__||Object.getPrototypeOf(l)).call(this));a.keyMap=new c.a;a.keyMap.addParent(g,Number.NEGATIVE_INFINITY);++e;var b=a.container=document.createElement("div");b.className="overlay";var d=a.content=document.createElement("div");
+a.registerDisposer(new n.a(d));d.className="overlay-content";b.appendChild(d);document.body.appendChild(b);a.registerDisposer(new c.b(a.container,a.keyMap));a.registerEventListener(b,"action:close",function(){a.dispose()});d.focus();return a}p(l,a);b(l,[{key:"disposed",value:function(){--e;document.body.removeChild(this.container);d(l.prototype.__proto__||Object.getPrototypeOf(l.prototype),"disposed",this).call(this)}}]);return l}(h.a)},function(h,f,a){(function(a,f){h.exports=f()})(this,function(){function a(a){return new RegExp("(^|\\s)"+
+a+"(?:$|\\s)\\s*")}function f(a){for(var b=a.childNodes.length;0<b;--b)a.removeChild(a.firstChild);return a}function h(a,b){return f(a).appendChild(b)}function c(a,b,c,d){a=document.createElement(a);c&&(a.className=c);d&&(a.style.cssText=d);if("string"==typeof b)a.appendChild(document.createTextNode(b));else if(b)for(c=0;c<b.length;++c)a.appendChild(b[c]);return a}function b(a,b,d,e){a=c(a,b,d,e);a.setAttribute("role","presentation");return a}function d(a,b){3==b.nodeType&&(b=b.parentNode);if(a.contains)return a.contains(b);
+do if(11==b.nodeType&&(b=b.host),b==a)return!0;while(b=b.parentNode)}function e(){try{var a=document.activeElement}catch(la){a=document.body||null}for(;a&&a.shadowRoot&&a.shadowRoot.activeElement;)a=a.shadowRoot.activeElement;return a}function g(b,c){var d=b.className;a(c).test(d)||(b.className+=(d?" ":"")+c)}function l(b,c){b=b.split(" ");for(var d=0;d<b.length;d++)b[d]&&!a(b[d]).test(c)&&(c+=" "+b[d]);return c}function k(a){var b=Array.prototype.slice.call(arguments,1);return function(){return a.apply(null,
+b)}}function t(a,b,c){b||(b={});for(var d in a)!a.hasOwnProperty(d)||!1===c&&b.hasOwnProperty(d)||(b[d]=a[d]);return b}function m(a,b,c,d,e){null==b&&(b=a.search(/[^\s\u00a0]/),-1==b&&(b=a.length));d=d||0;for(e=e||0;;){var g=a.indexOf("\t",d);if(0>g||g>=b)return e+(b-d);e+=g-d;e+=c-e%c;d=g+1}}function r(a,b){for(var c=0;c<a.length;++c)if(a[c]==b)return c;return-1}function u(a,b,c){for(var d=0,e=0;;){var g=a.indexOf("\t",d);-1==g&&(g=a.length);var J=g-d;if(g==a.length||e+J>=b)return d+Math.min(J,b-
+e);e+=g-d;e+=c-e%c;d=g+1;if(e>=b)return d}}function v(a){for(;Oc.length<=a;)Oc.push(w(Oc)+" ");return Oc[a]}function w(a){return a[a.length-1]}function y(a,b){for(var c=[],d=0;d<a.length;d++)c[d]=b(a[d],d);return c}function x(a,b,c){for(var d=0,e=c(b);d<a.length&&c(a[d])<=e;)d++;a.splice(d,0,b)}function A(){}function z(a,b){Object.create?a=Object.create(a):(A.prototype=a,a=new A);b&&t(b,a);return a}function D(a){return/\w/.test(a)||"\u0080"<a&&(a.toUpperCase()!=a.toLowerCase()||bg.test(a))}function E(a,
+b){return b?-1<b.source.indexOf("\\w")&&D(a)?!0:b.test(a):D(a)}function G(a){for(var b in a)if(a.hasOwnProperty(b)&&a[b])return!1;return!0}function C(a){return 768<=a.charCodeAt(0)&&cg.test(a)}function B(a,b,c){for(;(0>c?0<b:b<a.length)&&C(a.charAt(b));)b+=c;return b}function F(a,b,c){for(var d=b>c?-1:1;;){if(b==c)return b;var e=(b+c)/2;e=0>d?Math.ceil(e):Math.floor(e);if(e==b)return a(e)?b:c;a(e)?c=e:b=e+d}}function L(a,d,e){this.input=e;this.scrollbarFiller=c("div",null,"CodeMirror-scrollbar-filler");
+this.scrollbarFiller.setAttribute("cm-not-content","true");this.gutterFiller=c("div",null,"CodeMirror-gutter-filler");this.gutterFiller.setAttribute("cm-not-content","true");this.lineDiv=b("div",null,"CodeMirror-code");this.selectionDiv=c("div",null,null,"position: relative; z-index: 1");this.cursorDiv=c("div",null,"CodeMirror-cursors");this.measure=c("div",null,"CodeMirror-measure");this.lineMeasure=c("div",null,"CodeMirror-measure");this.lineSpace=b("div",[this.measure,this.lineMeasure,this.selectionDiv,
+this.cursorDiv,this.lineDiv],null,"position: relative; outline: none");var g=b("div",[this.lineSpace],"CodeMirror-lines");this.mover=c("div",[g],null,"position: relative");this.sizer=c("div",[this.mover],"CodeMirror-sizer");this.sizerWidth=null;this.heightForcer=c("div",null,null,"position: absolute; height: 30px; width: 1px;");this.gutters=c("div",null,"CodeMirror-gutters");this.lineGutter=null;this.scroller=c("div",[this.sizer,this.heightForcer,this.gutters],"CodeMirror-scroll");this.scroller.setAttribute("tabIndex",
+"-1");this.wrapper=c("div",[this.scrollbarFiller,this.gutterFiller,this.scroller],"CodeMirror");V&&8>ca&&(this.gutters.style.zIndex=-1,this.scroller.style.paddingRight=0);sa||eb&&Yb||(this.scroller.draggable=!0);a&&(a.appendChild?a.appendChild(this.wrapper):a(this.wrapper));this.reportedViewFrom=this.reportedViewTo=this.viewFrom=this.viewTo=d.first;this.view=[];this.externalMeasured=this.renderedView=null;this.lastWrapHeight=this.lastWrapWidth=this.viewOffset=0;this.updateLineNumbers=null;this.nativeBarWidth=
+this.barHeight=this.barWidth=0;this.scrollbarsClipped=!1;this.lineNumWidth=this.lineNumInnerWidth=this.lineNumChars=null;this.alignWidgets=!1;this.maxLine=this.cachedCharWidth=this.cachedTextHeight=this.cachedPaddingH=null;this.maxLineLength=0;this.maxLineChanged=!1;this.wheelDX=this.wheelDY=this.wheelStartX=this.wheelStartY=null;this.shift=!1;this.activeTouch=this.selForContextMenu=null;e.init(this)}function I(a,b){b-=a.first;if(0>b||b>=a.size)throw Error("There is no line "+(b+a.first)+" in the document.");
+for(;!a.lines;)for(var c=0;;++c){var d=a.children[c],e=d.chunkSize();if(b<e){a=d;break}b-=e}return a.lines[b]}function O(a,b,c){var d=[],e=b.line;a.iter(b.line,c.line+1,function(a){a=a.text;e==c.line&&(a=a.slice(0,c.ch));e==b.line&&(a=a.slice(b.ch));d.push(a);++e});return d}function M(a,b,c){var d=[];a.iter(b,c,function(a){d.push(a.text)});return d}function P(a,b){if(b-=a.height)for(;a;a=a.parent)a.height+=b}function N(a){if(null==a.parent)return null;var b=a.parent;a=r(b.lines,a);for(var c=b.parent;c;b=
+c,c=c.parent)for(var d=0;c.children[d]!=b;++d)a+=c.children[d].chunkSize();return a+b.first}function S(a,b){var c=a.first;a:do{for(var d=0;d<a.children.length;++d){var e=a.children[d],g=e.height;if(b<g){a=e;continue a}b-=g;c+=e.chunkSize()}return c}while(!a.lines);for(d=0;d<a.lines.length;++d){e=a.lines[d].height;if(b<e)break;b-=e}return c+d}function U(a,b){return b>=a.first&&b<a.first+a.size}function Z(a,b){return String(a.lineNumberFormatter(b+a.firstLineNumber))}function H(a,b,c){void 0===c&&(c=
+null);if(!(this instanceof H))return new H(a,b,c);this.line=a;this.ch=b;this.sticky=c}function Q(a,b){return a.line-b.line||a.ch-b.ch}function aa(a,b){return a.sticky==b.sticky&&0==Q(a,b)}function ba(a){return H(a.line,a.ch)}function ka(a,b){return 0>Q(a,b)?b:a}function fa(a,b){return 0>Q(a,b)?a:b}function R(a,b){if(b.line<a.first)return H(a.first,0);var c=a.first+a.size-1;if(b.line>c)return H(c,I(a,c).text.length);a=I(a,b.line).text.length;c=b.ch;b=null==c||c>a?H(b.line,a):0>c?H(b.line,0):b;return b}
+function X(a,b){for(var c=[],d=0;d<b.length;d++)c[d]=R(a,b[d]);return c}function Ka(a,b,c){this.marker=a;this.from=b;this.to=c}function Ba(a,b){if(a)for(var c=0;c<a.length;++c){var d=a[c];if(d.marker==b)return d}}function Za(a,b){if(b.full)return null;var c=U(a,b.from.line)&&I(a,b.from.line).markedSpans,d=U(a,b.to.line)&&I(a,b.to.line).markedSpans;if(!c&&!d)return null;a=b.from.ch;var e=b.to.ch,g=0==Q(b.from,b.to),k;if(c)for(var J=0;J<c.length;++J){var l=c[J],m=l.marker;if(null==l.from||(m.inclusiveLeft?
+l.from<=a:l.from<a)||!(l.from!=a||"bookmark"!=m.type||g&&l.marker.insertLeft)){var r=null==l.to||(m.inclusiveRight?l.to>=a:l.to>a);(k||(k=[])).push(new Ka(m,l.from,r?null:l.to))}}c=k;var t;if(d)for(k=0;k<d.length;++k)if(J=d[k],l=J.marker,null==J.to||(l.inclusiveRight?J.to>=e:J.to>e)||J.from==e&&"bookmark"==l.type&&(!g||J.marker.insertLeft))m=null==J.from||(l.inclusiveLeft?J.from<=e:J.from<e),(t||(t=[])).push(new Ka(l,m?null:J.from-e,null==J.to?null:J.to-e));d=1==b.text.length;e=w(b.text).length+(d?
+a:0);if(c)for(g=0;g<c.length;++g)if(k=c[g],null==k.to)(J=Ba(t,k.marker),J)?d&&(k.to=null==J.to?null:J.to+e):k.to=a;if(t)for(a=0;a<t.length;++a)g=t[a],null!=g.to&&(g.to+=e),null==g.from?Ba(c,g.marker)||(g.from=e,d&&(c||(c=[])).push(g)):(g.from+=e,d&&(c||(c=[])).push(g));c&&(c=Ta(c));t&&t!=c&&(t=Ta(t));a=[c];if(!d){b=b.text.length-2;var f;if(0<b&&c)for(d=0;d<c.length;++d)null==c[d].to&&(f||(f=[])).push(new Ka(c[d].marker,null,null));for(c=0;c<b;++c)a.push(f);a.push(t)}return a}function Ta(a){for(var b=
+0;b<a.length;++b){var c=a[b];null!=c.from&&c.from==c.to&&!1!==c.marker.clearWhenEmpty&&a.splice(b--,1)}return a.length?a:null}function Wb(a,b,c){var d=null;a.iter(b.line,c.line+1,function(a){if(a.markedSpans)for(var b=0;b<a.markedSpans.length;++b){var c=a.markedSpans[b].marker;!c.readOnly||d&&-1!=r(d,c)||(d||(d=[])).push(c)}});if(!d)return null;a=[{from:b,to:c}];for(b=0;b<d.length;++b){c=d[b];for(var e=c.find(0),g=0;g<a.length;++g){var k=a[g];if(!(0>Q(k.to,e.from)||0<Q(k.from,e.to))){var J=[g,1],
+l=Q(k.from,e.from),m=Q(k.to,e.to);(0>l||!c.inclusiveLeft&&!l)&&J.push({from:k.from,to:e.from});(0<m||!c.inclusiveRight&&!m)&&J.push({from:e.to,to:k.to});a.splice.apply(a,J);g+=J.length-3}}}return a}function Eb(a){var b=a.markedSpans;if(b){for(var c=0;c<b.length;++c)b[c].marker.detachLine(a);a.markedSpans=null}}function Aa(a,b){if(b){for(var c=0;c<b.length;++c)b[c].marker.attachLine(a);a.markedSpans=b}}function Mc(a,b){var c=a.lines.length-b.lines.length;if(0!=c)return c;c=a.find();var d=b.find(),
+e=Q(c.from,d.from)||(a.inclusiveLeft?-1:0)-(b.inclusiveLeft?-1:0);return e?-e:(c=Q(c.to,d.to)||(a.inclusiveRight?1:0)-(b.inclusiveRight?1:0))?c:b.id-a.id}function wa(a,b){a=fb&&a.markedSpans;if(a)for(var c,d=0;d<a.length;++d)if(c=a[d],c.marker.collapsed&&null==(b?c.from:c.to)&&(!e||0>Mc(e,c.marker)))var e=c.marker;return e}function Fb(a,b,c,d,e){a=I(a,b);if(a=fb&&a.markedSpans)for(b=0;b<a.length;++b){var g=a[b];if(g.marker.collapsed){var k=g.marker.find(0),J=Q(k.from,c)||(g.marker.inclusiveLeft?-1:
+0)-(e.inclusiveLeft?-1:0),l=Q(k.to,d)||(g.marker.inclusiveRight?1:0)-(e.inclusiveRight?1:0);if(!(0<=J&&0>=l||0>=J&&0<=l)&&(0>=J&&(g.marker.inclusiveRight&&e.inclusiveLeft?0<=Q(k.to,c):0<Q(k.to,c))||0<=J&&(g.marker.inclusiveRight&&e.inclusiveLeft?0>=Q(k.from,d):0>Q(k.from,d))))return!0}}}function Ga(a){for(var b;b=wa(a,!0);)a=b.find(-1,!0).line;return a}function Xb(a,b){a=I(a,b);var c=Ga(a);return a==c?b:N(c)}function Nc(a,b){if(b>a.lastLine())return b;var c=I(a,b);if(!$a(a,c))return b;for(;a=wa(c,
+!1);)c=a.find(1,!0).line;return N(c)+1}function $a(a,b){var c=fb&&b.markedSpans;if(c)for(var d,e=0;e<c.length;++e)if(d=c[e],d.marker.collapsed&&(null==d.from||!d.marker.widgetNode&&0==d.from&&d.marker.inclusiveLeft&&gb(a,b,d)))return!0}function gb(a,b,c){if(null==c.to)return b=c.marker.find(1,!0),gb(a,b.line,Ba(b.line.markedSpans,c.marker));if(c.marker.inclusiveRight&&c.to==b.text.length)return!0;for(var d,e=0;e<b.markedSpans.length;++e)if(d=b.markedSpans[e],d.marker.collapsed&&!d.marker.widgetNode&&
+d.from==c.to&&(null==d.to||d.to!=c.from)&&(d.marker.inclusiveLeft||c.marker.inclusiveRight)&&gb(a,b,d))return!0}function Ha(a){a=Ga(a);for(var b=0,c=a.parent,d=0;d<c.lines.length;++d){var e=c.lines[d];if(e==a)break;else b+=e.height}for(a=c.parent;a;c=a,a=c.parent)for(d=0;d<a.children.length&&(e=a.children[d],e!=c);++d)b+=e.height;return b}function xa(a){if(0==a.height)return 0;for(var b=a.text.length,c,d=a;c=wa(d,!0);)c=c.find(0,!0),d=c.from.line,b+=c.from.ch-c.to.ch;for(d=a;c=wa(d,!1);)a=c.find(0,
+!0),b-=d.text.length-a.from.ch,d=a.to.line,b+=d.text.length-a.to.ch;return b}function ab(a){var b=a.display;a=a.doc;b.maxLine=I(a,a.first);b.maxLineLength=xa(b.maxLine);b.maxLineChanged=!0;a.iter(function(a){var c=xa(a);c>b.maxLineLength&&(b.maxLineLength=c,b.maxLine=a)})}function qd(a,b,c,d){if(!a)return d(b,c,"ltr",0);for(var e=!1,g=0;g<a.length;++g){var k=a[g];if(k.from<c&&k.to>b||b==c&&k.to==b)d(Math.max(k.from,b),Math.min(k.to,c),1==k.level?"rtl":"ltr",g),e=!0}e||d(b,c,"ltr")}function Ua(a,b,
+c){var d;Zb=null;for(var e=0;e<a.length;++e){var g=a[e];if(g.from<b&&g.to>b)return e;g.to==b&&(g.from!=g.to&&"before"==c?d=e:Zb=e);g.from==b&&(g.from!=g.to&&"before"!=c?d=e:Zb=e)}return null!=d?d:Zb}function Ca(a,b){var c=a.order;null==c&&(c=a.order=dg(a.text,b));return c}function ha(a,b,c){if(a.removeEventListener)a.removeEventListener(b,c,!1);else if(a.detachEvent)a.detachEvent("on"+b,c);else{var d=(a=a._handlers)&&a[b];d&&(c=r(d,c),-1<c&&(a[b]=d.slice(0,c).concat(d.slice(c+1))))}}function da(a,
+b){var c=a._handlers&&a._handlers[b]||Pc;if(c.length)for(var d=Array.prototype.slice.call(arguments,2),e=0;e<c.length;++e)c[e].apply(null,d)}function ia(a,b,c){"string"==typeof b&&(b={type:b,preventDefault:function(){this.defaultPrevented=!0}});da(a,c||b.type,a,b);return ob(b)||b.codemirrorIgnore}function $b(a){var b=a._handlers&&a._handlers.cursorActivity;if(b){a=a.curOp.cursorActivityHandlers||(a.curOp.cursorActivityHandlers=[]);for(var c=0;c<b.length;++c)-1==r(a,b[c])&&a.push(b[c])}}function Da(a,
+b){return 0<(a._handlers&&a._handlers[b]||Pc).length}function La(a){a.prototype.on=function(a,b){T(this,a,b)};a.prototype.off=function(a,b){ha(this,a,b)}}function na(a){a.preventDefault?a.preventDefault():a.returnValue=!1}function Qc(a){a.stopPropagation?a.stopPropagation():a.cancelBubble=!0}function ob(a){return null!=a.defaultPrevented?a.defaultPrevented:0==a.returnValue}function pb(a){na(a);Qc(a)}function ac(a){var b=a.which;null==b&&(a.button&1?b=1:a.button&2?b=3:a.button&4&&(b=2));Ma&&a.ctrlKey&&
+1==b&&(b=3);return b}function hb(a){if(null==rd){var b=c("span","\u200b");h(a,c("span",[b,document.createTextNode("x")]));0!=a.firstChild.offsetHeight&&(rd=1>=b.offsetWidth&&2<b.offsetHeight&&!(V&&8>ca))}a=rd?c("span","\u200b"):c("span","\u00a0",null,"display: inline-block; width: 1px; margin-right: -1px");a.setAttribute("cm-text","");return a}function Rc(a,b){2<arguments.length&&(b.dependencies=Array.prototype.slice.call(arguments,2));sd[a]=b}function bb(a){if("string"==typeof a&&Gb.hasOwnProperty(a))a=
+Gb[a];else if(a&&"string"==typeof a.name&&Gb.hasOwnProperty(a.name)){var b=Gb[a.name];"string"==typeof b&&(b={name:b});a=z(b,a);a.name=b.name}else{if("string"==typeof a&&/^[\w\-]+\/[\w\-]+\+xml$/.test(a))return bb("application/xml");if("string"==typeof a&&/^[\w\-]+\/[\w\-]+\+json$/.test(a))return bb("application/json")}return"string"==typeof a?{name:a}:a||{name:"null"}}function Na(a,b){b=bb(b);var c=sd[b.name];if(!c)return Na(a,"text/plain");a=c(a,b);if(Hb.hasOwnProperty(b.name)){c=Hb[b.name];for(var d in c)c.hasOwnProperty(d)&&
+(a.hasOwnProperty(d)&&(a["_"+d]=a[d]),a[d]=c[d])}a.name=b.name;b.helperType&&(a.helperType=b.helperType);if(b.modeProps)for(var e in b.modeProps)a[e]=b.modeProps[e];return a}function ta(a,b){a=Hb.hasOwnProperty(a)?Hb[a]:Hb[a]={};t(b,a)}function Oa(a,b){if(!0===b)return b;if(a.copyState)return a.copyState(b);a={};for(var c in b){var d=b[c];d instanceof Array&&(d=d.concat([]));a[c]=d}return a}function Ib(a,b){for(var c;a.innerMode;){c=a.innerMode(b);if(!c||c.mode==a)break;b=c.state;a=c.mode}return c||
+{mode:a,state:b}}function bc(a,b,c){return a.startState?a.startState(b,c):!0}function Sc(a,b,c,d){var e=[a.state.modeGen],g={};ie(a,b.text,a.doc.mode,c,function(a,b){return e.push(a,b)},g,d);var k=c.state;d=function(d){c.baseTokens=e;var l=a.state.overlays[d],J=1,m=0;c.state=!0;ie(a,b.text,l.mode,c,function(a,b){for(var c=J;m<a;){var d=e[J];d>a&&e.splice(J,1,a,e[J+1],d);J+=2;m=Math.min(a,d)}if(b)if(l.opaque)e.splice(c,J-c,a,"overlay "+b),J=c+2;else for(;c<J;c+=2)a=e[c+1],e[c+1]=(a?a+" ":"")+"overlay "+
+b},g);c.state=k;c.baseTokens=null;c.baseTokenPos=1};for(var l=0;l<a.state.overlays.length;++l)d(l);return{styles:e,classes:g.bgClass||g.textClass?g:null}}function ib(a,b,c){if(!b.styles||b.styles[0]!=a.state.modeGen){var d=Va(a,N(b)),e=b.text.length>a.options.maxHighlightLength&&Oa(a.doc.mode,d.state),g=Sc(a,b,d);e&&(d.state=e);b.stateAfter=d.save(!e);b.styles=g.styles;g.classes?b.styleClasses=g.classes:b.styleClasses&&(b.styleClasses=null);c===a.doc.highlightFrontier&&(a.doc.modeFrontier=Math.max(a.doc.modeFrontier,
+++a.doc.highlightFrontier))}return b.styles}function Va(a,b,c){var d=a.doc,e=a.display;if(!d.mode.startState)return new Wa(d,!0,b);var g=eg(a,b,c),k=g>d.first&&I(d,g-1).stateAfter,l=k?Wa.fromSaved(d,k,g):new Wa(d,bc(d.mode),g);d.iter(g,b,function(c){cc(a,c.text,l);var d=l.line;c.stateAfter=d==b-1||0==d%5||d>=e.viewFrom&&d<e.viewTo?l.save():null;l.nextLine()});c&&(d.modeFrontier=l.line);return l}function cc(a,b,c,d){var e=a.doc.mode;a=new ja(b,a.options.tabSize,c);a.start=a.pos=d||0;for(""==b&&K(e,
+c.state);!a.eol();)dc(e,a,c.state),a.start=a.pos}function K(a,b){if(a.blankLine)return a.blankLine(b);if(a.innerMode&&(a=Ib(a,b),a.mode.blankLine))return a.mode.blankLine(a.state)}function dc(a,b,c,d){for(var e=0;10>e;e++){d&&(d[0]=Ib(a,c).mode);var g=a.token(b,c);if(b.pos>b.start)return g}throw Error("Mode "+a.name+" failed to advance stream.");}function je(a,b,c,d){var e=a.doc,g=e.mode;b=R(e,b);var k=I(e,b.line);c=Va(a,b.line,c);a=new ja(k.text,a.options.tabSize,c);var l;for(d&&(l=[]);(d||a.pos<
+b.ch)&&!a.eol();){a.start=a.pos;var m=dc(g,a,c.state);d&&l.push(new ke(a,m,Oa(e.mode,c.state)))}return d?l:new ke(a,m,c.state)}function le(a,b){if(a)for(;;){var c=a.match(/(?:^|\s+)line-(background-)?(\S+)/);if(!c)break;a=a.slice(0,c.index)+a.slice(c.index+c[0].length);var d=c[1]?"bgClass":"textClass";null==b[d]?b[d]=c[2]:(new RegExp("(?:^|s)"+c[2]+"(?:$|s)")).test(b[d])||(b[d]+=" "+c[2])}return a}function ie(a,b,c,d,e,g,k){var l=c.flattenSpans;null==l&&(l=a.options.flattenSpans);var m=0,J=null,r=
+new ja(b,a.options.tabSize,d),t=a.options.addModeClass&&[null];for(""==b&&le(K(c,d.state),g);!r.eol();){if(r.pos>a.options.maxHighlightLength){l=!1;k&&cc(a,b,d,r.pos);r.pos=b.length;var f=null}else f=le(dc(c,r,d.state,t),g);if(t){var u=t[0].name;u&&(f="m-"+(f?u+" "+f:u))}if(!l||J!=f){for(;m<r.start;)m=Math.min(r.start,m+5E3),e(m,J);J=f}r.start=r.pos}for(;m<r.pos;)a=Math.min(r.pos,m+5E3),e(a,J),m=a}function eg(a,b,c){for(var d,e,g=a.doc,k=c?-1:b-(a.doc.mode.innerMode?1E3:100);b>k;--b){if(b<=g.first)return g.first;
+var l=I(g,b-1),J=l.stateAfter;if(J&&(!c||b+(J instanceof Tc?J.lookAhead:0)<=g.modeFrontier))return b;l=m(l.text,null,a.options.tabSize);if(null==e||d>l)e=b-1,d=l}return e}function fg(a,b){a.modeFrontier=Math.min(a.modeFrontier,b);if(!(a.highlightFrontier<b-10)){for(var c=a.first,d=b-1;d>c;d--){var e=I(a,d).stateAfter;if(e&&(!(e instanceof Tc)||d+e.lookAhead<b)){c=d+1;break}}a.highlightFrontier=Math.min(a.highlightFrontier,c)}}function me(a,b){if(!a||/^\s*$/.test(a))return null;b=b.addModeClass?gg:
+hg;return b[a]||(b[a]=a.replace(/\S+/g,"cm-$&"))}function ne(a,c){var d=b("span",null,null,sa?"padding-right: .1px":null);d={pre:b("pre",[d],"CodeMirror-line"),content:d,col:0,pos:0,cm:a,trailingSpace:!1,splitSpaces:(V||sa)&&a.getOption("lineWrapping")};c.measure={};for(var e=0;e<=(c.rest?c.rest.length:0);e++){var g=e?c.rest[e-1]:c.line,k=void 0;d.pos=0;d.addToken=ig;var m=a.display.measure;if(null!=td)m=td;else{var J=h(m,document.createTextNode("A\u062eA")),r=ec(J,0,1).getBoundingClientRect();J=
+ec(J,1,2).getBoundingClientRect();f(m);m=r&&r.left!=r.right?td=3>J.right-r.right:!1}m&&(k=Ca(g,a.doc.direction))&&(d.addToken=jg(d.addToken,k));d.map=[];var t=c!=a.display.externalMeasured&&N(g);a:{var u=J=r=m=void 0,v=void 0,la=void 0,n=void 0;k=d;t=ib(a,g,t);var w=g.markedSpans,p=g.text,D=0;if(w)for(var z=p.length,x=0,q=1,y="",C=0;;){if(C==x){v=u=J=r=la="";m=null;C=Infinity;for(var E=[],G=void 0,A=0;A<w.length;++A){var B=w[A],F=B.marker;"bookmark"==F.type&&B.from==x&&F.widgetNode?E.push(F):B.from<=
+x&&(null==B.to||B.to>x||F.collapsed&&B.to==x&&B.from==x)?(null!=B.to&&B.to!=x&&C>B.to&&(C=B.to,u=""),F.className&&(v+=" "+F.className),F.css&&(la=(la?la+";":"")+F.css),F.startStyle&&B.from==x&&(J+=" "+F.startStyle),F.endStyle&&B.to==C&&(G||(G=[])).push(F.endStyle,B.to),F.title&&!r&&(r=F.title),F.collapsed&&(!m||0>Mc(m.marker,F))&&(m=B)):B.from>x&&C>B.from&&(C=B.from)}if(G)for(A=0;A<G.length;A+=2)G[A+1]==C&&(u+=" "+G[A]);if(!m||m.from==x)for(G=0;G<E.length;++G)oe(k,0,E[G]);if(m&&(m.from||0)==x){oe(k,
+(null==m.to?z+1:m.to)-x,m.marker,null==m.from);if(null==m.to)break a;m.to==x&&(m=!1)}}if(x>=z)break;for(E=Math.min(z,C);;){if(y){G=x+y.length;m||(A=G>E?y.slice(0,E-x):y,k.addToken(k,A,n?n+v:v,J,x+A.length==C?u:"",r,la));if(G>=E){y=y.slice(E-x);x=E;break}x=G;J=""}y=p.slice(D,D=t[q++]);n=me(t[q++],k.cm.options)}}else for(m=1;m<t.length;m+=2)k.addToken(k,p.slice(D,D=t[m]),me(t[m+1],k.cm.options))}g.styleClasses&&(g.styleClasses.bgClass&&(d.bgClass=l(g.styleClasses.bgClass,d.bgClass||"")),g.styleClasses.textClass&&
+(d.textClass=l(g.styleClasses.textClass,d.textClass||"")));0==d.map.length&&d.map.push(0,0,d.content.appendChild(hb(a.display.measure)));0==e?(c.measure.map=d.map,c.measure.cache={}):((c.measure.maps||(c.measure.maps=[])).push(d.map),(c.measure.caches||(c.measure.caches=[])).push({}))}sa&&(e=d.content.lastChild,/\bcm-tab\b/.test(e.className)||e.querySelector&&e.querySelector(".cm-tab"))&&(d.content.className="cm-tab-wrap-hack");da(a,"renderLine",a,c.line,d.pre);d.pre.className&&(d.textClass=l(d.pre.className,
+d.textClass||""));return d}function kg(a){var b=c("span","\u2022","cm-invalidchar");b.title="\\u"+a.charCodeAt(0).toString(16);b.setAttribute("aria-label",b.title);return b}function ig(a,b,d,e,g,k,l){if(b){if(a.splitSpaces){var m=a.trailingSpace;if(1<b.length&&!/  /.test(b))m=b;else{for(var J="",r=0;r<b.length;r++){var t=b.charAt(r);" "!=t||!m||r!=b.length-1&&32!=b.charCodeAt(r+1)||(t="\u00a0");J+=t;m=" "==t}m=J}}else m=b;J=m;r=a.cm.state.specialChars;t=!1;if(r.test(b)){m=document.createDocumentFragment();
+for(var f=0;;){r.lastIndex=f;var u=r.exec(b),h=u?u.index-f:b.length-f;if(h){var la=document.createTextNode(J.slice(f,f+h));V&&9>ca?m.appendChild(c("span",[la])):m.appendChild(la);a.map.push(a.pos,a.pos+h,la);a.col+=h;a.pos+=h}if(!u)break;f+=h+1;"\t"==u[0]?(u=a.cm.options.tabSize,u-=a.col%u,h=m.appendChild(c("span",v(u),"cm-tab")),h.setAttribute("role","presentation"),h.setAttribute("cm-text","\t"),a.col+=u):("\r"==u[0]||"\n"==u[0]?(h=m.appendChild(c("span","\r"==u[0]?"\u240d":"\u2424","cm-invalidchar")),
+h.setAttribute("cm-text",u[0])):(h=a.cm.options.specialCharPlaceholder(u[0]),h.setAttribute("cm-text",u[0]),V&&9>ca?m.appendChild(c("span",[h])):m.appendChild(h)),a.col+=1);a.map.push(a.pos,a.pos+1,h);a.pos++}}else a.col+=b.length,m=document.createTextNode(J),a.map.push(a.pos,a.pos+b.length,m),V&&9>ca&&(t=!0),a.pos+=b.length;a.trailingSpace=32==J.charCodeAt(b.length-1);if(d||e||g||t||l)return b=d||"",e&&(b+=e),g&&(b+=g),e=c("span",[m],b,l),k&&(e.title=k),a.content.appendChild(e);a.content.appendChild(m)}}
+function jg(a,b){return function(c,d,e,g,k,l,m){e=e?e+" cm-force-border":"cm-force-border";for(var J=c.pos,r=J+d.length;;){for(var t=void 0,f=0;f<b.length&&!(t=b[f],t.to>J&&t.from<=J);f++);if(t.to>=r)return a(c,d,e,g,k,l,m);a(c,d.slice(0,t.to-J),e,g,null,l,m);g=null;d=d.slice(t.to-J);J=t.to}}}function oe(a,b,c,d){var e=!d&&c.widgetNode;e&&a.map.push(a.pos,a.pos+b,e);!d&&a.cm.display.input.needsContentAttribute&&(e||(e=a.content.appendChild(document.createElement("span"))),e.setAttribute("cm-marker",
+c.id));e&&(a.cm.display.input.setUneditable(e),a.content.appendChild(e));a.pos+=b;a.trailingSpace=!1}function pe(a,b,c){for(var d=this.line=b,e;d=wa(d,!1);)d=d.find(1,!0).line,(e||(e=[])).push(d);this.size=(this.rest=e)?N(w(this.rest))-c+1:1;this.node=this.text=null;this.hidden=$a(a,b)}function Uc(a,b,c){var d=[],e;for(e=b;e<c;)b=new pe(a.doc,I(a.doc,e),e),e+=b.size,d.push(b);return d}function lg(a,b){if(a=a.ownsGroup)try{var c=a.delayedCallbacks,d=0;do{for(;d<c.length;d++)c[d].call(null);for(var e=
+0;e<a.ops.length;e++){var g=a.ops[e];if(g.cursorActivityHandlers)for(;g.cursorActivityCalled<g.cursorActivityHandlers.length;)g.cursorActivityHandlers[g.cursorActivityCalled++].call(null,g.cm)}}while(d<c.length)}finally{Jb=null,b(a)}}function qa(a,b){var c=a._handlers&&a._handlers[b]||Pc;if(c.length){var d=Array.prototype.slice.call(arguments,2);if(Jb)var e=Jb.delayedCallbacks;else fc?e=fc:(e=fc=[],setTimeout(mg,0));for(var g=function(a){e.push(function(){return c[a].apply(null,d)})},k=0;k<c.length;++k)g(k)}}
+function mg(){var a=fc;fc=null;for(var b=0;b<a.length;++b)a[b]()}function qe(a,b,c,d){for(var e=0;e<b.changes.length;e++){var g=b.changes[e];if("text"==g){g=a;var k=b,l=k.text.className,m=re(g,k);k.text==k.node&&(k.node=m.pre);k.text.parentNode.replaceChild(m.pre,k.text);k.text=m.pre;m.bgClass!=k.bgClass||m.textClass!=k.textClass?(k.bgClass=m.bgClass,k.textClass=m.textClass,ud(g,k)):l&&(k.text.className=l)}else if("gutter"==g)se(a,b,c,d);else if("class"==g)ud(a,b);else if("widget"==g){g=a;k=b;l=d;
+k.alignable&&(k.alignable=null);m=k.node.firstChild;for(var r;m;m=r)r=m.nextSibling,"CodeMirror-linewidget"==m.className&&k.node.removeChild(m);te(g,k,l)}}b.changes=null}function gc(a){a.node==a.text&&(a.node=c("div",null,null,"position: relative"),a.text.parentNode&&a.text.parentNode.replaceChild(a.node,a.text),a.node.appendChild(a.text),V&&8>ca&&(a.node.style.zIndex=2));return a.node}function re(a,b){var c=a.display.externalMeasured;return c&&c.line==b.line?(a.display.externalMeasured=null,b.measure=
+c.measure,c.built):ne(a,b)}function ud(a,b){var d=b.bgClass?b.bgClass+" "+(b.line.bgClass||""):b.line.bgClass;d&&(d+=" CodeMirror-linebackground");if(b.background)d?b.background.className=d:(b.background.parentNode.removeChild(b.background),b.background=null);else if(d){var e=gc(b);b.background=e.insertBefore(c("div",null,d),e.firstChild);a.display.input.setUneditable(b.background)}b.line.wrapClass?gc(b).className=b.line.wrapClass:b.node!=b.text&&(b.node.className="");b.text.className=(b.textClass?
+b.textClass+" "+(b.line.textClass||""):b.line.textClass)||""}function se(a,b,d,e){b.gutter&&(b.node.removeChild(b.gutter),b.gutter=null);b.gutterBackground&&(b.node.removeChild(b.gutterBackground),b.gutterBackground=null);if(b.line.gutterClass){var g=gc(b);b.gutterBackground=c("div",null,"CodeMirror-gutter-background "+b.line.gutterClass,"left: "+(a.options.fixedGutter?e.fixedPos:-e.gutterTotalWidth)+"px; width: "+e.gutterTotalWidth+"px");a.display.input.setUneditable(b.gutterBackground);g.insertBefore(b.gutterBackground,
+b.text)}g=b.line.gutterMarkers;if(a.options.lineNumbers||g){var k=gc(b),l=b.gutter=c("div",null,"CodeMirror-gutter-wrapper","left: "+(a.options.fixedGutter?e.fixedPos:-e.gutterTotalWidth)+"px");a.display.input.setUneditable(l);k.insertBefore(l,b.text);b.line.gutterClass&&(l.className+=" "+b.line.gutterClass);!a.options.lineNumbers||g&&g["CodeMirror-linenumbers"]||(b.lineNumber=l.appendChild(c("div",Z(a.options,d),"CodeMirror-linenumber CodeMirror-gutter-elt","left: "+e.gutterLeft["CodeMirror-linenumbers"]+
+"px; width: "+a.display.lineNumInnerWidth+"px")));if(g)for(b=0;b<a.options.gutters.length;++b)d=a.options.gutters[b],(k=g.hasOwnProperty(d)&&g[d])&&l.appendChild(c("div",[k],"CodeMirror-gutter-elt","left: "+e.gutterLeft[d]+"px; width: "+e.gutterWidth[d]+"px"))}}function ng(a,b,c,d){var e=re(a,b);b.text=b.node=e.pre;e.bgClass&&(b.bgClass=e.bgClass);e.textClass&&(b.textClass=e.textClass);ud(a,b);se(a,b,c,d);te(a,b,d);return b.node}function te(a,b,c){ue(a,b.line,b,c,!0);if(b.rest)for(var d=0;d<b.rest.length;d++)ue(a,
+b.rest[d],b,c,!1)}function ue(a,b,d,e,g){if(b.widgets){var k=gc(d),l=0;for(b=b.widgets;l<b.length;++l){var m=b[l],r=c("div",[m.node],"CodeMirror-linewidget");m.handleMouseEvents||r.setAttribute("cm-ignore-events","true");var J=m,t=r,f=e;if(J.noHScroll){(d.alignable||(d.alignable=[])).push(t);var u=f.wrapperWidth;t.style.left=f.fixedPos+"px";J.coverGutter||(u-=f.gutterTotalWidth,t.style.paddingLeft=f.gutterTotalWidth+"px");t.style.width=u+"px"}J.coverGutter&&(t.style.zIndex=5,t.style.position="relative",
+J.noHScroll||(t.style.marginLeft=-f.gutterTotalWidth+"px"));a.display.input.setUneditable(r);g&&m.above?k.insertBefore(r,d.gutter||d.text):k.appendChild(r);qa(m,"redraw")}}}function hc(a){if(null!=a.height)return a.height;var b=a.doc.cm;if(!b)return 0;if(!d(document.body,a.node)){var e="position: relative;";a.coverGutter&&(e+="margin-left: -"+b.display.gutters.offsetWidth+"px;");a.noHScroll&&(e+="width: "+b.display.wrapper.clientWidth+"px;");h(b.display.measure,c("div",[a.node],null,e))}return a.height=
+a.node.parentNode.offsetHeight}function cb(a,b){for(b=b.target||b.srcElement;b!=a.wrapper;b=b.parentNode)if(!b||1==b.nodeType&&"true"==b.getAttribute("cm-ignore-events")||b.parentNode==a.sizer&&b!=a.mover)return!0}function vd(a){return a.mover.offsetHeight-a.lineSpace.offsetHeight}function ve(a){if(a.cachedPaddingH)return a.cachedPaddingH;var b=h(a.measure,c("pre","x"));b=window.getComputedStyle?window.getComputedStyle(b):b.currentStyle;b={left:parseInt(b.paddingLeft),right:parseInt(b.paddingRight)};
+isNaN(b.left)||isNaN(b.right)||(a.cachedPaddingH=b);return b}function Xa(a){return 30-a.display.nativeBarWidth}function qb(a){return a.display.scroller.clientWidth-Xa(a)-a.display.barWidth}function wd(a){return a.display.scroller.clientHeight-Xa(a)-a.display.barHeight}function we(a,b,c){if(a.line==b)return{map:a.measure.map,cache:a.measure.cache};for(var d=0;d<a.rest.length;d++)if(a.rest[d]==b)return{map:a.measure.maps[d],cache:a.measure.caches[d]};for(b=0;b<a.rest.length;b++)if(N(a.rest[b])>c)return{map:a.measure.maps[b],
+cache:a.measure.caches[b],before:!0}}function xd(a,b){if(b>=a.display.viewFrom&&b<a.display.viewTo)return a.display.view[rb(a,b)];if((a=a.display.externalMeasured)&&b>=a.lineN&&b<a.lineN+a.size)return a}function sb(a,b){var c=N(b),d=xd(a,c);d&&!d.text?d=null:d&&d.changes&&(qe(a,d,c,yd(a)),a.curOp.forceUpdate=!0);if(!d){var e=Ga(b);d=N(e);e=a.display.externalMeasured=new pe(a.doc,e,d);e.lineN=d;d=e.built=ne(a,e);e.text=d.pre;h(a.display.lineMeasure,d.pre);d=e}a=we(d,b,c);return{line:b,view:d,rect:null,
+map:a.map,cache:a.cache,before:a.before,hasHeights:!1}}function Pa(a,b,d,e,g){b.before&&(d=-1);var k=d+(e||"");if(b.cache.hasOwnProperty(k))a=b.cache[k];else{b.rect||(b.rect=b.view.text.getBoundingClientRect());if(!b.hasHeights){var l=b.view,m=b.rect,r=a.options.lineWrapping,t=r&&qb(a);if(!l.measure.heights||r&&l.measure.width!=t){var J=l.measure.heights=[];if(r)for(l.measure.width=t,l=l.text.firstChild.getClientRects(),r=0;r<l.length-1;r++){t=l[r];var f=l[r+1];2<Math.abs(t.bottom-f.bottom)&&J.push((t.bottom+
+f.top)/2-m.top)}J.push(m.bottom-m.top)}b.hasHeights=!0}J=e;l=xe(b.map,d,J);e=l.node;m=l.start;r=l.end;d=l.collapse;if(3==e.nodeType){for(var u=0;4>u;u++){for(;m&&C(b.line.text.charAt(l.coverStart+m));)--m;for(;l.coverStart+r<l.coverEnd&&C(b.line.text.charAt(l.coverStart+r));)++r;if(V&&9>ca&&0==m&&r==l.coverEnd-l.coverStart)var v=e.parentNode.getBoundingClientRect();else{v=ec(e,m,r).getClientRects();r=ye;if("left"==J)for(t=0;t<v.length&&(r=v[t]).left==r.right;t++);else for(t=v.length-1;0<=t&&(r=v[t]).left==
+r.right;t--);v=r}if(v.left||v.right||0==m)break;r=m;--m;d="right"}V&&11>ca&&((u=!window.screen||null==screen.logicalXDPI||screen.logicalXDPI==screen.deviceXDPI)||(null!=zd?u=zd:(J=h(a.display.measure,c("span","x")),u=J.getBoundingClientRect(),J=ec(J,0,1).getBoundingClientRect(),u=zd=1<Math.abs(u.left-J.left)),u=!u),u||(u=screen.logicalXDPI/screen.deviceXDPI,J=screen.logicalYDPI/screen.deviceYDPI,v={left:v.left*u,right:v.right*u,top:v.top*J,bottom:v.bottom*J}))}else 0<m&&(d=J="right"),v=a.options.lineWrapping&&
+1<(u=e.getClientRects()).length?u["right"==J?u.length-1:0]:e.getBoundingClientRect();!(V&&9>ca)||m||v&&(v.left||v.right)||(v=(v=e.parentNode.getClientRects()[0])?{left:v.left,right:v.left+ic(a.display),top:v.top,bottom:v.bottom}:ye);e=v.top-b.rect.top;m=v.bottom-b.rect.top;u=(e+m)/2;J=b.view.measure.heights;for(l=0;l<J.length-1&&!(u<J[l]);l++);d={left:("right"==d?v.right:v.left)-b.rect.left,right:("left"==d?v.left:v.right)-b.rect.left,top:l?J[l-1]:0,bottom:J[l]};v.left||v.right||(d.bogus=!0);a.options.singleCursorHeightPerLine||
+(d.rtop=e,d.rbottom=m);a=d;a.bogus||(b.cache[k]=a)}return{left:a.left,right:a.right,top:g?a.rtop:a.top,bottom:g?a.rbottom:a.bottom}}function xe(a,b,c){for(var d,e,g,k,l,m,r=0;r<a.length;r+=3){l=a[r];m=a[r+1];if(b<l)e=0,g=1,k="left";else if(b<m)e=b-l,g=e+1;else if(r==a.length-3||b==m&&a[r+3]>b)g=m-l,e=g-1,b>=m&&(k="right");if(null!=e){d=a[r+2];l==m&&c==(d.insertLeft?"left":"right")&&(k=c);if("left"==c&&0==e)for(;r&&a[r-2]==a[r-3]&&a[r-1].insertLeft;)d=a[(r-=3)+2],k="left";if("right"==c&&e==m-l)for(;r<
+a.length-3&&a[r+3]==a[r+4]&&!a[r+5].insertLeft;)d=a[(r+=3)+2],k="right";break}}return{node:d,start:e,end:g,collapse:k,coverStart:l,coverEnd:m}}function ze(a){if(a.measure&&(a.measure.cache={},a.measure.heights=null,a.rest))for(var b=0;b<a.rest.length;b++)a.measure.caches[b]={}}function Ae(a){a.display.externalMeasure=null;f(a.display.lineMeasure);for(var b=0;b<a.display.view.length;b++)ze(a.display.view[b])}function jc(a){Ae(a);a.display.cachedCharWidth=a.display.cachedTextHeight=a.display.cachedPaddingH=
+null;a.options.lineWrapping||(a.display.maxLineChanged=!0);a.display.lineNumChars=null}function Be(){return Vc&&Wc?-(document.body.getBoundingClientRect().left-parseInt(getComputedStyle(document.body).marginLeft)):window.pageXOffset||(document.documentElement||document.body).scrollLeft}function Ce(){return Vc&&Wc?-(document.body.getBoundingClientRect().top-parseInt(getComputedStyle(document.body).marginTop)):window.pageYOffset||(document.documentElement||document.body).scrollTop}function Ad(a){var b=
+0;if(a.widgets)for(var c=0;c<a.widgets.length;++c)a.widgets[c].above&&(b+=hc(a.widgets[c]));return b}function Xc(a,b,c,d,e){e||(e=Ad(b),c.top+=e,c.bottom+=e);if("line"==d)return c;d||(d="local");b=Ha(b);b="local"==d?b+a.display.lineSpace.offsetTop:b-a.display.viewOffset;if("page"==d||"window"==d)a=a.display.lineSpace.getBoundingClientRect(),b+=a.top+("window"==d?0:Ce()),d=a.left+("window"==d?0:Be()),c.left+=d,c.right+=d;c.top+=b;c.bottom+=b;return c}function De(a,b,c){if("div"==c)return b;var d=b.left;
+b=b.top;"page"==c?(d-=Be(),b-=Ce()):"local"!=c&&c||(c=a.display.sizer.getBoundingClientRect(),d+=c.left,b+=c.top);a=a.display.lineSpace.getBoundingClientRect();return{left:d-a.left,top:b-a.top}}function Bd(a,b,c,d,e){d||(d=I(a.doc,b.line));var g=d;b=b.ch;d=Pa(a,sb(a,d),b,e);return Xc(a,g,d,c)}function Qa(a,b,c,d,e,g){function k(b,k){b=Pa(a,e,b,k?"right":"left",g);k?b.left=b.right:b.right=b.left;return Xc(a,d,b,c)}function l(a,b,c){return k(c?a-1:a,1==m[b].level!=c)}d=d||I(a.doc,b.line);e||(e=sb(a,
+d));var m=Ca(d,a.doc.direction),r=b.ch;b=b.sticky;r>=d.text.length?(r=d.text.length,b="before"):0>=r&&(r=0,b="after");if(!m)return k("before"==b?r-1:r,"before"==b);var t=Ua(m,r,b),J=Zb;t=l(r,t,"before"==b);null!=J&&(t.other=l(r,J,"before"!=b));return t}function Ee(a,b){var c=0;b=R(a.doc,b);a.options.lineWrapping||(c=ic(a.display)*b.ch);b=I(a.doc,b.line);a=Ha(b)+a.display.lineSpace.offsetTop;return{left:c,right:c,top:a,bottom:a+b.height}}function Cd(a,b,c,d,e){a=H(a,b,c);a.xRel=e;d&&(a.outside=!0);
+return a}function Dd(a,b,c){var d=a.doc;c+=a.display.viewOffset;if(0>c)return Cd(d.first,0,null,!0,-1);var e=S(d,c),g=d.first+d.size-1;if(e>g)return Cd(d.first+d.size-1,I(d,g).text.length,null,!0,1);0>b&&(b=0);for(d=I(d,e);;)if(e=og(a,d,e,b,c),g=(d=wa(d,!1))&&d.find(0,!0),d&&(e.ch>g.from.ch||e.ch==g.from.ch&&0<e.xRel))e=N(d=g.to.line);else return e}function Fe(a,b,c,d){d-=Ad(b);b=b.text.length;var e=F(function(b){return Pa(a,c,b-1).bottom<=d},b,0);b=F(function(b){return Pa(a,c,b).top>d},e,b);return{begin:e,
+end:b}}function Ge(a,b,c,d){c||(c=sb(a,b));d=Xc(a,b,Pa(a,c,d),"line").top;return Fe(a,b,c,d)}function Ed(a,b,c,d){return a.bottom<=c?!1:a.top>c?!0:(d?a.left:a.right)>b}function og(a,b,c,d,e){e-=Ha(b);var g=sb(a,b),k=Ad(b),l=0,m=b.text.length,r=!0,t=Ca(b,a.doc.direction);t&&(t=(a.options.lineWrapping?pg:qg)(a,b,c,g,t,d,e),l=(r=1!=t.level)?t.from:t.to-1,m=r?t.to:t.from-1);var J=null,f=null;t=F(function(b){var c=Pa(a,g,b);c.top+=k;c.bottom+=k;if(!Ed(c,d,e,!1))return!1;c.top<=e&&c.left<=d&&(J=b,f=c);
+return!0},l,m);var u=!1;f?(l=d-f.left<f.right-d,r=l==r,t=J+(r?0:1),r=r?"after":"before",l=l?f.left:f.right):(r||t!=m&&t!=l||t++,r=0==t?"after":t==b.text.length?"before":Pa(a,g,t-(r?1:0)).bottom+k<=e==r?"after":"before",u=Qa(a,H(c,t,r),"line",b,g),l=u.left,u=e<u.top||e>=u.bottom);t=B(b.text,t,1);return Cd(c,t,r,u,d-l)}function qg(a,b,c,d,e,g,k){var l=F(function(l){l=e[l];var m=1!=l.level;return Ed(Qa(a,H(c,m?l.to:l.from,m?"before":"after"),"line",b,d),g,k,!0)},0,e.length-1),m=e[l];if(0<l){var r=1!=
+m.level;r=Qa(a,H(c,r?m.from:m.to,r?"after":"before"),"line",b,d);Ed(r,g,k,!0)&&r.top>k&&(m=e[l-1])}return m}function pg(a,b,c,d,e,g,k){k=Fe(a,b,d,k);c=k.begin;k=k.end;/\s/.test(b.text.charAt(k-1))&&k--;for(var l=b=null,m=0;m<e.length;m++){var r=e[m];if(!(r.from>=k||r.to<=c)){var t=Pa(a,d,1!=r.level?Math.min(k,r.to)-1:Math.max(c,r.from)).right;t=t<g?g-t+1E9:t-g;if(!b||l>t)b=r,l=t}}b||(b=e[e.length-1]);b.from<c&&(b={from:c,to:b.to,level:b.level});b.to>k&&(b={from:b.from,to:k,level:b.level});return b}
+function tb(a){if(null!=a.cachedTextHeight)return a.cachedTextHeight;if(null==ub){ub=c("pre");for(var b=0;49>b;++b)ub.appendChild(document.createTextNode("x")),ub.appendChild(c("br"));ub.appendChild(document.createTextNode("x"))}h(a.measure,ub);b=ub.offsetHeight/50;3<b&&(a.cachedTextHeight=b);f(a.measure);return b||1}function ic(a){if(null!=a.cachedCharWidth)return a.cachedCharWidth;var b=c("span","xxxxxxxxxx"),d=c("pre",[b]);h(a.measure,d);b=b.getBoundingClientRect();b=(b.right-b.left)/10;2<b&&(a.cachedCharWidth=
+b);return b||10}function yd(a){for(var b=a.display,c={},d={},e=b.gutters.clientLeft,g=b.gutters.firstChild,k=0;g;g=g.nextSibling,++k)c[a.options.gutters[k]]=g.offsetLeft+g.clientLeft+e,d[a.options.gutters[k]]=g.clientWidth;return{fixedPos:Fd(b),gutterTotalWidth:b.gutters.offsetWidth,gutterLeft:c,gutterWidth:d,wrapperWidth:b.wrapper.clientWidth}}function Fd(a){return a.scroller.getBoundingClientRect().left-a.sizer.getBoundingClientRect().left}function He(a){var b=tb(a.display),c=a.options.lineWrapping,
+d=c&&Math.max(5,a.display.scroller.clientWidth/ic(a.display)-3);return function(e){if($a(a.doc,e))return 0;var g=0;if(e.widgets)for(var k=0;k<e.widgets.length;k++)e.widgets[k].height&&(g+=e.widgets[k].height);return c?g+(Math.ceil(e.text.length/d)||1)*b:g+b}}function Gd(a){var b=a.doc,c=He(a);b.iter(function(a){var b=c(a);b!=a.height&&P(a,b)})}function vb(a,b,c,d){var e=a.display;if(!c&&"true"==(b.target||b.srcElement).getAttribute("cm-not-content"))return null;c=e.lineSpace.getBoundingClientRect();
+try{var g=b.clientX-c.left;var k=b.clientY-c.top}catch(he){return null}b=Dd(a,g,k);var l;d&&1==b.xRel&&(l=I(a.doc,b.line).text).length==b.ch&&(d=m(l,l.length,a.options.tabSize)-l.length,b=H(b.line,Math.max(0,Math.round((g-ve(a.display).left)/ic(a.display))-d)));return b}function rb(a,b){if(b>=a.display.viewTo)return null;b-=a.display.viewFrom;if(0>b)return null;a=a.display.view;for(var c=0;c<a.length;c++)if(b-=a[c].size,0>b)return c}function kc(a){a.display.input.showSelection(a.display.input.prepareSelection())}
+function Ie(a,b){void 0===b&&(b=!0);for(var c=a.doc,d={},e=d.cursors=document.createDocumentFragment(),g=d.selection=document.createDocumentFragment(),k=0;k<c.sel.ranges.length;k++)if(b||k!=c.sel.primIndex){var l=c.sel.ranges[k];if(!(l.from().line>=a.display.viewTo||l.to().line<a.display.viewFrom)){var m=l.empty();(m||a.options.showCursorWhenSelecting)&&Je(a,l.head,e);m||rg(a,l,g)}}return d}function Je(a,b,d){b=Qa(a,b,"div",null,null,!a.options.singleCursorHeightPerLine);var e=d.appendChild(c("div",
+"\u00a0","CodeMirror-cursor"));e.style.left=b.left+"px";e.style.top=b.top+"px";e.style.height=Math.max(0,b.bottom-b.top)*a.options.cursorHeight+"px";b.other&&(a=d.appendChild(c("div","\u00a0","CodeMirror-cursor CodeMirror-secondarycursor")),a.style.display="",a.style.left=b.other.left+"px",a.style.top=b.other.top+"px",a.style.height=.85*(b.other.bottom-b.other.top)+"px")}function Yc(a,b){return a.top-b.top||a.left-b.left}function rg(a,b,d){function e(a,b,d,e){0>b&&(b=0);b=Math.round(b);e=Math.round(e);
+m.appendChild(c("div",null,"CodeMirror-selected","position: absolute; left: "+a+"px;\n                             top: "+b+"px; width: "+(null==d?J-a:d)+"px;\n                             height: "+(e-b)+"px"))}function g(b,c,d){function g(c,d){return Bd(a,H(b,c),"div",m,d)}function k(b,c,d){b=Ge(a,m,null,b);c="ltr"==c==("after"==d)?"left":"right";d="after"==d?b.begin:b.end-(/\s/.test(m.text.charAt(b.end-1))?2:1);return g(d,c)[c]}var m=I(l,b),r=m.text.length,u,h,v=Ca(m,l.direction);qd(v,c||0,null==
+d?r:d,function(a,b,l,m){var n="ltr"==l,w=g(a,n?"left":"right"),p=g(b-1,n?"right":"left"),la=null==c&&0==a,D=null==d&&b==r,x=0==m;m=!v||m==v.length-1;3>=p.top-w.top?(b=(f?la:D)&&x?t:(n?w:p).left,e(b,w.top,((f?D:la)&&m?J:(n?p:w).right)-b,w.bottom)):(n?(n=f&&la&&x?t:w.left,la=f?J:k(a,l,"before"),a=f?t:k(b,l,"after"),D=f&&D&&m?J:p.right):(n=f?k(a,l,"before"):t,la=!f&&la&&x?J:w.right,a=!f&&D&&m?t:p.left,D=f?k(b,l,"after"):J),e(n,w.top,la-n,w.bottom),w.bottom<p.top&&e(t,w.bottom,null,p.top),e(a,p.top,D-
+a,p.bottom));if(!u||0>Yc(w,u))u=w;0>Yc(p,u)&&(u=p);if(!h||0>Yc(w,h))h=w;0>Yc(p,h)&&(h=p)});return{start:u,end:h}}var k=a.display,l=a.doc,m=document.createDocumentFragment(),r=ve(a.display),t=r.left,J=Math.max(k.sizerWidth,qb(a)-k.sizer.offsetLeft)-r.right,f="ltr"==l.direction;k=b.from();b=b.to();if(k.line==b.line)g(k.line,k.ch,b.ch);else{var u=I(l,k.line);r=I(l,b.line);r=Ga(u)==Ga(r);k=g(k.line,k.ch,r?u.text.length+1:null).end;b=g(b.line,r?0:null,b.ch).start;r&&(k.top<b.top-2?(e(k.right,k.top,null,
+k.bottom),e(t,b.top,b.left,b.bottom)):e(k.right,k.top,b.left-k.right,k.bottom));k.bottom<b.top&&e(t,k.bottom,null,b.top)}d.appendChild(m)}function Hd(a){if(a.state.focused){var b=a.display;clearInterval(b.blinker);var c=!0;b.cursorDiv.style.visibility="";0<a.options.cursorBlinkRate?b.blinker=setInterval(function(){return b.cursorDiv.style.visibility=(c=!c)?"":"hidden"},a.options.cursorBlinkRate):0>a.options.cursorBlinkRate&&(b.cursorDiv.style.visibility="hidden")}}function Ke(a){a.state.focused||
+(a.display.input.focus(),Id(a))}function Le(a){a.state.delayingBlurEvent=!0;setTimeout(function(){a.state.delayingBlurEvent&&(a.state.delayingBlurEvent=!1,lc(a))},100)}function Id(a,b){a.state.delayingBlurEvent&&(a.state.delayingBlurEvent=!1);"nocursor"!=a.options.readOnly&&(a.state.focused||(da(a,"focus",a,b),a.state.focused=!0,g(a.display.wrapper,"CodeMirror-focused"),a.curOp||a.display.selForContextMenu==a.doc.sel||(a.display.input.reset(),sa&&setTimeout(function(){return a.display.input.reset(!0)},
+20)),a.display.input.receivedFocus()),Hd(a))}function lc(a,b){a.state.delayingBlurEvent||(a.state.focused&&(da(a,"blur",a,b),a.state.focused=!1,wb(a.display.wrapper,"CodeMirror-focused")),clearInterval(a.display.blinker),setTimeout(function(){a.state.focused||(a.display.shift=!1)},150))}function Zc(a){a=a.display;for(var b=a.lineDiv.offsetTop,c=0;c<a.view.length;c++){var d=a.view[c];if(!d.hidden){if(V&&8>ca){var e=d.node.offsetTop+d.node.offsetHeight;var g=e-b;b=e}else g=d.node.getBoundingClientRect(),
+g=g.bottom-g.top;e=d.line.height-g;2>g&&(g=tb(a));if(.005<e||-.005>e)if(P(d.line,g),Me(d.line),d.rest)for(g=0;g<d.rest.length;g++)Me(d.rest[g])}}}function Me(a){if(a.widgets)for(var b=0;b<a.widgets.length;++b)a.widgets[b].height=a.widgets[b].node.parentNode.offsetHeight}function Jd(a,b,c){var d=c&&null!=c.top?Math.max(0,c.top):a.scroller.scrollTop;d=Math.floor(d-a.lineSpace.offsetTop);var e=c&&null!=c.bottom?c.bottom:d+a.wrapper.clientHeight;d=S(b,d);e=S(b,e);if(c&&c.ensure){var g=c.ensure.from.line;
+c=c.ensure.to.line;g<d?(d=g,e=S(b,Ha(I(b,g))+a.wrapper.clientHeight)):Math.min(c,b.lastLine())>=e&&(d=S(b,Ha(I(b,c))-a.wrapper.clientHeight),e=c)}return{from:d,to:Math.max(e,d+1)}}function Ne(a){var b=a.display,c=b.view;if(b.alignWidgets||b.gutters.firstChild&&a.options.fixedGutter){for(var d=Fd(b)-b.scroller.scrollLeft+a.doc.scrollLeft,e=b.gutters.offsetWidth,g=d+"px",k=0;k<c.length;k++)if(!c[k].hidden){a.options.fixedGutter&&(c[k].gutter&&(c[k].gutter.style.left=g),c[k].gutterBackground&&(c[k].gutterBackground.style.left=
+g));var l=c[k].alignable;if(l)for(var m=0;m<l.length;m++)l[m].style.left=g}a.options.fixedGutter&&(b.gutters.style.left=d+e+"px")}}function Oe(a){if(!a.options.lineNumbers)return!1;var b=a.doc;b=Z(a.options,b.first+b.size-1);var d=a.display;if(b.length!=d.lineNumChars){var e=d.measure.appendChild(c("div",[c("div",b)],"CodeMirror-linenumber CodeMirror-gutter-elt")),g=e.firstChild.offsetWidth;e=e.offsetWidth-g;d.lineGutter.style.width="";d.lineNumInnerWidth=Math.max(g,d.lineGutter.offsetWidth-e)+1;
+d.lineNumWidth=d.lineNumInnerWidth+e;d.lineNumChars=d.lineNumInnerWidth?b.length:-1;d.lineGutter.style.width=d.lineNumWidth+"px";Kd(a);return!0}return!1}function Ld(a,b){var c=a.display,d=tb(a.display);0>b.top&&(b.top=0);var e=a.curOp&&null!=a.curOp.scrollTop?a.curOp.scrollTop:c.scroller.scrollTop,g=wd(a),k={};b.bottom-b.top>g&&(b.bottom=b.top+g);var l=a.doc.height+vd(c),m=b.top<d;d=b.bottom>l-d;b.top<e?k.scrollTop=m?0:b.top:b.bottom>e+g&&(g=Math.min(b.top,(d?l:b.bottom)-g),g!=e&&(k.scrollTop=g));
+e=a.curOp&&null!=a.curOp.scrollLeft?a.curOp.scrollLeft:c.scroller.scrollLeft;a=qb(a)-(a.options.fixedGutter?c.gutters.offsetWidth:0);if(c=b.right-b.left>a)b.right=b.left+a;10>b.left?k.scrollLeft=0:b.left<e?k.scrollLeft=Math.max(0,b.left-(c?0:10)):b.right>a+e-3&&(k.scrollLeft=b.right+(c?0:10)-a);return k}function $c(a,b){null!=b&&(ad(a),a.curOp.scrollTop=(null==a.curOp.scrollTop?a.doc.scrollTop:a.curOp.scrollTop)+b)}function Kb(a){ad(a);var b=a.getCursor();a.curOp.scrollToPos={from:b,to:b,margin:a.options.cursorScrollMargin}}
+function mc(a,b,c){null==b&&null==c||ad(a);null!=b&&(a.curOp.scrollLeft=b);null!=c&&(a.curOp.scrollTop=c)}function ad(a){var b=a.curOp.scrollToPos;if(b){a.curOp.scrollToPos=null;var c=Ee(a,b.from),d=Ee(a,b.to);Pe(a,c,d,b.margin)}}function Pe(a,b,c,d){b=Ld(a,{left:Math.min(b.left,c.left),top:Math.min(b.top,c.top)-d,right:Math.max(b.right,c.right),bottom:Math.max(b.bottom,c.bottom)+d});mc(a,b.scrollLeft,b.scrollTop)}function nc(a,b){2>Math.abs(a.doc.scrollTop-b)||(eb||Md(a,{top:b}),Qe(a,b,!0),eb&&Md(a),
+oc(a,100))}function Qe(a,b,c){b=Math.min(a.display.scroller.scrollHeight-a.display.scroller.clientHeight,b);if(a.display.scroller.scrollTop!=b||c)a.doc.scrollTop=b,a.display.scrollbars.setScrollTop(b),a.display.scroller.scrollTop!=b&&(a.display.scroller.scrollTop=b)}function xb(a,b,c,d){b=Math.min(b,a.display.scroller.scrollWidth-a.display.scroller.clientWidth);(c?b==a.doc.scrollLeft:2>Math.abs(a.doc.scrollLeft-b))&&!d||(a.doc.scrollLeft=b,Ne(a),a.display.scroller.scrollLeft!=b&&(a.display.scroller.scrollLeft=
+b),a.display.scrollbars.setScrollLeft(b))}function pc(a){var b=a.display,c=b.gutters.offsetWidth,d=Math.round(a.doc.height+vd(a.display));return{clientHeight:b.scroller.clientHeight,viewHeight:b.wrapper.clientHeight,scrollWidth:b.scroller.scrollWidth,clientWidth:b.scroller.clientWidth,viewWidth:b.wrapper.clientWidth,barLeft:a.options.fixedGutter?c:0,docHeight:d,scrollHeight:d+Xa(a)+b.barHeight,nativeBarWidth:b.nativeBarWidth,gutterWidth:c}}function Lb(a,b){b||(b=pc(a));var c=a.display.barWidth,d=
+a.display.barHeight;Re(a,b);for(b=0;4>b&&c!=a.display.barWidth||d!=a.display.barHeight;b++)c!=a.display.barWidth&&a.options.lineWrapping&&Zc(a),Re(a,pc(a)),c=a.display.barWidth,d=a.display.barHeight}function Re(a,b){var c=a.display,d=c.scrollbars.update(b);c.sizer.style.paddingRight=(c.barWidth=d.right)+"px";c.sizer.style.paddingBottom=(c.barHeight=d.bottom)+"px";c.heightForcer.style.borderBottom=d.bottom+"px solid transparent";d.right&&d.bottom?(c.scrollbarFiller.style.display="block",c.scrollbarFiller.style.height=
+d.bottom+"px",c.scrollbarFiller.style.width=d.right+"px"):c.scrollbarFiller.style.display="";d.bottom&&a.options.coverGutterNextToScrollbar&&a.options.fixedGutter?(c.gutterFiller.style.display="block",c.gutterFiller.style.height=d.bottom+"px",c.gutterFiller.style.width=b.gutterWidth+"px"):c.gutterFiller.style.display=""}function Se(a){a.display.scrollbars&&(a.display.scrollbars.clear(),a.display.scrollbars.addClass&&wb(a.display.wrapper,a.display.scrollbars.addClass));a.display.scrollbars=new Te[a.options.scrollbarStyle](function(b){a.display.wrapper.insertBefore(b,
+a.display.scrollbarFiller);T(b,"mousedown",function(){a.state.focused&&setTimeout(function(){return a.display.input.focus()},0)});b.setAttribute("cm-not-content","true")},function(b,c){"horizontal"==c?xb(a,b):nc(a,b)},a);a.display.scrollbars.addClass&&g(a.display.wrapper,a.display.scrollbars.addClass)}function yb(a){a.curOp={cm:a,viewChanged:!1,startHeight:a.doc.height,forceUpdate:!1,updateInput:null,typing:!1,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:!1,
+updateMaxLine:!1,scrollLeft:null,scrollTop:null,scrollToPos:null,focus:!1,id:++sg};a=a.curOp;Jb?Jb.ops.push(a):a.ownsGroup=Jb={ops:[a],delayedCallbacks:[]}}function zb(a){lg(a.curOp,function(a){for(var b=0;b<a.ops.length;b++)a.ops[b].cm.curOp=null;a=a.ops;for(b=0;b<a.length;b++){var d=a[b],g=d.cm,k=g.display,l=g.display;!l.scrollbarsClipped&&l.scroller.offsetWidth&&(l.nativeBarWidth=l.scroller.offsetWidth-l.scroller.clientWidth,l.heightForcer.style.height=Xa(g)+"px",l.sizer.style.marginBottom=-l.nativeBarWidth+
+"px",l.sizer.style.borderRightWidth=Xa(g)+"px",l.scrollbarsClipped=!0);d.updateMaxLine&&ab(g);d.mustUpdate=d.viewChanged||d.forceUpdate||null!=d.scrollTop||d.scrollToPos&&(d.scrollToPos.from.line<k.viewFrom||d.scrollToPos.to.line>=k.viewTo)||k.maxLineChanged&&g.options.lineWrapping;d.update=d.mustUpdate&&new bd(g,d.mustUpdate&&{top:d.scrollTop,ensure:d.scrollToPos},d.forceUpdate)}for(b=0;b<a.length;b++)d=a[b],d.updatedDisplay=d.mustUpdate&&Nd(d.cm,d.update);for(b=0;b<a.length;b++)if(d=a[b],g=d.cm,
+k=g.display,d.updatedDisplay&&Zc(g),d.barMeasure=pc(g),k.maxLineChanged&&!g.options.lineWrapping&&(l=k.maxLine.text.length,l=Pa(g,sb(g,k.maxLine),l,void 0),d.adjustWidthTo=l.left+3,g.display.sizerWidth=d.adjustWidthTo,d.barMeasure.scrollWidth=Math.max(k.scroller.clientWidth,k.sizer.offsetLeft+d.adjustWidthTo+Xa(g)+g.display.barWidth),d.maxScrollLeft=Math.max(0,k.sizer.offsetLeft+d.adjustWidthTo-qb(g))),d.updatedDisplay||d.selectionChanged)d.preparedSelection=k.input.prepareSelection();for(b=0;b<a.length;b++)d=
+a[b],g=d.cm,null!=d.adjustWidthTo&&(g.display.sizer.style.minWidth=d.adjustWidthTo+"px",d.maxScrollLeft<g.doc.scrollLeft&&xb(g,Math.min(g.display.scroller.scrollLeft,d.maxScrollLeft),!0),g.display.maxLineChanged=!1),k=d.focus&&d.focus==e(),d.preparedSelection&&g.display.input.showSelection(d.preparedSelection,k),(d.updatedDisplay||d.startHeight!=g.doc.height)&&Lb(g,d.barMeasure),d.updatedDisplay&&Od(g,d.barMeasure),d.selectionChanged&&Hd(g),g.state.focused&&d.updateInput&&g.display.input.reset(d.typing),
+k&&Ke(d.cm);for(b=0;b<a.length;b++){var m=void 0;d=a[b];g=d.cm;k=g.display;l=g.doc;d.updatedDisplay&&Ue(g,d.update);null==k.wheelStartX||null==d.scrollTop&&null==d.scrollLeft&&!d.scrollToPos||(k.wheelStartX=k.wheelStartY=null);null!=d.scrollTop&&Qe(g,d.scrollTop,d.forceScroll);null!=d.scrollLeft&&xb(g,d.scrollLeft,!0,!0);if(d.scrollToPos){var r=R(l,d.scrollToPos.from),t=R(l,d.scrollToPos.to),f=d.scrollToPos.margin;null==f&&(f=0);g.options.lineWrapping||r!=t||(r=r.ch?H(r.line,"before"==r.sticky?r.ch-
+1:r.ch,"after"):r,t="before"==r.sticky?H(r.line,r.ch+1,"before"):r);for(var u=0;5>u;u++){var J=!1;m=Qa(g,r);var h=t&&t!=r?Qa(g,t):m;m={left:Math.min(m.left,h.left),top:Math.min(m.top,h.top)-f,right:Math.max(m.left,h.left),bottom:Math.max(m.bottom,h.bottom)+f};h=Ld(g,m);var v=g.doc.scrollTop,n=g.doc.scrollLeft;null!=h.scrollTop&&(nc(g,h.scrollTop),1<Math.abs(g.doc.scrollTop-v)&&(J=!0));null!=h.scrollLeft&&(xb(g,h.scrollLeft),1<Math.abs(g.doc.scrollLeft-n)&&(J=!0));if(!J)break}t=m;ia(g,"scrollCursorIntoView")||
+(f=g.display,u=f.sizer.getBoundingClientRect(),r=null,0>t.top+u.top?r=!0:t.bottom+u.top>(window.innerHeight||document.documentElement.clientHeight)&&(r=!1),null==r||tg||(t=c("div","\u200b",null,"position: absolute;\n                         top: "+(t.top-f.viewOffset-g.display.lineSpace.offsetTop)+"px;\n                         height: "+(t.bottom-t.top+Xa(g)+f.barHeight)+"px;\n                         left: "+t.left+"px; width: "+Math.max(2,t.right-t.left)+"px;"),g.display.lineSpace.appendChild(t),
+t.scrollIntoView(r),g.display.lineSpace.removeChild(t)))}t=d.maybeHiddenMarkers;r=d.maybeUnhiddenMarkers;if(t)for(f=0;f<t.length;++f)t[f].lines.length||da(t[f],"hide");if(r)for(t=0;t<r.length;++t)r[t].lines.length&&da(r[t],"unhide");k.wrapper.offsetHeight&&(l.scrollTop=g.display.scroller.scrollTop);d.changeObjs&&da(g,"changes",g,d.changeObjs);d.update&&d.update.finish()}})}function Ea(a,b){if(a.curOp)return b();yb(a);try{return b()}finally{zb(a)}}function oa(a,b){return function(){if(a.curOp)return b.apply(a,
+arguments);yb(a);try{return b.apply(a,arguments)}finally{zb(a)}}}function ua(a){return function(){if(this.curOp)return a.apply(this,arguments);yb(this);try{return a.apply(this,arguments)}finally{zb(this)}}}function pa(a){return function(){var b=this.cm;if(!b||b.curOp)return a.apply(this,arguments);yb(b);try{return a.apply(this,arguments)}finally{zb(b)}}}function ya(a,b,c,d){null==b&&(b=a.doc.first);null==c&&(c=a.doc.first+a.doc.size);d||(d=0);var e=a.display;d&&c<e.viewTo&&(null==e.updateLineNumbers||
+e.updateLineNumbers>b)&&(e.updateLineNumbers=b);a.curOp.viewChanged=!0;if(b>=e.viewTo)fb&&Xb(a.doc,b)<e.viewTo&&jb(a);else if(c<=e.viewFrom)fb&&Nc(a.doc,c+d)>e.viewFrom?jb(a):(e.viewFrom+=d,e.viewTo+=d);else if(b<=e.viewFrom&&c>=e.viewTo)jb(a);else if(b<=e.viewFrom){var g=cd(a,c,c+d,1);g?(e.view=e.view.slice(g.index),e.viewFrom=g.lineN,e.viewTo+=d):jb(a)}else if(c>=e.viewTo)(g=cd(a,b,b,-1))?(e.view=e.view.slice(0,g.index),e.viewTo=g.lineN):jb(a);else{g=cd(a,b,b,-1);var k=cd(a,c,c+d,1);g&&k?(e.view=
+e.view.slice(0,g.index).concat(Uc(a,g.lineN,k.lineN)).concat(e.view.slice(k.index)),e.viewTo+=d):jb(a)}if(a=e.externalMeasured)c<a.lineN?a.lineN+=d:b<a.lineN+a.size&&(e.externalMeasured=null)}function kb(a,b,c){a.curOp.viewChanged=!0;var d=a.display,e=a.display.externalMeasured;e&&b>=e.lineN&&b<e.lineN+e.size&&(d.externalMeasured=null);b<d.viewFrom||b>=d.viewTo||(a=d.view[rb(a,b)],null!=a.node&&(a=a.changes||(a.changes=[]),-1==r(a,c)&&a.push(c)))}function jb(a){a.display.viewFrom=a.display.viewTo=
+a.doc.first;a.display.view=[];a.display.viewOffset=0}function cd(a,b,c,d){var e=rb(a,b),g=a.display.view;if(!fb||c==a.doc.first+a.doc.size)return{index:e,lineN:c};for(var k=a.display.viewFrom,l=0;l<e;l++)k+=g[l].size;if(k!=b){if(0<d){if(e==g.length-1)return null;b=k+g[e].size-b;e++}else b=k-b;c+=b}for(;Xb(a.doc,c)!=c;){if(e==(0>d?0:g.length-1))return null;c+=d*g[e-(0>d?1:0)].size;e+=d}return{index:e,lineN:c}}function Ve(a){a=a.display.view;for(var b=0,c=0;c<a.length;c++){var d=a[c];d.hidden||d.node&&
+!d.changes||++b}return b}function oc(a,b){a.doc.highlightFrontier<a.display.viewTo&&a.state.highlight.set(b,k(ug,a))}function ug(a){var b=a.doc;if(!(b.highlightFrontier>=a.display.viewTo)){var c=+new Date+a.options.workTime,d=Va(a,b.highlightFrontier),e=[];b.iter(d.line,Math.min(b.first+b.size,a.display.viewTo+500),function(g){if(d.line>=a.display.viewFrom){var k=g.styles,l=g.text.length>a.options.maxHighlightLength?Oa(b.mode,d.state):null,m=Sc(a,g,d,!0);l&&(d.state=l);g.styles=m.styles;l=g.styleClasses;
+(m=m.classes)?g.styleClasses=m:l&&(g.styleClasses=null);m=!k||k.length!=g.styles.length||l!=m&&(!l||!m||l.bgClass!=m.bgClass||l.textClass!=m.textClass);for(l=0;!m&&l<k.length;++l)m=k[l]!=g.styles[l];m&&e.push(d.line);g.stateAfter=d.save()}else g.text.length<=a.options.maxHighlightLength&&cc(a,g.text,d),g.stateAfter=0==d.line%5?d.save():null;d.nextLine();if(+new Date>c)return oc(a,a.options.workDelay),!0});b.highlightFrontier=d.line;b.modeFrontier=Math.max(b.modeFrontier,d.line);e.length&&Ea(a,function(){for(var b=
+0;b<e.length;b++)kb(a,e[b],"text")})}}function Nd(a,b){var c=a.display,g=a.doc;if(b.editorIsHidden)return jb(a),!1;if(!b.force&&b.visible.from>=c.viewFrom&&b.visible.to<=c.viewTo&&(null==c.updateLineNumbers||c.updateLineNumbers>=c.viewTo)&&c.renderedView==c.view&&0==Ve(a))return!1;Oe(a)&&(jb(a),b.dims=yd(a));var k=g.first+g.size,l=Math.max(b.visible.from-a.options.viewportMargin,g.first),m=Math.min(k,b.visible.to+a.options.viewportMargin);c.viewFrom<l&&20>l-c.viewFrom&&(l=Math.max(g.first,c.viewFrom));
+c.viewTo>m&&20>c.viewTo-m&&(m=Math.min(k,c.viewTo));fb&&(l=Xb(a.doc,l),m=Nc(a.doc,m));g=l!=c.viewFrom||m!=c.viewTo||c.lastWrapHeight!=b.wrapperHeight||c.lastWrapWidth!=b.wrapperWidth;k=a.display;0==k.view.length||l>=k.viewTo||m<=k.viewFrom?(k.view=Uc(a,l,m),k.viewFrom=l):(k.viewFrom>l?k.view=Uc(a,l,k.viewFrom).concat(k.view):k.viewFrom<l&&(k.view=k.view.slice(rb(a,l))),k.viewFrom=l,k.viewTo<m?k.view=k.view.concat(Uc(a,k.viewTo,m)):k.viewTo>m&&(k.view=k.view.slice(0,rb(a,m))));k.viewTo=m;c.viewOffset=
+Ha(I(a.doc,c.viewFrom));a.display.mover.style.top=c.viewOffset+"px";m=Ve(a);if(!g&&0==m&&!b.force&&c.renderedView==c.view&&(null==c.updateLineNumbers||c.updateLineNumbers>=c.viewTo))return!1;a.hasFocus()?l=null:(l=e())&&d(a.display.lineDiv,l)?(l={activeElt:l},window.getSelection&&(k=window.getSelection(),k.anchorNode&&k.extend&&d(a.display.lineDiv,k.anchorNode)&&(l.anchorNode=k.anchorNode,l.anchorOffset=k.anchorOffset,l.focusNode=k.focusNode,l.focusOffset=k.focusOffset))):l=null;4<m&&(c.lineDiv.style.display=
+"none");vg(a,c.updateLineNumbers,b.dims);4<m&&(c.lineDiv.style.display="");c.renderedView=c.view;(m=l)&&m.activeElt&&m.activeElt!=e()&&(m.activeElt.focus(),m.anchorNode&&d(document.body,m.anchorNode)&&d(document.body,m.focusNode)&&(l=window.getSelection(),k=document.createRange(),k.setEnd(m.anchorNode,m.anchorOffset),k.collapse(!1),l.removeAllRanges(),l.addRange(k),l.extend(m.focusNode,m.focusOffset)));f(c.cursorDiv);f(c.selectionDiv);c.gutters.style.height=c.sizer.style.minHeight=0;g&&(c.lastWrapHeight=
+b.wrapperHeight,c.lastWrapWidth=b.wrapperWidth,oc(a,400));c.updateLineNumbers=null;return!0}function Ue(a,b){for(var c=b.viewport,d=!0;;d=!1){if(!d||!a.options.lineWrapping||b.oldDisplayWidth==qb(a))if(c&&null!=c.top&&(c={top:Math.min(a.doc.height+vd(a.display)-wd(a),c.top)}),b.visible=Jd(a.display,a.doc,c),b.visible.from>=a.display.viewFrom&&b.visible.to<=a.display.viewTo)break;if(!Nd(a,b))break;Zc(a);d=pc(a);kc(a);Lb(a,d);Od(a,d);b.force=!1}b.signal(a,"update",a);if(a.display.viewFrom!=a.display.reportedViewFrom||
+a.display.viewTo!=a.display.reportedViewTo)b.signal(a,"viewportChange",a,a.display.viewFrom,a.display.viewTo),a.display.reportedViewFrom=a.display.viewFrom,a.display.reportedViewTo=a.display.viewTo}function Md(a,b){b=new bd(a,b);if(Nd(a,b)){Zc(a);Ue(a,b);var c=pc(a);kc(a);Lb(a,c);Od(a,c);b.finish()}}function vg(a,b,c){function d(b){var c=b.nextSibling;sa&&Ma&&a.display.currentWheelTarget==b?b.style.display="none":b.parentNode.removeChild(b);return c}var e=a.display,g=a.options.lineNumbers,k=e.lineDiv,
+l=k.firstChild,m=e.view;e=e.viewFrom;for(var t=0;t<m.length;t++){var u=m[t];if(!u.hidden)if(u.node&&u.node.parentNode==k){for(;l!=u.node;)l=d(l);l=g&&null!=b&&b<=e&&u.lineNumber;u.changes&&(-1<r(u.changes,"gutter")&&(l=!1),qe(a,u,e,c));l&&(f(u.lineNumber),u.lineNumber.appendChild(document.createTextNode(Z(a.options,e))));l=u.node.nextSibling}else{var h=ng(a,u,e,c);k.insertBefore(h,l)}e+=u.size}for(;l;)l=d(l)}function Kd(a){a.display.sizer.style.marginLeft=a.display.gutters.offsetWidth+"px"}function Od(a,
+b){a.display.sizer.style.minHeight=b.docHeight+"px";a.display.heightForcer.style.top=b.docHeight+"px";a.display.gutters.style.height=b.docHeight+a.display.barHeight+Xa(a)+"px"}function We(a){var b=a.display.gutters,d=a.options.gutters;f(b);for(var e=0;e<d.length;++e){var g=d[e],k=b.appendChild(c("div",null,"CodeMirror-gutter "+g));"CodeMirror-linenumbers"==g&&(a.display.lineGutter=k,k.style.width=(a.display.lineNumWidth||1)+"px")}b.style.display=e?"":"none";Kd(a)}function Pd(a){var b=r(a.gutters,
+"CodeMirror-linenumbers");-1==b&&a.lineNumbers?a.gutters=a.gutters.concat(["CodeMirror-linenumbers"]):-1<b&&!a.lineNumbers&&(a.gutters=a.gutters.slice(0),a.gutters.splice(b,1))}function Xe(a){var b=a.wheelDeltaX,c=a.wheelDeltaY;null==b&&a.detail&&a.axis==a.HORIZONTAL_AXIS&&(b=a.detail);null==c&&a.detail&&a.axis==a.VERTICAL_AXIS?c=a.detail:null==c&&(c=a.wheelDelta);return{x:b,y:c}}function wg(a){a=Xe(a);a.x*=Ia;a.y*=Ia;return a}function Ye(a,b){var c=Xe(b),d=c.x;c=c.y;var e=a.display,g=e.scroller,
+k=g.scrollWidth>g.clientWidth,l=g.scrollHeight>g.clientHeight;if(d&&k||c&&l){if(c&&Ma&&sa){k=b.target;var m=e.view;a:for(;k!=g;k=k.parentNode)for(var r=0;r<m.length;r++)if(m[r].node==k){a.display.currentWheelTarget=k;break a}}!d||eb||Ra||null==Ia?(c&&null!=Ia&&(b=c*Ia,l=a.doc.scrollTop,k=l+e.wrapper.clientHeight,0>b?l=Math.max(0,l+b-50):k=Math.min(a.doc.height,k+b+50),Md(a,{top:l,bottom:k})),20>dd&&(null==e.wheelStartX?(e.wheelStartX=g.scrollLeft,e.wheelStartY=g.scrollTop,e.wheelDX=d,e.wheelDY=c,
+setTimeout(function(){if(null!=e.wheelStartX){var a=g.scrollLeft-e.wheelStartX,b=g.scrollTop-e.wheelStartY;a=b&&e.wheelDY&&b/e.wheelDY||a&&e.wheelDX&&a/e.wheelDX;e.wheelStartX=e.wheelStartY=null;a&&(Ia=(Ia*dd+a)/(dd+1),++dd)}},200)):(e.wheelDX+=d,e.wheelDY+=c))):(c&&l&&nc(a,Math.max(0,g.scrollTop+c*Ia)),xb(a,Math.max(0,g.scrollLeft+d*Ia)),(!c||c&&l)&&na(b),e.wheelStartX=null)}}function Sa(a,b){b=a[b];a.sort(function(a,b){return Q(a.from(),b.from())});b=r(a,b);for(var c=1;c<a.length;c++){var d=a[c],
+e=a[c-1];if(0<=Q(e.to(),d.from())){var g=fa(e.from(),d.from()),k=ka(e.to(),d.to());d=e.empty()?d.from()==d.head:e.from()==e.head;c<=b&&--b;a.splice(--c,2,new W(d?k:g,d?g:k))}}return new Ja(a,b)}function db(a,b){return new Ja([new W(a,b||a)],0)}function lb(a){return a.text?H(a.from.line+a.text.length-1,w(a.text).length+(1==a.text.length?a.from.ch:0)):a.to}function Ze(a,b){if(0>Q(a,b.from))return a;if(0>=Q(a,b.to))return lb(b);var c=a.line+b.text.length-(b.to.line-b.from.line)-1,d=a.ch;a.line==b.to.line&&
+(d+=lb(b).ch-b.to.ch);return H(c,d)}function Qd(a,b){for(var c=[],d=0;d<a.sel.ranges.length;d++){var e=a.sel.ranges[d];c.push(new W(Ze(e.anchor,b),Ze(e.head,b)))}return Sa(c,a.sel.primIndex)}function $e(a,b,c){return a.line==b.line?H(c.line,a.ch-b.ch+c.ch):H(c.line+(a.line-b.line),a.ch)}function Rd(a){a.doc.mode=Na(a.options,a.doc.modeOption);qc(a)}function qc(a){a.doc.iter(function(a){a.stateAfter&&(a.stateAfter=null);a.styles&&(a.styles=null)});a.doc.modeFrontier=a.doc.highlightFrontier=a.doc.first;
+oc(a,100);a.state.modeGen++;a.curOp&&ya(a)}function af(a,b){return 0==b.from.ch&&0==b.to.ch&&""==w(b.text)&&(!a.cm||a.cm.options.wholeLineUpdateBefore)}function Sd(a,b,c,d){function e(a,c,e){a.text=c;a.stateAfter&&(a.stateAfter=null);a.styles&&(a.styles=null);null!=a.order&&(a.order=null);Eb(a);Aa(a,e);c=d?d(a):1;c!=a.height&&P(a,c);qa(a,"change",a,b)}function g(a,b){for(var e=[];a<b;++a)e.push(new Mb(m[a],c?c[a]:null,d));return e}var k=b.from,l=b.to,m=b.text,r=I(a,k.line),t=I(a,l.line),f=w(m),u=
+c?c[m.length-1]:null,h=l.line-k.line;b.full?(a.insert(0,g(0,m.length)),a.remove(m.length,a.size-m.length)):af(a,b)?(l=g(0,m.length-1),e(t,t.text,u),h&&a.remove(k.line,h),l.length&&a.insert(k.line,l)):r==t?1==m.length?e(r,r.text.slice(0,k.ch)+f+r.text.slice(l.ch),u):(h=g(1,m.length-1),h.push(new Mb(f+r.text.slice(l.ch),u,d)),e(r,r.text.slice(0,k.ch)+m[0],c?c[0]:null),a.insert(k.line+1,h)):1==m.length?(e(r,r.text.slice(0,k.ch)+m[0]+t.text.slice(l.ch),c?c[0]:null),a.remove(k.line+1,h)):(e(r,r.text.slice(0,
+k.ch)+m[0],c?c[0]:null),e(t,f+t.text.slice(l.ch),u),u=g(1,m.length-1),1<h&&a.remove(k.line+1,h-1),a.insert(k.line+1,u));qa(a,"change",a,b)}function Ab(a,b,c){function d(a,e,g){if(a.linked)for(var k=0;k<a.linked.length;++k){var l=a.linked[k];if(l.doc!=e){var m=g&&l.sharedHist;if(!c||m)b(l.doc,m),d(l.doc,a,m)}}}d(a,null,!0)}function bf(a,b){if(b.cm)throw Error("This document is already in use.");a.doc=b;b.cm=a;Gd(a);Rd(a);cf(a);a.options.lineWrapping||ab(a);a.options.mode=b.modeOption;ya(a)}function cf(a){("rtl"==
+a.doc.direction?g:wb)(a.display.lineDiv,"CodeMirror-rtl")}function xg(a){Ea(a,function(){cf(a);ya(a)})}function ed(a){this.done=[];this.undone=[];this.undoDepth=Infinity;this.lastModTime=this.lastSelTime=0;this.lastOrigin=this.lastSelOrigin=this.lastOp=this.lastSelOp=null;this.generation=this.maxGeneration=a||1}function Td(a,b){var c={from:ba(b.from),to:lb(b),text:O(a,b.from,b.to)};df(a,c,b.from.line,b.to.line+1);Ab(a,function(a){return df(a,c,b.from.line,b.to.line+1)},!0);return c}function ef(a){for(;a.length;)if(w(a).ranges)a.pop();
+else break}function ff(a,b,c,d){var e=a.history;e.undone.length=0;var g=+new Date,k;if(k=e.lastOp==d||e.lastOrigin==b.origin&&b.origin&&("+"==b.origin.charAt(0)&&a.cm&&e.lastModTime>g-a.cm.options.historyEventDelay||"*"==b.origin.charAt(0))){if(e.lastOp==d){ef(e.done);var l=w(e.done)}else e.done.length&&!w(e.done).ranges?l=w(e.done):1<e.done.length&&!e.done[e.done.length-2].ranges?(e.done.pop(),l=w(e.done)):l=void 0;k=l}if(k){var m=w(l.changes);0==Q(b.from,b.to)&&0==Q(b.from,m.to)?m.to=lb(b):l.changes.push(Td(a,
+b))}else for((l=w(e.done))&&l.ranges||fd(a.sel,e.done),l={changes:[Td(a,b)],generation:e.generation},e.done.push(l);e.done.length>e.undoDepth;)e.done.shift(),e.done[0].ranges||e.done.shift();e.done.push(c);e.generation=++e.maxGeneration;e.lastModTime=e.lastSelTime=g;e.lastOp=e.lastSelOp=d;e.lastOrigin=e.lastSelOrigin=b.origin;m||da(a,"historyAdded")}function fd(a,b){var c=w(b);c&&c.ranges&&c.equals(a)||b.push(a)}function df(a,b,c,d){var e=b["spans_"+a.id],g=0;a.iter(Math.max(a.first,c),Math.min(a.first+
+a.size,d),function(c){c.markedSpans&&((e||(e=b["spans_"+a.id]={}))[g]=c.markedSpans);++g})}function yg(a){if(!a)return null;for(var b,c=0;c<a.length;++c)a[c].marker.explicitlyCleared?b||(b=a.slice(0,c)):b&&b.push(a[c]);return b?b.length?b:null:a}function gf(a,b){var c;if(c=b["spans_"+a.id]){for(var d=[],e=0;e<b.text.length;++e)d.push(yg(c[e]));c=d}else c=null;a=Za(a,b);if(!c)return a;if(!a)return c;for(b=0;b<c.length;++b)if(d=c[b],e=a[b],d&&e){var g=0;a:for(;g<e.length;++g){for(var k=e[g],l=0;l<d.length;++l)if(d[l].marker==
+k.marker)continue a;d.push(k)}}else e&&(c[b]=e);return c}function Nb(a,b,c){for(var d=[],e=0;e<a.length;++e){var g=a[e];if(g.ranges)d.push(c?Ja.prototype.deepCopy.call(g):g);else{g=g.changes;var k=[];d.push({changes:k});for(var l=0;l<g.length;++l){var m=g[l],t;k.push({from:m.from,to:m.to,text:m.text});if(b)for(var f in m)(t=f.match(/^spans_(\d+)$/))&&-1<r(b,Number(t[1]))&&(w(k)[f]=m[f],delete m[f])}}}return d}function Ud(a,b,c,d){return d?(a=a.anchor,c&&(d=0>Q(b,a),d!=0>Q(c,a)?(a=b,b=c):d!=0>Q(b,
+c)&&(b=c)),new W(a,b)):new W(c||b,b)}function gd(a,b,c,d,e){null==e&&(e=a.cm&&(a.cm.display.shift||a.extend));ra(a,new Ja([Ud(a.sel.primary(),b,c,e)],0),d)}function hf(a,b,c){for(var d=[],e=a.cm&&(a.cm.display.shift||a.extend),g=0;g<a.sel.ranges.length;g++)d[g]=Ud(a.sel.ranges[g],b[g],null,e);b=Sa(d,a.sel.primIndex);ra(a,b,c)}function Vd(a,b,c,d){var e=a.sel.ranges.slice(0);e[b]=c;ra(a,Sa(e,a.sel.primIndex),d)}function zg(a,b,c){c={ranges:b.ranges,update:function(b){this.ranges=[];for(var c=0;c<b.length;c++)this.ranges[c]=
+new W(R(a,b[c].anchor),R(a,b[c].head))},origin:c&&c.origin};da(a,"beforeSelectionChange",a,c);a.cm&&da(a.cm,"beforeSelectionChange",a.cm,c);return c.ranges!=b.ranges?Sa(c.ranges,c.ranges.length-1):b}function jf(a,b,c){var d=a.history.done,e=w(d);e&&e.ranges?(d[d.length-1]=b,hd(a,b,c)):ra(a,b,c)}function ra(a,b,c){hd(a,b,c);b=a.sel;var d=a.cm?a.cm.curOp.id:NaN,e=a.history,g=c&&c.origin,k;if(!(k=d==e.lastSelOp)&&(k=g&&e.lastSelOrigin==g)&&!(k=e.lastModTime==e.lastSelTime&&e.lastOrigin==g)){k=w(e.done);
+var l=g.charAt(0);k="*"==l||"+"==l&&k.ranges.length==b.ranges.length&&k.somethingSelected()==b.somethingSelected()&&new Date-a.history.lastSelTime<=(a.cm?a.cm.options.historyEventDelay:500)}k?e.done[e.done.length-1]=b:fd(b,e.done);e.lastSelTime=+new Date;e.lastSelOrigin=g;e.lastSelOp=d;c&&!1!==c.clearRedo&&ef(e.undone)}function hd(a,b,c){if(Da(a,"beforeSelectionChange")||a.cm&&Da(a.cm,"beforeSelectionChange"))b=zg(a,b,c);var d=c&&c.bias||(0>Q(b.primary().head,a.sel.primary().head)?-1:1);kf(a,lf(a,
+b,d,!0));c&&!1===c.scroll||!a.cm||Kb(a.cm)}function kf(a,b){b.equals(a.sel)||(a.sel=b,a.cm&&(a.cm.curOp.updateInput=a.cm.curOp.selectionChanged=!0,$b(a.cm)),qa(a,"cursorActivity",a))}function mf(a){kf(a,lf(a,a.sel,null,!1))}function lf(a,b,c,d){for(var e,g=0;g<b.ranges.length;g++){var k=b.ranges[g],l=b.ranges.length==a.sel.ranges.length&&a.sel.ranges[g],m=Wd(a,k.anchor,l&&l.anchor,c,d);l=Wd(a,k.head,l&&l.head,c,d);if(e||m!=k.anchor||l!=k.head)e||(e=b.ranges.slice(0,g)),e[g]=new W(m,l)}return e?Sa(e,
+b.primIndex):b}function Ob(a,b,c,d,e){var g=I(a,b.line);if(g.markedSpans)for(var k=0;k<g.markedSpans.length;++k){var l=g.markedSpans[k],m=l.marker;if((null==l.from||(m.inclusiveLeft?l.from<=b.ch:l.from<b.ch))&&(null==l.to||(m.inclusiveRight?l.to>=b.ch:l.to>b.ch))){if(e&&(da(m,"beforeCursorEnter"),m.explicitlyCleared))if(g.markedSpans){--k;continue}else break;if(m.atomic){if(c){k=m.find(0>d?1:-1);l=void 0;if(0>d?m.inclusiveRight:m.inclusiveLeft)k=nf(a,k,-d,k&&k.line==b.line?g:null);if(k&&k.line==b.line&&
+(l=Q(k,c))&&(0>d?0>l:0<l))return Ob(a,k,b,d,e)}c=m.find(0>d?-1:1);if(0>d?m.inclusiveLeft:m.inclusiveRight)c=nf(a,c,d,c.line==b.line?g:null);return c?Ob(a,c,b,d,e):null}}}return b}function Wd(a,b,c,d,e){d=d||1;b=Ob(a,b,c,d,e)||!e&&Ob(a,b,c,d,!0)||Ob(a,b,c,-d,e)||!e&&Ob(a,b,c,-d,!0);return b?b:(a.cantEdit=!0,H(a.first,0))}function nf(a,b,c,d){return 0>c&&0==b.ch?b.line>a.first?R(a,H(b.line-1)):null:0<c&&b.ch==(d||I(a,b.line)).text.length?b.line<a.first+a.size-1?H(b.line+1,0):null:new H(b.line,b.ch+
+c)}function of(a){a.setSelection(H(a.firstLine(),0),H(a.lastLine()),Ya)}function pf(a,b,c){var d={canceled:!1,from:b.from,to:b.to,text:b.text,origin:b.origin,cancel:function(){return d.canceled=!0}};c&&(d.update=function(b,c,e,g){b&&(d.from=R(a,b));c&&(d.to=R(a,c));e&&(d.text=e);void 0!==g&&(d.origin=g)});da(a,"beforeChange",a,d);a.cm&&da(a.cm,"beforeChange",a.cm,d);return d.canceled?null:{from:d.from,to:d.to,text:d.text,origin:d.origin}}function Pb(a,b,c){if(a.cm){if(!a.cm.curOp)return oa(a.cm,Pb)(a,
+b,c);if(a.cm.state.suppressEdits)return}if(Da(a,"beforeChange")||a.cm&&Da(a.cm,"beforeChange"))if(b=pf(a,b,!0),!b)return;if(c=qf&&!c&&Wb(a,b.from,b.to))for(var d=c.length-1;0<=d;--d)rf(a,{from:c[d].from,to:c[d].to,text:d?[""]:b.text,origin:b.origin});else rf(a,b)}function rf(a,b){if(1!=b.text.length||""!=b.text[0]||0!=Q(b.from,b.to)){var c=Qd(a,b);ff(a,b,c,a.cm?a.cm.curOp.id:NaN);rc(a,b,c,Za(a,b));var d=[];Ab(a,function(a,c){c||-1!=r(d,a.history)||(sf(a.history,b),d.push(a.history));rc(a,b,null,Za(a,
+b))})}}function id(a,b,c){if(!a.cm||!a.cm.state.suppressEdits||c){for(var d=a.history,e,g=a.sel,k="undo"==b?d.done:d.undone,l="undo"==b?d.undone:d.done,m=0;m<k.length&&(e=k[m],c?!e.ranges||e.equals(a.sel):e.ranges);m++);if(m!=k.length){for(d.lastOrigin=d.lastSelOrigin=null;;)if(e=k.pop(),e.ranges){fd(e,l);if(c&&!e.equals(a.sel)){ra(a,e,{clearRedo:!1});return}g=e}else break;var t=[];fd(g,l);l.push({changes:t,generation:d.generation});d.generation=e.generation||++d.maxGeneration;var f=Da(a,"beforeChange")||
+a.cm&&Da(a.cm,"beforeChange");c=function(c){var d=e.changes[c];d.origin=b;if(f&&!pf(a,d,!1))return k.length=0,{};t.push(Td(a,d));var g=c?Qd(a,d):w(k);rc(a,d,g,gf(a,d));!c&&a.cm&&a.cm.scrollIntoView({from:d.from,to:lb(d)});var l=[];Ab(a,function(a,b){b||-1!=r(l,a.history)||(sf(a.history,d),l.push(a.history));rc(a,d,null,gf(a,d))})};for(d=e.changes.length-1;0<=d;--d)if(g=c(d))return g.v}}}function tf(a,b){if(0!=b&&(a.first+=b,a.sel=new Ja(y(a.sel.ranges,function(a){return new W(H(a.anchor.line+b,a.anchor.ch),
+H(a.head.line+b,a.head.ch))}),a.sel.primIndex),a.cm)){ya(a.cm,a.first,a.first-b,b);for(var c=a.cm.display,d=c.viewFrom;d<c.viewTo;d++)kb(a.cm,d,"gutter")}}function rc(a,b,c,d){if(a.cm&&!a.cm.curOp)return oa(a.cm,rc)(a,b,c,d);if(b.to.line<a.first)tf(a,b.text.length-1-(b.to.line-b.from.line));else if(!(b.from.line>a.lastLine())){if(b.from.line<a.first){var e=b.text.length-1-(a.first-b.from.line);tf(a,e);b={from:H(a.first,0),to:H(b.to.line+e,b.to.ch),text:[w(b.text)],origin:b.origin}}e=a.lastLine();
+b.to.line>e&&(b={from:b.from,to:H(e,I(a,e).text.length),text:[b.text[0]],origin:b.origin});b.removed=O(a,b.from,b.to);c||(c=Qd(a,b));a.cm?Ag(a.cm,b,d):Sd(a,b,d);hd(a,c,Ya)}}function Ag(a,b,c){var d=a.doc,e=a.display,g=b.from,k=b.to,l=!1,m=g.line;a.options.lineWrapping||(m=N(Ga(I(d,g.line))),d.iter(m,k.line+1,function(a){if(a==e.maxLine)return l=!0}));-1<d.sel.contains(b.from,b.to)&&$b(a);Sd(d,b,c,He(a));a.options.lineWrapping||(d.iter(m,g.line+b.text.length,function(a){var b=xa(a);b>e.maxLineLength&&
+(e.maxLine=a,e.maxLineLength=b,e.maxLineChanged=!0,l=!1)}),l&&(a.curOp.updateMaxLine=!0));fg(d,g.line);oc(a,400);c=b.text.length-(k.line-g.line)-1;b.full?ya(a):g.line!=k.line||1!=b.text.length||af(a.doc,b)?ya(a,g.line,k.line+1,c):kb(a,g.line,"text");c=Da(a,"changes");if((d=Da(a,"change"))||c)b={from:g,to:k,text:b.text,removed:b.removed,origin:b.origin},d&&qa(a,"change",a,b),c&&(a.curOp.changeObjs||(a.curOp.changeObjs=[])).push(b);a.display.selForContextMenu=null}function Qb(a,b,c,d,e){d||(d=c);if(0>
+Q(d,c)){var g=[d,c];c=g[0];d=g[1];g}"string"==typeof b&&(b=a.splitLines(b));Pb(a,{from:c,to:d,text:b,origin:e})}function uf(a,b,c,d){c<a.line?a.line+=d:b<a.line&&(a.line=b,a.ch=0)}function vf(a,b,c,d){for(var e=0;e<a.length;++e){var g=a[e],k=!0;if(g.ranges)for(g.copied||(g=a[e]=g.deepCopy(),g.copied=!0),k=0;k<g.ranges.length;k++)uf(g.ranges[k].anchor,b,c,d),uf(g.ranges[k].head,b,c,d);else{for(var l=0;l<g.changes.length;++l){var m=g.changes[l];if(c<m.from.line)m.from=H(m.from.line+d,m.from.ch),m.to=
+H(m.to.line+d,m.to.ch);else if(b<=m.to.line){k=!1;break}}k||(a.splice(0,e+1),e=0)}}}function sf(a,b){var c=b.from.line,d=b.to.line;b=b.text.length-(d-c)-1;vf(a.done,c,d,b);vf(a.undone,c,d,b)}function sc(a,b,c,d){var e=b,g=b;"number"==typeof b?g=I(a,Math.max(a.first,Math.min(b,a.first+a.size-1))):e=N(b);if(null==e)return null;d(g,e)&&a.cm&&kb(a.cm,e,c);return g}function tc(a){this.lines=a;this.parent=null;for(var b=0,c=0;c<a.length;++c)a[c].parent=this,b+=a[c].height;this.height=b}function uc(a){this.children=
+a;for(var b=0,c=0,d=0;d<a.length;++d){var e=a[d];b+=e.chunkSize();c+=e.height;e.parent=this}this.size=b;this.height=c;this.parent=null}function Bg(a,b,c,d){var e=new vc(a,c,d),g=a.cm;g&&e.noHScroll&&(g.display.alignWidgets=!0);sc(a,b,"widget",function(b){var c=b.widgets||(b.widgets=[]);null==e.insertAt?c.push(e):c.splice(Math.min(c.length-1,Math.max(0,e.insertAt)),0,e);e.line=b;g&&!$a(a,b)&&(c=Ha(b)<a.scrollTop,P(b,b.height+hc(e)),c&&$c(g,e.height),g.curOp.forceUpdate=!0);return!0});qa(g,"lineWidgetAdded",
+g,e,"number"==typeof b?b:N(b));return e}function Rb(a,c,d,e,g){if(e&&e.shared)return Cg(a,c,d,e,g);if(a.cm&&!a.cm.curOp)return oa(a.cm,Rb)(a,c,d,e,g);var k=new mb(a,g);g=Q(c,d);e&&t(e,k,!1);if(0<g||0==g&&!1!==k.clearWhenEmpty)return k;k.replacedWith&&(k.collapsed=!0,k.widgetNode=b("span",[k.replacedWith],"CodeMirror-widget"),e.handleMouseEvents||k.widgetNode.setAttribute("cm-ignore-events","true"),e.insertLeft&&(k.widgetNode.insertLeft=!0));if(k.collapsed){if(Fb(a,c.line,c,d,k)||c.line!=d.line&&Fb(a,
+d.line,c,d,k))throw Error("Inserting collapsed marker partially overlapping an existing one");fb=!0}k.addToHistory&&ff(a,{from:c,to:d,origin:"markText"},a.sel,NaN);var l=c.line,m=a.cm,r;a.iter(l,d.line+1,function(a){m&&k.collapsed&&!m.options.lineWrapping&&Ga(a)==m.display.maxLine&&(r=!0);k.collapsed&&l!=c.line&&P(a,0);var b=new Ka(k,l==c.line?c.ch:null,l==d.line?d.ch:null);a.markedSpans=a.markedSpans?a.markedSpans.concat([b]):[b];b.marker.attachLine(a);++l});k.collapsed&&a.iter(c.line,d.line+1,function(b){$a(a,
+b)&&P(b,0)});k.clearOnEnter&&T(k,"beforeCursorEnter",function(){return k.clear()});k.readOnly&&(qf=!0,(a.history.done.length||a.history.undone.length)&&a.clearHistory());k.collapsed&&(k.id=++wf,k.atomic=!0);if(m){r&&(m.curOp.updateMaxLine=!0);if(k.collapsed)ya(m,c.line,d.line+1);else if(k.className||k.title||k.startStyle||k.endStyle||k.css)for(e=c.line;e<=d.line;e++)kb(m,e,"text");k.atomic&&mf(m.doc);qa(m,"markerAdded",m,k)}return k}function Cg(a,b,c,d,e){d=t(d);d.shared=!1;var g=[Rb(a,b,c,d,e)],
+k=g[0],l=d.widgetNode;Ab(a,function(a){l&&(d.widgetNode=l.cloneNode(!0));g.push(Rb(a,R(a,b),R(a,c),d,e));for(var m=0;m<a.linked.length;++m)if(a.linked[m].isParent)return;k=w(g)});return new wc(g,k)}function xf(a){return a.findMarks(H(a.first,0),a.clipPos(H(a.lastLine())),function(a){return a.parent})}function Dg(a){for(var b=function(b){b=a[b];var c=[b.primary.doc];Ab(b.primary.doc,function(a){return c.push(a)});for(var d=0;d<b.markers.length;d++){var e=b.markers[d];-1==r(c,e.doc)&&(e.parent=null,
+b.markers.splice(d--,1))}},c=0;c<a.length;c++)b(c)}function Eg(a){var b=this;yf(b);if(!ia(b,a)&&!cb(b.display,a)){na(a);V&&(zf=+new Date);var c=vb(b,a,!0),d=a.dataTransfer.files;if(c&&!b.isReadOnly())if(d&&d.length&&window.FileReader&&window.File)for(var e=d.length,g=Array(e),k=0,l=function(a,d){if(!b.options.allowDropFileTypes||-1!=r(b.options.allowDropFileTypes,a.type)){var l=new FileReader;l.onload=oa(b,function(){var a=l.result;/[\x00-\x08\x0e-\x1f]{2}/.test(a)&&(a="");g[d]=a;++k==e&&(c=R(b.doc,
+c),a={from:c,to:c,text:b.doc.splitLines(g.join(b.doc.lineSeparator())),origin:"paste"},Pb(b.doc,a),jf(b.doc,db(c,lb(a))))});l.readAsText(a)}},m=0;m<e;++m)l(d[m],m);else if(b.state.draggingText&&-1<b.doc.sel.contains(c))b.state.draggingText(a),setTimeout(function(){return b.display.input.focus()},20);else try{if(l=a.dataTransfer.getData("Text")){b.state.draggingText&&!b.state.draggingText.copy&&(m=b.listSelections());hd(b.doc,db(c,c));if(m)for(d=0;d<m.length;++d)Qb(b.doc,"",m[d].anchor,m[d].head,"drag");
+b.replaceSelection(l,"around","paste");b.display.input.focus()}}catch(lh){}}}function yf(a){a.display.dragCursor&&(a.display.lineSpace.removeChild(a.display.dragCursor),a.display.dragCursor=null)}function Af(a){if(document.getElementsByClassName)for(var b=document.getElementsByClassName("CodeMirror"),c=0;c<b.length;c++){var d=b[c].CodeMirror;d&&a(d)}}function Fg(){var a;T(window,"resize",function(){null==a&&(a=setTimeout(function(){a=null;Af(Gg)},100))});T(window,"blur",function(){return Af(lc)})}
+function Gg(a){var b=a.display;if(b.lastWrapHeight!=b.wrapper.clientHeight||b.lastWrapWidth!=b.wrapper.clientWidth)b.cachedCharWidth=b.cachedTextHeight=b.cachedPaddingH=null,b.scrollbarsClipped=!1,a.setSize()}function Hg(a){var b=a.split(/-(?!$)/);a=b[b.length-1];for(var c,d,e,g,k=0;k<b.length-1;k++){var l=b[k];if(/^(cmd|meta|m)$/i.test(l))g=!0;else if(/^a(lt)?$/i.test(l))c=!0;else if(/^(c|ctrl|control)$/i.test(l))d=!0;else if(/^s(hift)?$/i.test(l))e=!0;else throw Error("Unrecognized modifier name: "+
+l);}c&&(a="Alt-"+a);d&&(a="Ctrl-"+a);g&&(a="Cmd-"+a);e&&(a="Shift-"+a);return a}function Ig(a){var b={},c;for(c in a)if(a.hasOwnProperty(c)){var d=a[c];if(!/^(name|fallthrough|(de|at)tach)$/.test(c)){if("..."!=d)for(var e=y(c.split(" "),Hg),g=0;g<e.length;g++){if(g==e.length-1){var k=e.join(" ");var l=d}else k=e.slice(0,g+1).join(" "),l="...";var m=b[k];if(!m)b[k]=l;else if(m!=l)throw Error("Inconsistent bindings for "+k);}delete a[c]}}for(var r in b)a[r]=b[r];return a}function Sb(a,b,c,d){b=jd(b);
+var e=b.call?b.call(a,d):b[a];if(!1===e)return"nothing";if("..."===e)return"multi";if(null!=e&&c(e))return"handled";if(b.fallthrough){if("[object Array]"!=Object.prototype.toString.call(b.fallthrough))return Sb(a,b.fallthrough,c,d);for(e=0;e<b.fallthrough.length;e++){var g=Sb(a,b.fallthrough[e],c,d);if(g)return g}}}function Bf(a){a="string"==typeof a?a:nb[a.keyCode];return"Ctrl"==a||"Alt"==a||"Shift"==a||"Mod"==a}function Cf(a,b,c){var d=a;b.altKey&&"Alt"!=d&&(a="Alt-"+a);(Df?b.metaKey:b.ctrlKey)&&
+"Ctrl"!=d&&(a="Ctrl-"+a);(Df?b.ctrlKey:b.metaKey)&&"Cmd"!=d&&(a="Cmd-"+a);!c&&b.shiftKey&&"Shift"!=d&&(a="Shift-"+a);return a}function Ef(a,b){if(Ra&&34==a.keyCode&&a["char"])return!1;var c=nb[a.keyCode];return null==c||a.altGraphKey?!1:Cf(c,a,b)}function jd(a){return"string"==typeof a?xc[a]:a}function Tb(a,b){for(var c=a.doc.sel.ranges,d=[],e=0;e<c.length;e++){for(var g=b(c[e]);d.length&&0>=Q(g.from,w(d).to);){var k=d.pop();if(0>Q(k.from,g.from)){g.from=k.from;break}}d.push(g)}Ea(a,function(){for(var b=
+d.length-1;0<=b;b--)Qb(a.doc,"",d[b].from,d[b].to,"+delete");Kb(a)})}function Xd(a,b,c){b=B(a.text,b+c,c);return 0>b||b>a.text.length?null:b}function Yd(a,b,c){a=Xd(a,b.ch,c);return null==a?null:new H(b.line,a,0>c?"after":"before")}function Zd(a,b,c,d,e){if(a&&(a=Ca(c,b.doc.direction))){a=0>e?w(a):a[0];var g=0>e==(1==a.level)?"after":"before";if(0<a.level||"rtl"==b.doc.direction){var k=sb(b,c);var l=0>e?c.text.length-1:0;var m=Pa(b,k,l).top;l=F(function(a){return Pa(b,k,a).top==m},0>e==(1==a.level)?
+a.from:a.to-1,l);"before"==g&&(l=Xd(c,l,1))}else l=0>e?a.to:a.from;return new H(d,l,g)}return new H(d,0>e?c.text.length:0,0>e?"before":"after")}function Jg(a,b,c,d){var e=Ca(b,a.doc.direction);if(!e)return Yd(b,c,d);c.ch>=b.text.length?(c.ch=b.text.length,c.sticky="before"):0>=c.ch&&(c.ch=0,c.sticky="after");var g=Ua(e,c.ch,c.sticky),k=e[g];if("ltr"==a.doc.direction&&0==k.level%2&&(0<d?k.to>c.ch:k.from<c.ch))return Yd(b,c,d);var l=function(a,c){return Xd(b,a instanceof H?a.ch:a,c)},m,r=function(c){if(!a.options.lineWrapping)return{begin:0,
+end:b.text.length};m=m||sb(a,b);return Ge(a,b,m,c)},t=r("before"==c.sticky?l(c,-1):c.ch);if("rtl"==a.doc.direction||1==k.level){var f=1==k.level==0>d,u=l(c,f?1:-1);if(null!=u&&(f?u<=k.to&&u<=t.end:u>=k.from&&u>=t.begin))return new H(c.line,u,f?"before":"after")}k=function(a,b,d){for(var g=function(a,b){return b?new H(c.line,l(a,1),"before"):new H(c.line,a,"after")};0<=a&&a<e.length;a+=b){var k=e[a],m=0<b==(1!=k.level),r=m?d.begin:l(d.end,-1);if(k.from<=r&&r<k.to)return g(r,m);r=m?k.from:l(k.to,-1);
+if(d.begin<=r&&r<d.end)return g(r,m)}};if(g=k(g+d,d,t))return g;t=0<d?t.end:l(t.begin,-1);return null==t||0<d&&t==b.text.length||!(g=k(0<d?0:e.length-1,d,r(t)))?null:g}function Ff(a,b){var c=I(a.doc,b),d=Ga(c);d!=c&&(b=N(d));return Zd(!0,a,d,b,1)}function Gf(a,b){var c=Ff(a,b.line),d=I(a.doc,c.line);a=Ca(d,a.doc.direction);return a&&0!=a[0].level?c:(d=Math.max(0,d.text.search(/\S/)),H(c.line,b.line==c.line&&b.ch<=d&&b.ch?0:d,c.sticky))}function kd(a,b,c){if("string"==typeof b&&(b=yc[b],!b))return!1;
+a.display.input.ensurePolled();var d=a.display.shift,e=!1;try{a.isReadOnly()&&(a.state.suppressEdits=!0),c&&(a.display.shift=!1),e=b(a)!=ld}finally{a.display.shift=d,a.state.suppressEdits=!1}return e}function Kg(a,b,c){for(var d=0;d<a.state.keyMaps.length;d++){var e=Sb(b,a.state.keyMaps[d],c,a);if(e)return e}return a.options.extraKeys&&Sb(b,a.options.extraKeys,c,a)||Sb(b,a.options.keyMap,c,a)}function zc(a,b,c,d){var e=a.state.keySeq;if(e){if(Bf(b))return"handled";Lg.set(50,function(){a.state.keySeq==
+e&&(a.state.keySeq=null,a.display.input.reset())});b=e+" "+b}d=Kg(a,b,d);"multi"==d&&(a.state.keySeq=b);"handled"==d&&qa(a,"keyHandled",a,b,c);if("handled"==d||"multi"==d)na(c),Hd(a);return e&&!d&&/\'$/.test(b)?(na(c),!0):!!d}function Hf(a,b){var c=Ef(b,!0);return c?b.shiftKey&&!a.state.keySeq?zc(a,"Shift-"+c,b,function(b){return kd(a,b,!0)})||zc(a,c,b,function(b){if("string"==typeof b?/^go[A-Z]/.test(b):b.motion)return kd(a,b)}):zc(a,c,b,function(b){return kd(a,b)}):!1}function Mg(a,b,c){return zc(a,
+"'"+c+"'",b,function(b){return kd(a,b,!0)})}function If(a){this.curOp.focus=e();if(!ia(this,a)){V&&11>ca&&27==a.keyCode&&(a.returnValue=!1);var b=a.keyCode;this.display.shift=16==b||a.shiftKey;var c=Hf(this,a);Ra&&($d=c?b:null,!c&&88==b&&!Ng&&(Ma?a.metaKey:a.ctrlKey)&&this.replaceSelection("",null,"cut"));18!=b||/\bCodeMirror-crosshair\b/.test(this.display.lineDiv.className)||Og(this)}}function Og(a){function b(a){18!=a.keyCode&&a.altKey||(wb(c,"CodeMirror-crosshair"),ha(document,"keyup",b),ha(document,
+"mouseover",b))}var c=a.display.lineDiv;g(c,"CodeMirror-crosshair");T(document,"keyup",b);T(document,"mouseover",b)}function Jf(a){16==a.keyCode&&(this.doc.sel.shift=!1);ia(this,a)}function Kf(a){if(!(cb(this.display,a)||ia(this,a)||a.ctrlKey&&!a.altKey||Ma&&a.metaKey)){var b=a.keyCode,c=a.charCode;if(Ra&&b==$d)$d=null,na(a);else if(!Ra||a.which&&!(10>a.which)||!Hf(this,a))if(b=String.fromCharCode(null==c?b:c),"\b"!=b&&!Mg(this,a,b))this.display.input.onKeyPress(a)}}function Pg(a,b){var c=+new Date;
+if(Ac&&Ac.compare(c,a,b))return Bc=Ac=null,"triple";if(Bc&&Bc.compare(c,a,b))return Ac=new ae(c,a,b),Bc=null,"double";Bc=new ae(c,a,b);Ac=null;return"single"}function Lf(a){var b=this.display;if(!(ia(this,a)||b.activeTouch&&b.input.supportsTouch()))if(b.input.ensurePolled(),b.shift=a.shiftKey,cb(b,a))sa||(b.scroller.draggable=!1,setTimeout(function(){return b.scroller.draggable=!0},100));else if(!md(this,a,"gutterClick",!0)){var c=vb(this,a),d=ac(a),e=c?Pg(c,d):"single";window.focus();1==d&&this.state.selectingText&&
+this.state.selectingText(a);c&&Qg(this,d,c,e,a)||(1==d?c?Rg(this,c,e,a):(a.target||a.srcElement)==b.scroller&&na(a):2==d?(c&&gd(this.doc,c),setTimeout(function(){return b.input.focus()},20)):3==d&&(be?Mf(this,a):Le(this)))}}function Qg(a,b,c,d,e){var g="Click";"double"==d?g="Double"+g:"triple"==d&&(g="Triple"+g);return zc(a,Cf((1==b?"Left":2==b?"Middle":"Right")+g,e),e,function(b){"string"==typeof b&&(b=yc[b]);if(!b)return!1;var d=!1;try{a.isReadOnly()&&(a.state.suppressEdits=!0),d=b(a,c)!=ld}finally{a.state.suppressEdits=
+!1}return d})}function Rg(a,b,c,d){V?setTimeout(k(Ke,a),0):a.curOp.focus=e();var g=a.getOption("configureMouse");g=g?g(a,c,d):{};null==g.unit&&(g.unit=(Sg?d.shiftKey&&d.metaKey:d.altKey)?"rectangle":"single"==c?"char":"double"==c?"word":"line");if(null==g.extend||a.doc.extend)g.extend=a.doc.extend||d.shiftKey;null==g.addNew&&(g.addNew=Ma?d.metaKey:d.ctrlKey);null==g.moveOnDrag&&(g.moveOnDrag=!(Ma?d.altKey:d.ctrlKey));var l=a.doc.sel,m;a.options.dragDrop&&Tg&&!a.isReadOnly()&&"single"==c&&-1<(m=l.contains(b))&&
+(0>Q((m=l.ranges[m]).from(),b)||0<b.xRel)&&(0<Q(m.to(),b)||0>b.xRel)?Ug(a,d,b,g):Vg(a,d,b,g)}function Ug(a,b,c,d){var e=a.display,g=!1,k=oa(a,function(b){sa&&(e.scroller.draggable=!1);a.state.draggingText=!1;ha(document,"mouseup",k);ha(document,"mousemove",l);ha(e.scroller,"dragstart",m);ha(e.scroller,"drop",k);g||(na(b),d.addNew||gd(a.doc,c,null,null,d.extend),sa||V&&9==ca?setTimeout(function(){document.body.focus();e.input.focus()},20):e.input.focus())}),l=function(a){g=g||10<=Math.abs(b.clientX-
+a.clientX)+Math.abs(b.clientY-a.clientY)},m=function(){return g=!0};sa&&(e.scroller.draggable=!0);a.state.draggingText=k;k.copy=!d.moveOnDrag;e.scroller.dragDrop&&e.scroller.dragDrop();T(document,"mouseup",k);T(document,"mousemove",l);T(e.scroller,"dragstart",m);T(e.scroller,"drop",k);Le(a);setTimeout(function(){return e.input.focus()},20)}function Nf(a,b,c){if("char"==c)return new W(b,b);if("word"==c)return a.findWordAt(b);if("line"==c)return new W(H(b.line,0),R(a.doc,H(b.line+1,0)));a=c(a,b);return new W(a.from,
+a.to)}function Vg(a,b,c,d){function g(b){if(0!=Q(w,b))if(w=b,"rectangle"==d.unit){var e=[],g=a.options.tabSize,k=m(I(t,c.line).text,c.ch,g),l=m(I(t,b.line).text,b.ch,g),r=Math.min(k,l);k=Math.max(k,l);l=Math.min(c.line,b.line);for(var h=Math.min(a.lastLine(),Math.max(c.line,b.line));l<=h;l++){var p=I(t,l).text,D=u(p,r,g);r==k?e.push(new W(H(l,D),H(l,D))):p.length>D&&e.push(new W(H(l,D),H(l,u(p,k,g))))}e.length||e.push(new W(c,c));ra(t,Sa(f.ranges.slice(0,v).concat(e),v),{origin:"*mouse",scroll:!1});
+a.scrollIntoView(b)}else e=n,r=Nf(a,b,d.unit),b=e.anchor,0<Q(r.anchor,b)?(g=r.head,b=fa(e.from(),r.anchor)):(g=r.anchor,b=ka(e.to(),r.head)),e=f.ranges.slice(0),e[v]=Wg(a,new W(R(t,b),g)),ra(t,Sa(e,v),ce)}function k(b){var c=++D,l=vb(a,b,!0,"rectangle"==d.unit);if(l)if(0!=Q(l,w)){a.curOp.focus=e();g(l);var m=Jd(r,t);(l.line>=m.to||l.line<m.from)&&setTimeout(oa(a,function(){D==c&&k(b)}),150)}else{var f=b.clientY<p.top?-20:b.clientY>p.bottom?20:0;f&&setTimeout(oa(a,function(){D==c&&(r.scroller.scrollTop+=
+f,k(b))}),50)}}function l(b){a.state.selectingText=!1;D=Infinity;na(b);r.input.focus();ha(document,"mousemove",x);ha(document,"mouseup",z);t.history.lastSelOrigin=null}var r=a.display,t=a.doc;na(b);var f=t.sel,h=f.ranges;if(d.addNew&&!d.extend){var v=t.sel.contains(c);var n=-1<v?h[v]:new W(c,c)}else n=t.sel.primary(),v=t.sel.primIndex;"rectangle"==d.unit?(d.addNew||(n=new W(c,c)),c=vb(a,b,!0,!0),v=-1):(b=Nf(a,c,d.unit),n=d.extend?Ud(n,b.anchor,b.head,d.extend):b);d.addNew?-1==v?(v=h.length,ra(t,Sa(h.concat([n]),
+v),{scroll:!1,origin:"*mouse"})):1<h.length&&h[v].empty()&&"char"==d.unit&&!d.extend?(ra(t,Sa(h.slice(0,v).concat(h.slice(v+1)),0),{scroll:!1,origin:"*mouse"}),f=t.sel):Vd(t,v,n,ce):(v=0,ra(t,new Ja([n],0),ce),f=t.sel);var w=c,p=r.wrapper.getBoundingClientRect(),D=0,x=oa(a,function(a){ac(a)?k(a):l(a)}),z=oa(a,l);a.state.selectingText=z;T(document,"mousemove",x);T(document,"mouseup",z)}function Wg(a,b){var c=b.anchor,d=b.head,e=I(a.doc,c.line);if(0==Q(c,d)&&c.sticky==d.sticky)return b;e=Ca(e);if(!e)return b;
+var g=Ua(e,c.ch,c.sticky),k=e[g];if(k.from!=c.ch&&k.to!=c.ch)return b;var l=g+(k.from==c.ch==(1!=k.level)?0:1);if(0==l||l==e.length)return b;d.line!=c.line?a=0<(d.line-c.line)*("ltr"==a.doc.direction?1:-1):(a=Ua(e,d.ch,d.sticky),g=a-g||(d.ch-c.ch)*(1==k.level?-1:1),a=a==l-1||a==l?0>g:0<g);e=e[l+(a?-1:0)];e=(l=a==(1==e.level))?e.from:e.to;l=l?"after":"before";return c.ch==e&&c.sticky==l?b:new W(new H(c.line,e,l),d)}function md(a,b,c,d){if(b.touches){var e=b.touches[0].clientX;var g=b.touches[0].clientY}else try{e=
+b.clientX,g=b.clientY}catch(he){return!1}if(e>=Math.floor(a.display.gutters.getBoundingClientRect().right))return!1;d&&na(b);d=a.display;var k=d.lineDiv.getBoundingClientRect();if(g>k.bottom||!Da(a,c))return ob(b);g-=k.top-d.viewOffset;for(k=0;k<a.options.gutters.length;++k){var l=d.gutters.childNodes[k];if(l&&l.getBoundingClientRect().right>=e)return e=S(a.doc,g),da(a,c,a,e,a.options.gutters[k],b),ob(b)}}function Mf(a,b){var c;(c=cb(a.display,b))||(c=Da(a,"gutterContextMenu")?md(a,b,"gutterContextMenu",
+!1):!1);if(!c&&!ia(a,b,"contextmenu"))a.display.input.onContextMenu(b)}function Of(a){a.display.wrapper.className=a.display.wrapper.className.replace(/\s*cm-s-\S+/g,"")+a.options.theme.replace(/(^|\s)\s*/g," cm-s-");jc(a)}function Cc(a){We(a);ya(a);Ne(a)}function Xg(a,b,c){!b!=!(c&&c!=Ub)&&(c=a.display.dragFunctions,b=b?T:ha,b(a.display.scroller,"dragstart",c.start),b(a.display.scroller,"dragenter",c.enter),b(a.display.scroller,"dragover",c.over),b(a.display.scroller,"dragleave",c.leave),b(a.display.scroller,
+"drop",c.drop))}function Yg(a){a.options.lineWrapping?(g(a.display.wrapper,"CodeMirror-wrap"),a.display.sizer.style.minWidth="",a.display.sizerWidth=null):(wb(a.display.wrapper,"CodeMirror-wrap"),ab(a));Gd(a);ya(a);jc(a);setTimeout(function(){return Lb(a)},100)}function ea(a,b){var c=this;if(!(this instanceof ea))return new ea(a,b);this.options=b=b?t(b):{};t(Pf,b,!1);Pd(b);var d=b.value;"string"==typeof d&&(d=new za(d,b.mode,null,b.lineSeparator,b.direction));this.doc=d;var e=new ea.inputStyles[b.inputStyle](this);
+a=this.display=new L(a,d,e);a.wrapper.CodeMirror=this;We(this);Of(this);b.lineWrapping&&(this.display.wrapper.className+=" CodeMirror-wrap");Se(this);this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:!1,delayingBlurEvent:!1,focused:!1,suppressEdits:!1,pasteIncoming:!1,cutIncoming:!1,selectingText:!1,draggingText:!1,highlight:new Bb,keySeq:null,specialChars:null};b.autofocus&&!Yb&&a.input.focus();V&&11>ca&&setTimeout(function(){return c.display.input.reset(!0)},20);Zg(this);Qf||(Fg(),Qf=!0);yb(this);
+this.curOp.forceUpdate=!0;bf(this,d);b.autofocus&&!Yb||this.hasFocus()?setTimeout(k(Id,this),20):lc(this);for(var g in nd)if(nd.hasOwnProperty(g))nd[g](c,b[g],Ub);Oe(this);b.finishInit&&b.finishInit(this);for(d=0;d<de.length;++d)de[d](c);zb(this);sa&&b.lineWrapping&&"optimizelegibility"==getComputedStyle(a.lineDiv).textRendering&&(a.lineDiv.style.textRendering="auto")}function Zg(a){function b(){e.activeTouch&&(g=setTimeout(function(){return e.activeTouch=null},1E3),k=e.activeTouch,k.end=+new Date)}
+function d(a,b){if(null==b.left)return!0;var c=b.left-a.left;a=b.top-a.top;return 400<c*c+a*a}var e=a.display;T(e.scroller,"mousedown",oa(a,Lf));V&&11>ca?T(e.scroller,"dblclick",oa(a,function(b){if(!ia(a,b)){var c=vb(a,b);!c||md(a,b,"gutterClick",!0)||cb(a.display,b)||(na(b),b=a.findWordAt(c),gd(a.doc,b.anchor,b.head))}})):T(e.scroller,"dblclick",function(b){return ia(a,b)||na(b)});be||T(e.scroller,"contextmenu",function(b){return Mf(a,b)});var g,k={end:0};T(e.scroller,"touchstart",function(b){var c;
+if(c=!ia(a,b))1!=b.touches.length?c=!1:(c=b.touches[0],c=1>=c.radiusX&&1>=c.radiusY),c=!c;c&&!md(a,b,"gutterClick",!0)&&(e.input.ensurePolled(),clearTimeout(g),c=+new Date,e.activeTouch={start:c,moved:!1,prev:300>=c-k.end?k:null},1==b.touches.length&&(e.activeTouch.left=b.touches[0].pageX,e.activeTouch.top=b.touches[0].pageY))});T(e.scroller,"touchmove",function(){e.activeTouch&&(e.activeTouch.moved=!0)});T(e.scroller,"touchend",function(c){var g=e.activeTouch;if(g&&!cb(e,c)&&null!=g.left&&!g.moved&&
+300>new Date-g.start){var k=a.coordsChar(e.activeTouch,"page");g=!g.prev||d(g,g.prev)?new W(k,k):!g.prev.prev||d(g,g.prev.prev)?a.findWordAt(k):new W(H(k.line,0),R(a.doc,H(k.line+1,0)));a.setSelection(g.anchor,g.head);a.focus();na(c)}b()});T(e.scroller,"touchcancel",b);T(e.scroller,"scroll",function(){e.scroller.clientHeight&&(nc(a,e.scroller.scrollTop),xb(a,e.scroller.scrollLeft,!0),da(a,"scroll",a))});T(e.scroller,"mousewheel",function(b){return Ye(a,b)});T(e.scroller,"DOMMouseScroll",function(b){return Ye(a,
+b)});T(e.wrapper,"scroll",function(){return e.wrapper.scrollTop=e.wrapper.scrollLeft=0});e.dragFunctions={enter:function(b){ia(a,b)||pb(b)},over:function(b){if(!ia(a,b)){var d=vb(a,b);if(d){var e=document.createDocumentFragment();Je(a,d,e);a.display.dragCursor||(a.display.dragCursor=c("div",null,"CodeMirror-cursors CodeMirror-dragcursors"),a.display.lineSpace.insertBefore(a.display.dragCursor,a.display.cursorDiv));h(a.display.dragCursor,e)}pb(b)}},start:function(b){if(V&&(!a.state.draggingText||100>
++new Date-zf))pb(b);else if(!ia(a,b)&&!cb(a.display,b)&&(b.dataTransfer.setData("Text",a.getSelection()),b.dataTransfer.effectAllowed="copyMove",b.dataTransfer.setDragImage&&!Rf)){var d=c("img",null,null,"position: fixed; left: 0; top: 0;");d.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==";Ra&&(d.width=d.height=1,a.display.wrapper.appendChild(d),d._top=d.offsetTop);b.dataTransfer.setDragImage(d,0,0);Ra&&d.parentNode.removeChild(d)}},drop:oa(a,Eg),leave:function(b){ia(a,
+b)||yf(a)}};var l=e.input.getField();T(l,"keyup",function(b){return Jf.call(a,b)});T(l,"keydown",oa(a,If));T(l,"keypress",oa(a,Kf));T(l,"focus",function(b){return Id(a,b)});T(l,"blur",function(b){return lc(a,b)})}function Dc(a,b,c,d){var e=a.doc,g;null==c&&(c="add");"smart"==c&&(e.mode.indent?g=Va(a,b).state:c="prev");var k=a.options.tabSize,l=I(e,b),r=m(l.text,null,k);l.stateAfter&&(l.stateAfter=null);var t=l.text.match(/^\s*/)[0];if(!d&&!/\S/.test(l.text)){var f=0;c="not"}else if("smart"==c&&(f=
+e.mode.indent(g,l.text.slice(t.length),l.text),f==ld||150<f)){if(!d)return;c="prev"}"prev"==c?f=b>e.first?m(I(e,b-1).text,null,k):0:"add"==c?f=r+a.options.indentUnit:"subtract"==c?f=r-a.options.indentUnit:"number"==typeof c&&(f=r+c);f=Math.max(0,f);c="";d=0;if(a.options.indentWithTabs)for(a=Math.floor(f/k);a;--a)d+=k,c+="\t";d<f&&(c+=v(f-d));if(c!=t)return Qb(e,c,H(b,0),H(b,t.length),"+input"),l.stateAfter=null,!0;for(k=0;k<e.sel.ranges.length;k++)if(l=e.sel.ranges[k],l.head.line==b&&l.head.ch<t.length){b=
+H(b,t.length);Vd(e,k,new W(b,b));break}}function ee(a,b,c,d,e){var g=a.doc;a.display.shift=!1;d||(d=g.sel);var k=a.state.pasteIncoming||"paste"==e,l=fe(b),m=null;if(k&&1<d.ranges.length)if(Fa&&Fa.text.join("\n")==b){if(0==d.ranges.length%Fa.text.length){m=[];for(var r=0;r<Fa.text.length;r++)m.push(g.splitLines(Fa.text[r]))}}else l.length==d.ranges.length&&a.options.pasteLinesPerSelection&&(m=y(l,function(a){return[a]}));for(r=d.ranges.length-1;0<=r;r--){var t=d.ranges[r];var f=t.from(),u=t.to();t.empty()&&
+(c&&0<c?f=H(f.line,f.ch-c):a.state.overwrite&&!k?u=H(u.line,Math.min(I(g,u.line).text.length,u.ch+w(l).length)):Fa&&Fa.lineWise&&Fa.text.join("\n")==b&&(f=u=H(f.line,0)));t=a.curOp.updateInput;f={from:f,to:u,text:m?m[r%m.length]:l,origin:e||(k?"paste":a.state.cutIncoming?"cut":"+input")};Pb(a.doc,f);qa(a,"inputRead",a,f)}b&&!k&&Sf(a,b);Kb(a);a.curOp.updateInput=t;a.curOp.typing=!0;a.state.pasteIncoming=a.state.cutIncoming=!1}function Tf(a,b){var c=a.clipboardData&&a.clipboardData.getData("Text");
+if(c)return a.preventDefault(),b.isReadOnly()||b.options.disableInput||Ea(b,function(){return ee(b,c,0,null,"paste")}),!0}function Sf(a,b){if(a.options.electricChars&&a.options.smartIndent)for(var c=a.doc.sel,d=c.ranges.length-1;0<=d;d--){var e=c.ranges[d];if(!(100<e.head.ch||d&&c.ranges[d-1].head.line==e.head.line)){var g=a.getModeAt(e.head),k=!1;if(g.electricChars)for(var l=0;l<g.electricChars.length;l++){if(-1<b.indexOf(g.electricChars.charAt(l))){k=Dc(a,e.head.line,"smart");break}}else g.electricInput&&
+g.electricInput.test(I(a.doc,e.head.line).text.slice(0,e.head.ch))&&(k=Dc(a,e.head.line,"smart"));k&&qa(a,"electricInput",a,e.head.line)}}}function Uf(a){for(var b=[],c=[],d=0;d<a.doc.sel.ranges.length;d++){var e=a.doc.sel.ranges[d].head.line;e={anchor:H(e,0),head:H(e+1,0)};c.push(e);b.push(a.getRange(e.anchor,e.head))}return{text:b,ranges:c}}function Vf(a,b){a.setAttribute("autocorrect","off");a.setAttribute("autocapitalize","off");a.setAttribute("spellcheck",!!b)}function Wf(){var a=c("textarea",
+null,null,"position: absolute; bottom: -1em; padding: 0; width: 1px; height: 1em; outline: none"),b=c("div",[a],null,"overflow: hidden; position: relative; width: 3px; height: 0px;");sa?a.style.width="1000px":a.setAttribute("wrap","off");Ec&&(a.style.border="1px solid black");Vf(a);return b}function ge(a,b,c,d,e){function g(d){var g=e?Jg(a.cm,m,b,c):Yd(m,b,c);if(null==g){if(d=!d)d=b.line+c,d<a.first||d>=a.first+a.size?d=!1:(b=new H(d,b.ch,b.sticky),d=m=I(a,d));if(d)b=Zd(e,a.cm,m,b.line,c);else return!1}else b=
+g;return!0}var k=b,l=c,m=I(a,b.line);if("char"==d)g();else if("column"==d)g(!0);else if("word"==d||"group"==d){var r=null;d="group"==d;for(var t=a.cm&&a.cm.getHelper(b,"wordChars"),f=!0;!(0>c)||g(!f);f=!1){var u=m.text.charAt(b.ch)||"\n";u=E(u,t)?"w":d&&"\n"==u?"n":!d||/\s/.test(u)?null:"p";!d||f||u||(u="s");if(r&&r!=u){0>c&&(c=1,g(),b.sticky="after");break}u&&(r=u);if(0<c&&!g(!f))break}}l=Wd(a,b,k,l,!0);aa(k,l)&&(l.hitSide=!0);return l}function Xf(a,b,c,d){var e=a.doc,g=b.left;if("page"==d){var k=
+Math.max(Math.min(a.display.wrapper.clientHeight,window.innerHeight||document.documentElement.clientHeight)-.5*tb(a.display),3);k=(0<c?b.bottom:b.top)+c*k}else"line"==d&&(k=0<c?b.bottom+3:b.top-3);for(;;){b=Dd(a,g,k);if(!b.outside)break;if(0>c?0>=k:k>=e.height){b.hitSide=!0;break}k+=5*c}return b}function Yf(a,b){var c=xd(a,b.line);if(!c||c.hidden)return null;var d=I(a.doc,b.line);c=we(c,d,b.line);a=Ca(d,a.doc.direction);d="left";a&&(d=Ua(a,b.ch)%2?"right":"left");b=xe(c.map,b.ch,d);b.offset="right"==
+b.collapse?b.end:b.start;return b}function $g(a){for(;a;a=a.parentNode)if(/CodeMirror-gutter-wrapper/.test(a.className))return!0;return!1}function Vb(a,b){b&&(a.bad=!0);return a}function ah(a,b,c,d,e){function g(a){return function(b){return b.id==a}}function k(a){a&&(r&&(m+=t,r=!1),m+=a)}function l(b){if(1==b.nodeType){var c=b.getAttribute("cm-text");if(null!=c)k(c||b.textContent.replace(/\u200b/g,""));else{c=b.getAttribute("cm-marker");var f;if(c)b=a.findMarks(H(d,0),H(e+1,0),g(+c)),b.length&&(f=
+b[0].find(0))&&k(O(a.doc,f.from,f.to).join(t));else if("false"!=b.getAttribute("contenteditable")){(f=/^(pre|div|p)$/i.test(b.nodeName))&&r&&(m+=t,r=!1);for(c=0;c<b.childNodes.length;c++)l(b.childNodes[c]);f&&(r=!0)}}}else 3==b.nodeType&&k(b.nodeValue)}for(var m="",r=!1,t=a.doc.lineSeparator();;){l(b);if(b==c)break;b=b.nextSibling}return m}function od(a,b,c){if(b==a.display.lineDiv){var d=a.display.lineDiv.childNodes[c];if(!d)return Vb(a.clipPos(H(a.display.viewTo-1)),!0);b=null;c=0}else for(d=b;;d=
+d.parentNode){if(!d||d==a.display.lineDiv)return null;if(d.parentNode&&d.parentNode==a.display.lineDiv)break}for(var e=0;e<a.display.view.length;e++){var g=a.display.view[e];if(g.node==d)return bh(g,b,c)}}function bh(a,b,c){function e(b,c,d){for(var e=-1;e<(t?t.length:0);e++)for(var g=0>e?r.map:t[e],k=0;k<g.length;k+=3){var l=g[k+2];if(l==b||l==c){c=N(0>e?a.line:a.rest[e]);e=g[k]+d;if(0>d||l!=b)e=g[k+(d?1:0)];return H(c,e)}}}var g=a.text.firstChild,k=!1;if(!b||!d(g,b))return Vb(H(N(a.line),0),!0);
+if(b==g&&(k=!0,b=g.childNodes[c],c=0,!b))return c=a.rest?w(a.rest):a.line,Vb(H(N(c),c.text.length),k);var l=3==b.nodeType?b:null,m=b;l||1!=b.childNodes.length||3!=b.firstChild.nodeType||(l=b.firstChild,c&&(c=l.nodeValue.length));for(;m.parentNode!=g;)m=m.parentNode;var r=a.measure,t=r.maps;if(b=e(l,m,c))return Vb(b,k);g=m.nextSibling;for(l=l?l.nodeValue.length-c:0;g;g=g.nextSibling){if(b=e(g,g.firstChild,0))return Vb(H(b.line,b.ch-l),k);l+=g.textContent.length}for(m=m.previousSibling;m;m=m.previousSibling){if(b=
+e(m,m.firstChild,-1))return Vb(H(b.line,b.ch+c),k);c+=m.textContent.length}}var va=navigator.userAgent,Zf=navigator.platform,eb=/gecko\/\d/i.test(va),$f=/MSIE \d/.test(va),ag=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(va),Fc=/Edge\/(\d+)/.exec(va),V=$f||ag||Fc,ca=V&&($f?document.documentMode||6:+(Fc||ag)[1]),sa=!Fc&&/WebKit\//.test(va),ch=sa&&/Qt\/\d+\.\d+/.test(va),Vc=!Fc&&/Chrome\//.test(va),Ra=/Opera\//.test(va),Rf=/Apple Computer/.test(navigator.vendor),dh=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(va),
+tg=/PhantomJS/.test(va),Ec=!Fc&&/AppleWebKit/.test(va)&&/Mobile\/\w+/.test(va),Wc=/Android/.test(va),Yb=Ec||Wc||/webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(va),Ma=Ec||/Mac/.test(Zf),Sg=/\bCrOS\b/.test(va),eh=/win/i.test(Zf),Cb=Ra&&va.match(/Version\/(\d*\.\d*)/);Cb&&(Cb=Number(Cb[1]));Cb&&15<=Cb&&(Ra=!1,sa=!0);var Df=Ma&&(ch||Ra&&(null==Cb||12.11>Cb)),be=eb||V&&9<=ca,wb=function(b,c){var d=b.className;if(c=a(c).exec(d)){var e=d.slice(c.index+c[0].length);b.className=d.slice(0,c.index)+
+(e?c[1]+e:"")}};var ec=document.createRange?function(a,b,c,d){var e=document.createRange();e.setEnd(d||a,c);e.setStart(a,b);return e}:function(a,b,c){var d=document.body.createTextRange();try{d.moveToElementText(a.parentNode)}catch(jh){return d}d.collapse(!0);d.moveEnd("character",c);d.moveStart("character",b);return d};var Gc=function(a){a.select()};Ec?Gc=function(a){a.selectionStart=0;a.selectionEnd=a.value.length}:V&&(Gc=function(a){try{a.select()}catch(la){}});var Bb=function(){this.id=null};
+Bb.prototype.set=function(a,b){clearTimeout(this.id);this.id=setTimeout(b,a)};var ld={toString:function(){return"CodeMirror.Pass"}},Ya={scroll:!1},ce={origin:"*mouse"},Hc={origin:"+move"},Oc=[""],bg=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,cg=/[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/,
+qf=!1,fb=!1,Zb=null,dg=function(){function a(a){return 247>=a?"bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN".charAt(a):1424<=a&&1524>=a?"R":1536<=a&&1785>=a?"nnnnnnNNr%%r,rNNmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmnNmmmmmmrrmmNmmmmrr1111111111".charAt(a-
+1536):1774<=a&&2220>=a?"r":8192<=a&&8203>=a?"w":8204==a?"b":"L"}function b(a,b,c){this.level=a;this.from=b;this.to=c}var c=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,d=/[stwN]/,e=/[LRr]/,g=/[Lb1n]/,k=/[1n]/;return function(l,m){var r="ltr"==m?"L":"R";if(0==l.length||"ltr"==m&&!c.test(l))return!1;for(var t=l.length,f=[],u=0;u<t;++u)f.push(a(l.charCodeAt(u)));u=0;for(var h=r;u<t;++u){var v=f[u];"m"==v?f[u]=h:h=v}u=0;for(h=r;u<t;++u)v=f[u],"1"==v&&"r"==h?f[u]="n":e.test(v)&&(h=v,"r"==v&&(f[u]="R"));
+u=1;for(h=f[0];u<t-1;++u)v=f[u],"+"==v&&"1"==h&&"1"==f[u+1]?f[u]="1":","!=v||h!=f[u+1]||"1"!=h&&"n"!=h||(f[u]=h),h=v;for(u=0;u<t;++u)if(h=f[u],","==h)f[u]="N";else if("%"==h){for(h=u+1;h<t&&"%"==f[h];++h);for(v=u&&"!"==f[u-1]||h<t&&"1"==f[h]?"1":"N";u<h;++u)f[u]=v;u=h-1}u=0;for(h=r;u<t;++u)v=f[u],"L"==h&&"1"==v?f[u]="L":e.test(v)&&(h=v);for(h=0;h<t;++h)if(d.test(f[h])){for(u=h+1;u<t&&d.test(f[u]);++u);v="L"==(h?f[h-1]:r);for(v=v==("L"==(u<t?f[u]:r))?v?"L":"R":r;h<u;++h)f[h]=v;h=u-1}r=[];var n;for(u=
+0;u<t;)if(g.test(f[u])){h=u;for(++u;u<t&&g.test(f[u]);++u);r.push(new b(0,h,u))}else{var p=u;h=r.length;for(++u;u<t&&"L"!=f[u];++u);for(v=p;v<u;)if(k.test(f[v])){p<v&&r.splice(h,0,new b(1,p,v));p=v;for(++v;v<u&&k.test(f[v]);++v);r.splice(h,0,new b(2,p,v));p=v}else++v;p<u&&r.splice(h,0,new b(1,p,u))}"ltr"==m&&(1==r[0].level&&(n=l.match(/^\s+/))&&(r[0].from=n[0].length,r.unshift(new b(0,0,n[0].length))),1==w(r).level&&(n=l.match(/\s+$/))&&(w(r).to-=n[0].length,r.push(new b(0,t-n[0].length,t))));return"rtl"==
+m?r.reverse():r}}(),Pc=[],T=function(a,b,c){a.addEventListener?a.addEventListener(b,c,!1):a.attachEvent?a.attachEvent("on"+b,c):(a=a._handlers||(a._handlers={}),a[b]=(a[b]||Pc).concat(c))},Tg=function(){if(V&&9>ca)return!1;var a=c("div");return"draggable"in a||"dragDrop"in a}(),rd,td,fe=3!="\n\nb".split(/\n/).length?function(a){for(var b=0,c=[],d=a.length;b<=d;){var e=a.indexOf("\n",b);-1==e&&(e=a.length);var g=a.slice(b,"\r"==a.charAt(e-1)?e-1:e),k=g.indexOf("\r");-1!=k?(c.push(g.slice(0,k)),b+=
+k+1):(c.push(g),b=e+1)}return c}:function(a){return a.split(/\r\n?|\n/)},fh=window.getSelection?function(a){try{return a.selectionStart!=a.selectionEnd}catch(la){return!1}}:function(a){try{var b=a.ownerDocument.selection.createRange()}catch(ih){}return b&&b.parentElement()==a?0!=b.compareEndPoints("StartToEnd",b):!1},Ng=function(){var a=c("div");if("oncopy"in a)return!0;a.setAttribute("oncopy","return;");return"function"==typeof a.oncopy}(),zd=null,sd={},Gb={},Hb={},ja=function(a,b,c){this.pos=this.start=
+0;this.string=a;this.tabSize=b||8;this.lineStart=this.lastColumnPos=this.lastColumnValue=0;this.lineOracle=c};ja.prototype.eol=function(){return this.pos>=this.string.length};ja.prototype.sol=function(){return this.pos==this.lineStart};ja.prototype.peek=function(){return this.string.charAt(this.pos)||void 0};ja.prototype.next=function(){if(this.pos<this.string.length)return this.string.charAt(this.pos++)};ja.prototype.eat=function(a){var b=this.string.charAt(this.pos);if("string"==typeof a?b==a:b&&
+(a.test?a.test(b):a(b)))return++this.pos,b};ja.prototype.eatWhile=function(a){for(var b=this.pos;this.eat(a););return this.pos>b};ja.prototype.eatSpace=function(){for(var a=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>a};ja.prototype.skipToEnd=function(){this.pos=this.string.length};ja.prototype.skipTo=function(a){a=this.string.indexOf(a,this.pos);if(-1<a)return this.pos=a,!0};ja.prototype.backUp=function(a){this.pos-=a};ja.prototype.column=function(){this.lastColumnPos<
+this.start&&(this.lastColumnValue=m(this.string,this.start,this.tabSize,this.lastColumnPos,this.lastColumnValue),this.lastColumnPos=this.start);return this.lastColumnValue-(this.lineStart?m(this.string,this.lineStart,this.tabSize):0)};ja.prototype.indentation=function(){return m(this.string,null,this.tabSize)-(this.lineStart?m(this.string,this.lineStart,this.tabSize):0)};ja.prototype.match=function(a,b,c){if("string"==typeof a){var d=function(a){return c?a.toLowerCase():a},e=this.string.substr(this.pos,
+a.length);if(d(e)==d(a))return!1!==b&&(this.pos+=a.length),!0}else{if((a=this.string.slice(this.pos).match(a))&&0<a.index)return null;a&&!1!==b&&(this.pos+=a[0].length);return a}};ja.prototype.current=function(){return this.string.slice(this.start,this.pos)};ja.prototype.hideFirstChars=function(a,b){this.lineStart+=a;try{return b()}finally{this.lineStart-=a}};ja.prototype.lookAhead=function(a){var b=this.lineOracle;return b&&b.lookAhead(a)};ja.prototype.baseToken=function(){var a=this.lineOracle;
+return a&&a.baseToken(this.pos)};var Tc=function(a,b){this.state=a;this.lookAhead=b},Wa=function(a,b,c,d){this.state=b;this.doc=a;this.line=c;this.maxLookAhead=d||0;this.baseTokens=null;this.baseTokenPos=1};Wa.prototype.lookAhead=function(a){var b=this.doc.getLine(this.line+a);null!=b&&a>this.maxLookAhead&&(this.maxLookAhead=a);return b};Wa.prototype.baseToken=function(a){if(!this.baseTokens)return null;for(;this.baseTokens[this.baseTokenPos]<=a;)this.baseTokenPos+=2;var b=this.baseTokens[this.baseTokenPos+
+1];return{type:b&&b.replace(/( |^)overlay .*/,""),size:this.baseTokens[this.baseTokenPos]-a}};Wa.prototype.nextLine=function(){this.line++;0<this.maxLookAhead&&this.maxLookAhead--};Wa.fromSaved=function(a,b,c){return b instanceof Tc?new Wa(a,Oa(a.mode,b.state),c,b.lookAhead):new Wa(a,Oa(a.mode,b),c)};Wa.prototype.save=function(a){a=!1!==a?Oa(this.doc.mode,this.state):this.state;return 0<this.maxLookAhead?new Tc(a,this.maxLookAhead):a};var ke=function(a,b,c){this.start=a.start;this.end=a.pos;this.string=
+a.current();this.type=b||null;this.state=c},Mb=function(a,b,c){this.text=a;Aa(this,b);this.height=c?c(this):1};Mb.prototype.lineNo=function(){return N(this)};La(Mb);var hg={},gg={},Jb=null,fc=null,ye={left:0,right:0,top:0,bottom:0},ub,Db=function(a,b,d){this.cm=d;var e=this.vert=c("div",[c("div",null,null,"min-width: 1px")],"CodeMirror-vscrollbar"),g=this.horiz=c("div",[c("div",null,null,"height: 100%; min-height: 1px")],"CodeMirror-hscrollbar");a(e);a(g);T(e,"scroll",function(){e.clientHeight&&b(e.scrollTop,
+"vertical")});T(g,"scroll",function(){g.clientWidth&&b(g.scrollLeft,"horizontal")});this.checkedZeroWidth=!1;V&&8>ca&&(this.horiz.style.minHeight=this.vert.style.minWidth="18px")};Db.prototype.update=function(a){var b=a.scrollWidth>a.clientWidth+1,c=a.scrollHeight>a.clientHeight+1,d=a.nativeBarWidth;c?(this.vert.style.display="block",this.vert.style.bottom=b?d+"px":"0",this.vert.firstChild.style.height=Math.max(0,a.scrollHeight-a.clientHeight+(a.viewHeight-(b?d:0)))+"px"):(this.vert.style.display=
+"",this.vert.firstChild.style.height="0");b?(this.horiz.style.display="block",this.horiz.style.right=c?d+"px":"0",this.horiz.style.left=a.barLeft+"px",this.horiz.firstChild.style.width=Math.max(0,a.scrollWidth-a.clientWidth+(a.viewWidth-a.barLeft-(c?d:0)))+"px"):(this.horiz.style.display="",this.horiz.firstChild.style.width="0");!this.checkedZeroWidth&&0<a.clientHeight&&(0==d&&this.zeroWidthHack(),this.checkedZeroWidth=!0);return{right:c?d:0,bottom:b?d:0}};Db.prototype.setScrollLeft=function(a){this.horiz.scrollLeft!=
+a&&(this.horiz.scrollLeft=a);this.disableHoriz&&this.enableZeroWidthBar(this.horiz,this.disableHoriz,"horiz")};Db.prototype.setScrollTop=function(a){this.vert.scrollTop!=a&&(this.vert.scrollTop=a);this.disableVert&&this.enableZeroWidthBar(this.vert,this.disableVert,"vert")};Db.prototype.zeroWidthHack=function(){this.horiz.style.height=this.vert.style.width=Ma&&!dh?"12px":"18px";this.horiz.style.pointerEvents=this.vert.style.pointerEvents="none";this.disableHoriz=new Bb;this.disableVert=new Bb};Db.prototype.enableZeroWidthBar=
+function(a,b,c){function d(){var e=a.getBoundingClientRect();("vert"==c?document.elementFromPoint(e.right-1,(e.top+e.bottom)/2):document.elementFromPoint((e.right+e.left)/2,e.bottom-1))!=a?a.style.pointerEvents="none":b.set(1E3,d)}a.style.pointerEvents="auto";b.set(1E3,d)};Db.prototype.clear=function(){var a=this.horiz.parentNode;a.removeChild(this.horiz);a.removeChild(this.vert)};var Ic=function(){};Ic.prototype.update=function(){return{bottom:0,right:0}};Ic.prototype.setScrollLeft=function(){};
+Ic.prototype.setScrollTop=function(){};Ic.prototype.clear=function(){};var Te={"native":Db,"null":Ic},sg=0,bd=function(a,b,c){var d=a.display;this.viewport=b;this.visible=Jd(d,a.doc,b);this.editorIsHidden=!d.wrapper.offsetWidth;this.wrapperHeight=d.wrapper.clientHeight;this.wrapperWidth=d.wrapper.clientWidth;this.oldDisplayWidth=qb(a);this.force=c;this.dims=yd(a);this.events=[]};bd.prototype.signal=function(a,b){Da(a,b)&&this.events.push(arguments)};bd.prototype.finish=function(){for(var a=0;a<this.events.length;a++)da.apply(null,
+this.events[a])};var dd=0,Ia=null;V?Ia=-.53:eb?Ia=15:Vc?Ia=-.7:Rf&&(Ia=-1/3);var Ja=function(a,b){this.ranges=a;this.primIndex=b};Ja.prototype.primary=function(){return this.ranges[this.primIndex]};Ja.prototype.equals=function(a){if(a==this)return!0;if(a.primIndex!=this.primIndex||a.ranges.length!=this.ranges.length)return!1;for(var b=0;b<this.ranges.length;b++){var c=this.ranges[b],d=a.ranges[b];if(!aa(c.anchor,d.anchor)||!aa(c.head,d.head))return!1}return!0};Ja.prototype.deepCopy=function(){for(var a=
+[],b=0;b<this.ranges.length;b++)a[b]=new W(ba(this.ranges[b].anchor),ba(this.ranges[b].head));return new Ja(a,this.primIndex)};Ja.prototype.somethingSelected=function(){for(var a=0;a<this.ranges.length;a++)if(!this.ranges[a].empty())return!0;return!1};Ja.prototype.contains=function(a,b){b||(b=a);for(var c=0;c<this.ranges.length;c++){var d=this.ranges[c];if(0<=Q(b,d.from())&&0>=Q(a,d.to()))return c}return-1};var W=function(a,b){this.anchor=a;this.head=b};W.prototype.from=function(){return fa(this.anchor,
+this.head)};W.prototype.to=function(){return ka(this.anchor,this.head)};W.prototype.empty=function(){return this.head.line==this.anchor.line&&this.head.ch==this.anchor.ch};tc.prototype={chunkSize:function(){return this.lines.length},removeInner:function(a,b){for(var c=a,d=a+b;c<d;++c){var e=this.lines[c];this.height-=e.height;var g=e;g.parent=null;Eb(g);qa(e,"delete")}this.lines.splice(a,b)},collapse:function(a){a.push.apply(a,this.lines)},insertInner:function(a,b,c){this.height+=c;this.lines=this.lines.slice(0,
+a).concat(b).concat(this.lines.slice(a));for(a=0;a<b.length;++a)b[a].parent=this},iterN:function(a,b,c){for(b=a+b;a<b;++a)if(c(this.lines[a]))return!0}};uc.prototype={chunkSize:function(){return this.size},removeInner:function(a,b){this.size-=b;for(var c=0;c<this.children.length;++c){var d=this.children[c],e=d.chunkSize();if(a<e){var g=Math.min(b,e-a),k=d.height;d.removeInner(a,g);this.height-=k-d.height;e==g&&(this.children.splice(c--,1),d.parent=null);if(0==(b-=g))break;a=0}else a-=e}25>this.size-
+b&&(1<this.children.length||!(this.children[0]instanceof tc))&&(a=[],this.collapse(a),this.children=[new tc(a)],this.children[0].parent=this)},collapse:function(a){for(var b=0;b<this.children.length;++b)this.children[b].collapse(a)},insertInner:function(a,b,c){this.size+=b.length;this.height+=c;for(var d=0;d<this.children.length;++d){var e=this.children[d],g=e.chunkSize();if(a<=g){e.insertInner(a,b,c);if(e.lines&&50<e.lines.length){for(b=a=e.lines.length%25+25;b<e.lines.length;)c=new tc(e.lines.slice(b,
+b+=25)),e.height-=c.height,this.children.splice(++d,0,c),c.parent=this;e.lines=e.lines.slice(0,a);this.maybeSpill()}break}a-=g}},maybeSpill:function(){if(!(10>=this.children.length)){var a=this;do{var b=a.children.splice(a.children.length-5,5);b=new uc(b);if(a.parent){a.size-=b.size;a.height-=b.height;var c=r(a.parent.children,a);a.parent.children.splice(c+1,0,b)}else c=new uc(a.children),c.parent=a,a.children=[c,b],a=c;b.parent=a.parent}while(10<a.children.length);a.parent.maybeSpill()}},iterN:function(a,
+b,c){for(var d=0;d<this.children.length;++d){var e=this.children[d],g=e.chunkSize();if(a<g){g=Math.min(b,g-a);if(e.iterN(a,g,c))return!0;if(0==(b-=g))break;a=0}else a-=g}}};var vc=function(a,b,c){if(c)for(var d in c)c.hasOwnProperty(d)&&(this[d]=c[d]);this.doc=a;this.node=b};vc.prototype.clear=function(){var a=this.doc.cm,b=this.line.widgets,c=this.line,d=N(c);if(null!=d&&b){for(var e=0;e<b.length;++e)b[e]==this&&b.splice(e--,1);b.length||(c.widgets=null);var g=hc(this);P(c,Math.max(0,c.height-g));
+a&&(Ea(a,function(){var b=-g;Ha(c)<(a.curOp&&a.curOp.scrollTop||a.doc.scrollTop)&&$c(a,b);kb(a,d,"widget")}),qa(a,"lineWidgetCleared",a,this,d))}};vc.prototype.changed=function(){var a=this,b=this.height,c=this.doc.cm,d=this.line;this.height=null;var e=hc(this)-b;e&&(P(d,d.height+e),c&&Ea(c,function(){c.curOp.forceUpdate=!0;Ha(d)<(c.curOp&&c.curOp.scrollTop||c.doc.scrollTop)&&$c(c,e);qa(c,"lineWidgetChanged",c,a,N(d))}))};La(vc);var wf=0,mb=function(a,b){this.lines=[];this.type=b;this.doc=a;this.id=
+++wf};mb.prototype.clear=function(){if(!this.explicitlyCleared){var a=this.doc.cm,b=a&&!a.curOp;b&&yb(a);if(Da(this,"clear")){var c=this.find();c&&qa(this,"clear",c.from,c.to)}for(var d=c=null,e=0;e<this.lines.length;++e){var g=this.lines[e],k=Ba(g.markedSpans,this);a&&!this.collapsed?kb(a,N(g),"text"):a&&(null!=k.to&&(d=N(g)),null!=k.from&&(c=N(g)));for(var l=g,m=void 0,r=g.markedSpans,t=k,f=0;f<r.length;++f)r[f]!=t&&(m||(m=[])).push(r[f]);l.markedSpans=m;null==k.from&&this.collapsed&&!$a(this.doc,
+g)&&a&&P(g,tb(a.display))}if(a&&this.collapsed&&!a.options.lineWrapping)for(e=0;e<this.lines.length;++e)g=Ga(this.lines[e]),k=xa(g),k>a.display.maxLineLength&&(a.display.maxLine=g,a.display.maxLineLength=k,a.display.maxLineChanged=!0);null!=c&&a&&this.collapsed&&ya(a,c,d+1);this.lines.length=0;this.explicitlyCleared=!0;this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,a&&mf(a.doc));a&&qa(a,"markerCleared",a,this,c,d);b&&zb(a);this.parent&&this.parent.clear()}};mb.prototype.find=function(a,b){null==
+a&&"bookmark"==this.type&&(a=1);for(var c,d,e=0;e<this.lines.length;++e){var g=this.lines[e],k=Ba(g.markedSpans,this);if(null!=k.from&&(c=H(b?g:N(g),k.from),-1==a))return c;if(null!=k.to&&(d=H(b?g:N(g),k.to),1==a))return d}return c&&{from:c,to:d}};mb.prototype.changed=function(){var a=this,b=this.find(-1,!0),c=this,d=this.doc.cm;b&&d&&Ea(d,function(){var e=b.line,g=N(b.line);if(g=xd(d,g))ze(g),d.curOp.selectionChanged=d.curOp.forceUpdate=!0;d.curOp.updateMaxLine=!0;$a(c.doc,e)||null==c.height||(g=
+c.height,c.height=null,(g=hc(c)-g)&&P(e,e.height+g));qa(d,"markerChanged",d,a)})};mb.prototype.attachLine=function(a){if(!this.lines.length&&this.doc.cm){var b=this.doc.cm.curOp;b.maybeHiddenMarkers&&-1!=r(b.maybeHiddenMarkers,this)||(b.maybeUnhiddenMarkers||(b.maybeUnhiddenMarkers=[])).push(this)}this.lines.push(a)};mb.prototype.detachLine=function(a){this.lines.splice(r(this.lines,a),1);!this.lines.length&&this.doc.cm&&(a=this.doc.cm.curOp,(a.maybeHiddenMarkers||(a.maybeHiddenMarkers=[])).push(this))};
+La(mb);var wc=function(a,b){this.markers=a;this.primary=b;for(b=0;b<a.length;++b)a[b].parent=this};wc.prototype.clear=function(){if(!this.explicitlyCleared){this.explicitlyCleared=!0;for(var a=0;a<this.markers.length;++a)this.markers[a].clear();qa(this,"clear")}};wc.prototype.find=function(a,b){return this.primary.find(a,b)};La(wc);var gh=0,za=function(a,b,c,d,e){if(!(this instanceof za))return new za(a,b,c,d,e);null==c&&(c=0);uc.call(this,[new tc([new Mb("",null)])]);this.first=c;this.scrollTop=
+this.scrollLeft=0;this.cantEdit=!1;this.cleanGeneration=1;this.modeFrontier=this.highlightFrontier=c;c=H(c,0);this.sel=db(c);this.history=new ed(null);this.id=++gh;this.modeOption=b;this.lineSep=d;this.direction="rtl"==e?"rtl":"ltr";this.extend=!1;"string"==typeof a&&(a=this.splitLines(a));Sd(this,{from:c,to:c,text:a});ra(this,db(c),Ya)};za.prototype=z(uc.prototype,{constructor:za,iter:function(a,b,c){c?this.iterN(a-this.first,b-a,c):this.iterN(this.first,this.first+this.size,a)},insert:function(a,
+b){for(var c=0,d=0;d<b.length;++d)c+=b[d].height;this.insertInner(a-this.first,b,c)},remove:function(a,b){this.removeInner(a-this.first,b)},getValue:function(a){var b=M(this,this.first,this.first+this.size);return!1===a?b:b.join(a||this.lineSeparator())},setValue:pa(function(a){var b=H(this.first,0),c=this.first+this.size-1;Pb(this,{from:b,to:H(c,I(this,c).text.length),text:this.splitLines(a),origin:"setValue",full:!0},!0);this.cm&&mc(this.cm,0,0);ra(this,db(b),Ya)}),replaceRange:function(a,b,c,d){b=
+R(this,b);c=c?R(this,c):b;Qb(this,a,b,c,d)},getRange:function(a,b,c){a=O(this,R(this,a),R(this,b));return!1===c?a:a.join(c||this.lineSeparator())},getLine:function(a){return(a=this.getLineHandle(a))&&a.text},getLineHandle:function(a){if(U(this,a))return I(this,a)},getLineNumber:function(a){return N(a)},getLineHandleVisualStart:function(a){"number"==typeof a&&(a=I(this,a));return Ga(a)},lineCount:function(){return this.size},firstLine:function(){return this.first},lastLine:function(){return this.first+
+this.size-1},clipPos:function(a){return R(this,a)},getCursor:function(a){var b=this.sel.primary();return null==a||"head"==a?b.head:"anchor"==a?b.anchor:"end"==a||"to"==a||!1===a?b.to():b.from()},listSelections:function(){return this.sel.ranges},somethingSelected:function(){return this.sel.somethingSelected()},setCursor:pa(function(a,b,c){a=R(this,"number"==typeof a?H(a,b||0):a);ra(this,db(a,null),c)}),setSelection:pa(function(a,b,c){var d=R(this,a);a=R(this,b||a);ra(this,db(d,a),c)}),extendSelection:pa(function(a,
+b,c){gd(this,R(this,a),b&&R(this,b),c)}),extendSelections:pa(function(a,b){hf(this,X(this,a),b)}),extendSelectionsBy:pa(function(a,b){a=y(this.sel.ranges,a);hf(this,X(this,a),b)}),setSelections:pa(function(a,b,c){if(a.length){for(var d=[],e=0;e<a.length;e++)d[e]=new W(R(this,a[e].anchor),R(this,a[e].head));null==b&&(b=Math.min(a.length-1,this.sel.primIndex));ra(this,Sa(d,b),c)}}),addSelection:pa(function(a,b,c){var d=this.sel.ranges.slice(0);d.push(new W(R(this,a),R(this,b||a)));ra(this,Sa(d,d.length-
+1),c)}),getSelection:function(a){for(var b=this.sel.ranges,c,d=0;d<b.length;d++){var e=O(this,b[d].from(),b[d].to());c=c?c.concat(e):e}return!1===a?c:c.join(a||this.lineSeparator())},getSelections:function(a){for(var b=[],c=this.sel.ranges,d=0;d<c.length;d++){var e=O(this,c[d].from(),c[d].to());!1!==a&&(e=e.join(a||this.lineSeparator()));b[d]=e}return b},replaceSelection:function(a,b,c){for(var d=[],e=0;e<this.sel.ranges.length;e++)d[e]=a;this.replaceSelections(d,b,c||"+input")},replaceSelections:pa(function(a,
+b,c){for(var d=[],e=this.sel,g=0;g<e.ranges.length;g++){var k=e.ranges[g];d[g]={from:k.from(),to:k.to(),text:this.splitLines(a[g]),origin:c}}if(a=b&&"end"!=b){a=[];e=c=H(this.first,0);for(g=0;g<d.length;g++){var l=d[g];k=$e(l.from,c,e);var m=$e(lb(l),c,e);c=l.to;e=m;"around"==b?(l=this.sel.ranges[g],l=0>Q(l.head,l.anchor),a[g]=new W(l?m:k,l?k:m)):a[g]=new W(k,k)}a=new Ja(a,this.sel.primIndex)}b=a;for(a=d.length-1;0<=a;a--)Pb(this,d[a]);b?jf(this,b):this.cm&&Kb(this.cm)}),undo:pa(function(){id(this,
+"undo")}),redo:pa(function(){id(this,"redo")}),undoSelection:pa(function(){id(this,"undo",!0)}),redoSelection:pa(function(){id(this,"redo",!0)}),setExtending:function(a){this.extend=a},getExtending:function(){return this.extend},historySize:function(){for(var a=this.history,b=0,c=0,d=0;d<a.done.length;d++)a.done[d].ranges||++b;for(d=0;d<a.undone.length;d++)a.undone[d].ranges||++c;return{undo:b,redo:c}},clearHistory:function(){this.history=new ed(this.history.maxGeneration)},markClean:function(){this.cleanGeneration=
+this.changeGeneration(!0)},changeGeneration:function(a){a&&(this.history.lastOp=this.history.lastSelOp=this.history.lastOrigin=null);return this.history.generation},isClean:function(a){return this.history.generation==(a||this.cleanGeneration)},getHistory:function(){return{done:Nb(this.history.done),undone:Nb(this.history.undone)}},setHistory:function(a){var b=this.history=new ed(this.history.maxGeneration);b.done=Nb(a.done.slice(0),null,!0);b.undone=Nb(a.undone.slice(0),null,!0)},setGutterMarker:pa(function(a,
+b,c){return sc(this,a,"gutter",function(a){var d=a.gutterMarkers||(a.gutterMarkers={});d[b]=c;!c&&G(d)&&(a.gutterMarkers=null);return!0})}),clearGutter:pa(function(a){var b=this;this.iter(function(c){c.gutterMarkers&&c.gutterMarkers[a]&&sc(b,c,"gutter",function(){c.gutterMarkers[a]=null;G(c.gutterMarkers)&&(c.gutterMarkers=null);return!0})})}),lineInfo:function(a){if("number"==typeof a){if(!U(this,a))return null;var b=a;a=I(this,a);if(!a)return null}else if(b=N(a),null==b)return null;return{line:b,
+handle:a,text:a.text,gutterMarkers:a.gutterMarkers,textClass:a.textClass,bgClass:a.bgClass,wrapClass:a.wrapClass,widgets:a.widgets}},addLineClass:pa(function(b,c,d){return sc(this,b,"gutter"==c?"gutter":"class",function(b){var e="text"==c?"textClass":"background"==c?"bgClass":"gutter"==c?"gutterClass":"wrapClass";if(b[e]){if(a(d).test(b[e]))return!1;b[e]+=" "+d}else b[e]=d;return!0})}),removeLineClass:pa(function(b,c,d){return sc(this,b,"gutter"==c?"gutter":"class",function(b){var e="text"==c?"textClass":
+"background"==c?"bgClass":"gutter"==c?"gutterClass":"wrapClass",g=b[e];if(g)if(null==d)b[e]=null;else{var k=g.match(a(d));if(!k)return!1;var l=k.index+k[0].length;b[e]=g.slice(0,k.index)+(k.index&&l!=g.length?" ":"")+g.slice(l)||null}else return!1;return!0})}),addLineWidget:pa(function(a,b,c){return Bg(this,a,b,c)}),removeLineWidget:function(a){a.clear()},markText:function(a,b,c){return Rb(this,R(this,a),R(this,b),c,c&&c.type||"range")},setBookmark:function(a,b){b={replacedWith:b&&(null==b.nodeType?
+b.widget:b),insertLeft:b&&b.insertLeft,clearWhenEmpty:!1,shared:b&&b.shared,handleMouseEvents:b&&b.handleMouseEvents};a=R(this,a);return Rb(this,a,a,b,"bookmark")},findMarksAt:function(a){a=R(this,a);var b=[],c=I(this,a.line).markedSpans;if(c)for(var d=0;d<c.length;++d){var e=c[d];(null==e.from||e.from<=a.ch)&&(null==e.to||e.to>=a.ch)&&b.push(e.marker.parent||e.marker)}return b},findMarks:function(a,b,c){a=R(this,a);b=R(this,b);var d=[],e=a.line;this.iter(a.line,b.line+1,function(g){if(g=g.markedSpans)for(var k=
+0;k<g.length;k++){var l=g[k];null!=l.to&&e==a.line&&a.ch>=l.to||null==l.from&&e!=a.line||null!=l.from&&e==b.line&&l.from>=b.ch||c&&!c(l.marker)||d.push(l.marker.parent||l.marker)}++e});return d},getAllMarks:function(){var a=[];this.iter(function(b){if(b=b.markedSpans)for(var c=0;c<b.length;++c)null!=b[c].from&&a.push(b[c].marker)});return a},posFromIndex:function(a){var b,c=this.first,d=this.lineSeparator().length;this.iter(function(e){e=e.text.length+d;if(e>a)return b=a,!0;a-=e;++c});return R(this,
+H(c,b))},indexFromPos:function(a){a=R(this,a);var b=a.ch;if(a.line<this.first||0>a.ch)return 0;var c=this.lineSeparator().length;this.iter(this.first,a.line,function(a){b+=a.text.length+c});return b},copy:function(a){var b=new za(M(this,this.first,this.first+this.size),this.modeOption,this.first,this.lineSep,this.direction);b.scrollTop=this.scrollTop;b.scrollLeft=this.scrollLeft;b.sel=this.sel;b.extend=!1;a&&(b.history.undoDepth=this.history.undoDepth,b.setHistory(this.getHistory()));return b},linkedDoc:function(a){a||
+(a={});var b=this.first,c=this.first+this.size;null!=a.from&&a.from>b&&(b=a.from);null!=a.to&&a.to<c&&(c=a.to);b=new za(M(this,b,c),a.mode||this.modeOption,b,this.lineSep,this.direction);a.sharedHist&&(b.history=this.history);(this.linked||(this.linked=[])).push({doc:b,sharedHist:a.sharedHist});b.linked=[{doc:this,isParent:!0,sharedHist:a.sharedHist}];a=xf(this);for(c=0;c<a.length;c++){var d=a[c],e=d.find(),g=b.clipPos(e.from);e=b.clipPos(e.to);Q(g,e)&&(g=Rb(b,g,e,d.primary,d.primary.type),d.markers.push(g),
+g.parent=d)}return b},unlinkDoc:function(a){a instanceof ea&&(a=a.doc);if(this.linked)for(var b=0;b<this.linked.length;++b)if(this.linked[b].doc==a){this.linked.splice(b,1);a.unlinkDoc(this);Dg(xf(this));break}if(a.history==this.history){var c=[a.id];Ab(a,function(a){return c.push(a.id)},!0);a.history=new ed(null);a.history.done=Nb(this.history.done,c);a.history.undone=Nb(this.history.undone,c)}},iterLinkedDocs:function(a){Ab(this,a)},getMode:function(){return this.mode},getEditor:function(){return this.cm},
+splitLines:function(a){return this.lineSep?a.split(this.lineSep):fe(a)},lineSeparator:function(){return this.lineSep||"\n"},setDirection:pa(function(a){"rtl"!=a&&(a="ltr");a!=this.direction&&(this.direction=a,this.iter(function(a){return a.order=null}),this.cm&&xg(this.cm))})});za.prototype.eachLine=za.prototype.iter;for(var zf=0,Qf=!1,nb={3:"Enter",8:"Backspace",9:"Tab",13:"Enter",16:"Shift",17:"Ctrl",18:"Alt",19:"Pause",20:"CapsLock",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",
+37:"Left",38:"Up",39:"Right",40:"Down",44:"PrintScrn",45:"Insert",46:"Delete",59:";",61:"=",91:"Mod",92:"Mod",93:"Mod",106:"*",107:"=",109:"-",110:".",111:"/",127:"Delete",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",63232:"Up",63233:"Down",63234:"Left",63235:"Right",63272:"Delete",63273:"Home",63275:"End",63276:"PageUp",63277:"PageDown",63302:"Insert"},Jc=0;10>Jc;Jc++)nb[Jc+48]=nb[Jc+96]=String(Jc);for(var pd=65;90>=pd;pd++)nb[pd]=String.fromCharCode(pd);
+for(var Kc=1;12>=Kc;Kc++)nb[Kc+111]=nb[Kc+63235]="F"+Kc;var xc={basic:{Left:"goCharLeft",Right:"goCharRight",Up:"goLineUp",Down:"goLineDown",End:"goLineEnd",Home:"goLineStartSmart",PageUp:"goPageUp",PageDown:"goPageDown",Delete:"delCharAfter",Backspace:"delCharBefore","Shift-Backspace":"delCharBefore",Tab:"defaultTab","Shift-Tab":"indentAuto",Enter:"newlineAndIndent",Insert:"toggleOverwrite",Esc:"singleSelection"},pcDefault:{"Ctrl-A":"selectAll","Ctrl-D":"deleteLine","Ctrl-Z":"undo","Shift-Ctrl-Z":"redo",
+"Ctrl-Y":"redo","Ctrl-Home":"goDocStart","Ctrl-End":"goDocEnd","Ctrl-Up":"goLineUp","Ctrl-Down":"goLineDown","Ctrl-Left":"goGroupLeft","Ctrl-Right":"goGroupRight","Alt-Left":"goLineStart","Alt-Right":"goLineEnd","Ctrl-Backspace":"delGroupBefore","Ctrl-Delete":"delGroupAfter","Ctrl-S":"save","Ctrl-F":"find","Ctrl-G":"findNext","Shift-Ctrl-G":"findPrev","Shift-Ctrl-F":"replace","Shift-Ctrl-R":"replaceAll","Ctrl-[":"indentLess","Ctrl-]":"indentMore","Ctrl-U":"undoSelection","Shift-Ctrl-U":"redoSelection",
+"Alt-U":"redoSelection",fallthrough:"basic"},emacsy:{"Ctrl-F":"goCharRight","Ctrl-B":"goCharLeft","Ctrl-P":"goLineUp","Ctrl-N":"goLineDown","Alt-F":"goWordRight","Alt-B":"goWordLeft","Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd","Ctrl-V":"goPageDown","Shift-Ctrl-V":"goPageUp","Ctrl-D":"delCharAfter","Ctrl-H":"delCharBefore","Alt-D":"delWordAfter","Alt-Backspace":"delWordBefore","Ctrl-K":"killLine","Ctrl-T":"transposeChars","Ctrl-O":"openLine"},macDefault:{"Cmd-A":"selectAll","Cmd-D":"deleteLine","Cmd-Z":"undo",
+"Shift-Cmd-Z":"redo","Cmd-Y":"redo","Cmd-Home":"goDocStart","Cmd-Up":"goDocStart","Cmd-End":"goDocEnd","Cmd-Down":"goDocEnd","Alt-Left":"goGroupLeft","Alt-Right":"goGroupRight","Cmd-Left":"goLineLeft","Cmd-Right":"goLineRight","Alt-Backspace":"delGroupBefore","Ctrl-Alt-Backspace":"delGroupAfter","Alt-Delete":"delGroupAfter","Cmd-S":"save","Cmd-F":"find","Cmd-G":"findNext","Shift-Cmd-G":"findPrev","Cmd-Alt-F":"replace","Shift-Cmd-Alt-F":"replaceAll","Cmd-[":"indentLess","Cmd-]":"indentMore","Cmd-Backspace":"delWrappedLineLeft",
+"Cmd-Delete":"delWrappedLineRight","Cmd-U":"undoSelection","Shift-Cmd-U":"redoSelection","Ctrl-Up":"goDocStart","Ctrl-Down":"goDocEnd",fallthrough:["basic","emacsy"]}};xc["default"]=Ma?xc.macDefault:xc.pcDefault;var yc={selectAll:of,singleSelection:function(a){return a.setSelection(a.getCursor("anchor"),a.getCursor("head"),Ya)},killLine:function(a){return Tb(a,function(b){if(b.empty()){var c=I(a.doc,b.head.line).text.length;return b.head.ch==c&&b.head.line<a.lastLine()?{from:b.head,to:H(b.head.line+
+1,0)}:{from:b.head,to:H(b.head.line,c)}}return{from:b.from(),to:b.to()}})},deleteLine:function(a){return Tb(a,function(b){return{from:H(b.from().line,0),to:R(a.doc,H(b.to().line+1,0))}})},delLineLeft:function(a){return Tb(a,function(a){return{from:H(a.from().line,0),to:a.from()}})},delWrappedLineLeft:function(a){return Tb(a,function(b){var c=a.charCoords(b.head,"div").top+5;return{from:a.coordsChar({left:0,top:c},"div"),to:b.from()}})},delWrappedLineRight:function(a){return Tb(a,function(b){var c=
+a.charCoords(b.head,"div").top+5;c=a.coordsChar({left:a.display.lineDiv.offsetWidth+100,top:c},"div");return{from:b.from(),to:c}})},undo:function(a){return a.undo()},redo:function(a){return a.redo()},undoSelection:function(a){return a.undoSelection()},redoSelection:function(a){return a.redoSelection()},goDocStart:function(a){return a.extendSelection(H(a.firstLine(),0))},goDocEnd:function(a){return a.extendSelection(H(a.lastLine()))},goLineStart:function(a){return a.extendSelectionsBy(function(b){return Ff(a,
+b.head.line)},{origin:"+move",bias:1})},goLineStartSmart:function(a){return a.extendSelectionsBy(function(b){return Gf(a,b.head)},{origin:"+move",bias:1})},goLineEnd:function(a){return a.extendSelectionsBy(function(b){b=b.head.line;var c=I(a.doc,b);var d=c;for(var e;e=wa(d,!1);)d=e.find(1,!0).line;d!=c&&(b=N(d));return Zd(!0,a,c,b,-1)},{origin:"+move",bias:-1})},goLineRight:function(a){return a.extendSelectionsBy(function(b){b=a.cursorCoords(b.head,"div").top+5;return a.coordsChar({left:a.display.lineDiv.offsetWidth+
+100,top:b},"div")},Hc)},goLineLeft:function(a){return a.extendSelectionsBy(function(b){b=a.cursorCoords(b.head,"div").top+5;return a.coordsChar({left:0,top:b},"div")},Hc)},goLineLeftSmart:function(a){return a.extendSelectionsBy(function(b){var c=a.cursorCoords(b.head,"div").top+5;c=a.coordsChar({left:0,top:c},"div");return c.ch<a.getLine(c.line).search(/\S/)?Gf(a,b.head):c},Hc)},goLineUp:function(a){return a.moveV(-1,"line")},goLineDown:function(a){return a.moveV(1,"line")},goPageUp:function(a){return a.moveV(-1,
+"page")},goPageDown:function(a){return a.moveV(1,"page")},goCharLeft:function(a){return a.moveH(-1,"char")},goCharRight:function(a){return a.moveH(1,"char")},goColumnLeft:function(a){return a.moveH(-1,"column")},goColumnRight:function(a){return a.moveH(1,"column")},goWordLeft:function(a){return a.moveH(-1,"word")},goGroupRight:function(a){return a.moveH(1,"group")},goGroupLeft:function(a){return a.moveH(-1,"group")},goWordRight:function(a){return a.moveH(1,"word")},delCharBefore:function(a){return a.deleteH(-1,
+"char")},delCharAfter:function(a){return a.deleteH(1,"char")},delWordBefore:function(a){return a.deleteH(-1,"word")},delWordAfter:function(a){return a.deleteH(1,"word")},delGroupBefore:function(a){return a.deleteH(-1,"group")},delGroupAfter:function(a){return a.deleteH(1,"group")},indentAuto:function(a){return a.indentSelection("smart")},indentMore:function(a){return a.indentSelection("add")},indentLess:function(a){return a.indentSelection("subtract")},insertTab:function(a){return a.replaceSelection("\t")},
+insertSoftTab:function(a){for(var b=[],c=a.listSelections(),d=a.options.tabSize,e=0;e<c.length;e++){var g=c[e].from();g=m(a.getLine(g.line),g.ch,d);b.push(v(d-g%d))}a.replaceSelections(b)},defaultTab:function(a){a.somethingSelected()?a.indentSelection("add"):a.execCommand("insertTab")},transposeChars:function(a){return Ea(a,function(){for(var b=a.listSelections(),c=[],d=0;d<b.length;d++)if(b[d].empty()){var e=b[d].head,g=I(a.doc,e.line).text;if(g)if(e.ch==g.length&&(e=new H(e.line,e.ch-1)),0<e.ch)e=
+new H(e.line,e.ch+1),a.replaceRange(g.charAt(e.ch-1)+g.charAt(e.ch-2),H(e.line,e.ch-2),e,"+transpose");else if(e.line>a.doc.first){var k=I(a.doc,e.line-1).text;k&&(e=new H(e.line,1),a.replaceRange(g.charAt(0)+a.doc.lineSeparator()+k.charAt(k.length-1),H(e.line-1,k.length-1),e,"+transpose"))}c.push(new W(e,e))}a.setSelections(c)})},newlineAndIndent:function(a){return Ea(a,function(){for(var b=a.listSelections(),c=b.length-1;0<=c;c--)a.replaceRange(a.doc.lineSeparator(),b[c].anchor,b[c].head,"+input");
+b=a.listSelections();for(c=0;c<b.length;c++)a.indentLine(b[c].from().line,null,!0);Kb(a)})},openLine:function(a){return a.replaceSelection("\n","start")},toggleOverwrite:function(a){return a.toggleOverwrite()}},Lg=new Bb,$d=null,ae=function(a,b,c){this.time=a;this.pos=b;this.button=c};ae.prototype.compare=function(a,b,c){return this.time+400>a&&0==Q(b,this.pos)&&c==this.button};var Bc,Ac,Ub={toString:function(){return"CodeMirror.Init"}},Pf={},nd={};ea.defaults=Pf;ea.optionHandlers=nd;var de=[];ea.defineInitHook=
+function(a){return de.push(a)};var Fa=null,Y=function(a){this.cm=a;this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null;this.polling=new Bb;this.composing=null;this.gracePeriod=!1;this.readDOMTimeout=null};Y.prototype.init=function(a){function b(a){if(!ia(e,a)){if(e.somethingSelected())Fa={lineWise:!1,text:e.getSelections()},"cut"==a.type&&e.replaceSelection("",null,"cut");else if(e.options.lineWiseCopyCut){var b=Uf(e);Fa={lineWise:!0,text:b.text};"cut"==a.type&&
+e.operation(function(){e.setSelections(b.ranges,0,Ya);e.replaceSelection("",null,"cut")})}else return;if(a.clipboardData){a.clipboardData.clearData();var c=Fa.text.join("\n");a.clipboardData.setData("Text",c);if(a.clipboardData.getData("Text")==c){a.preventDefault();return}}var k=Wf();a=k.firstChild;e.display.lineSpace.insertBefore(k,e.display.lineSpace.firstChild);a.value=Fa.text.join("\n");var l=document.activeElement;Gc(a);setTimeout(function(){e.display.lineSpace.removeChild(k);l.focus();l==g&&
+d.showPrimarySelection()},50)}}var c=this,d=this,e=d.cm,g=d.div=a.lineDiv;Vf(g,e.options.spellcheck);T(g,"paste",function(a){ia(e,a)||Tf(a,e)||11>=ca&&setTimeout(oa(e,function(){return c.updateFromDOM()}),20)});T(g,"compositionstart",function(a){c.composing={data:a.data,done:!1}});T(g,"compositionupdate",function(a){c.composing||(c.composing={data:a.data,done:!1})});T(g,"compositionend",function(a){c.composing&&(a.data!=c.composing.data&&c.readFromDOMSoon(),c.composing.done=!0)});T(g,"touchstart",
+function(){return d.forceCompositionEnd()});T(g,"input",function(){c.composing||c.readFromDOMSoon()});T(g,"copy",b);T(g,"cut",b)};Y.prototype.prepareSelection=function(){var a=Ie(this.cm,!1);a.focus=this.cm.state.focused;return a};Y.prototype.showSelection=function(a,b){a&&this.cm.display.view.length&&((a.focus||b)&&this.showPrimarySelection(),this.showMultipleSelections(a))};Y.prototype.showPrimarySelection=function(){var a=window.getSelection(),b=this.cm,c=b.doc.sel.primary(),d=c.from();c=c.to();
+if(b.display.viewTo==b.display.viewFrom||d.line>=b.display.viewTo||c.line<b.display.viewFrom)a.removeAllRanges();else{var e=od(b,a.anchorNode,a.anchorOffset),g=od(b,a.focusNode,a.focusOffset);if(!e||e.bad||!g||g.bad||0!=Q(fa(e,g),d)||0!=Q(ka(e,g),c))if(e=b.display.view,d=d.line>=b.display.viewFrom&&Yf(b,d)||{node:e[0].measure.map[2],offset:0},c=c.line<b.display.viewTo&&Yf(b,c),c||(c=e[e.length-1].measure,c=c.maps?c.maps[c.maps.length-1]:c.map,c={node:c[c.length-1],offset:c[c.length-2]-c[c.length-
+3]}),d&&c){e=a.rangeCount&&a.getRangeAt(0);try{var k=ec(d.node,d.offset,c.offset,c.node)}catch(kh){}k&&(!eb&&b.state.focused?(a.collapse(d.node,d.offset),k.collapsed||(a.removeAllRanges(),a.addRange(k))):(a.removeAllRanges(),a.addRange(k)),e&&null==a.anchorNode?a.addRange(e):eb&&this.startGracePeriod());this.rememberSelection()}else a.removeAllRanges()}};Y.prototype.startGracePeriod=function(){var a=this;clearTimeout(this.gracePeriod);this.gracePeriod=setTimeout(function(){a.gracePeriod=!1;a.selectionChanged()&&
+a.cm.operation(function(){return a.cm.curOp.selectionChanged=!0})},20)};Y.prototype.showMultipleSelections=function(a){h(this.cm.display.cursorDiv,a.cursors);h(this.cm.display.selectionDiv,a.selection)};Y.prototype.rememberSelection=function(){var a=window.getSelection();this.lastAnchorNode=a.anchorNode;this.lastAnchorOffset=a.anchorOffset;this.lastFocusNode=a.focusNode;this.lastFocusOffset=a.focusOffset};Y.prototype.selectionInEditor=function(){var a=window.getSelection();if(!a.rangeCount)return!1;
+a=a.getRangeAt(0).commonAncestorContainer;return d(this.div,a)};Y.prototype.focus=function(){"nocursor"!=this.cm.options.readOnly&&(this.selectionInEditor()||this.showSelection(this.prepareSelection(),!0),this.div.focus())};Y.prototype.blur=function(){this.div.blur()};Y.prototype.getField=function(){return this.div};Y.prototype.supportsTouch=function(){return!0};Y.prototype.receivedFocus=function(){function a(){b.cm.state.focused&&(b.pollSelection(),b.polling.set(b.cm.options.pollInterval,a))}var b=
+this;this.selectionInEditor()?this.pollSelection():Ea(this.cm,function(){return b.cm.curOp.selectionChanged=!0});this.polling.set(this.cm.options.pollInterval,a)};Y.prototype.selectionChanged=function(){var a=window.getSelection();return a.anchorNode!=this.lastAnchorNode||a.anchorOffset!=this.lastAnchorOffset||a.focusNode!=this.lastFocusNode||a.focusOffset!=this.lastFocusOffset};Y.prototype.pollSelection=function(){if(null==this.readDOMTimeout&&!this.gracePeriod&&this.selectionChanged()){var a=window.getSelection(),
+b=this.cm;if(Wc&&Vc&&this.cm.options.gutters.length&&$g(a.anchorNode))this.cm.triggerOnKeyDown({type:"keydown",keyCode:8,preventDefault:Math.abs}),this.blur(),this.focus();else if(!this.composing){this.rememberSelection();var c=od(b,a.anchorNode,a.anchorOffset),d=od(b,a.focusNode,a.focusOffset);c&&d&&Ea(b,function(){ra(b.doc,db(c,d),Ya);if(c.bad||d.bad)b.curOp.selectionChanged=!0})}}};Y.prototype.pollContent=function(){null!=this.readDOMTimeout&&(clearTimeout(this.readDOMTimeout),this.readDOMTimeout=
+null);var a=this.cm,b=a.display,c=a.doc.sel.primary(),d=c.from(),e=c.to();0==d.ch&&d.line>a.firstLine()&&(d=H(d.line-1,I(a.doc,d.line-1).length));e.ch==I(a.doc,e.line).text.length&&e.line<a.lastLine()&&(e=H(e.line+1,0));if(d.line<b.viewFrom||e.line>b.viewTo-1)return!1;var g;d.line==b.viewFrom||0==(g=rb(a,d.line))?(c=N(b.view[0].line),g=b.view[0].node):(c=N(b.view[g].line),g=b.view[g-1].node.nextSibling);var k=rb(a,e.line);k==b.view.length-1?(e=b.viewTo-1,b=b.lineDiv.lastChild):(e=N(b.view[k+1].line)-
+1,b=b.view[k+1].node.previousSibling);if(!g)return!1;b=a.doc.splitLines(ah(a,g,b,c,e));for(g=O(a.doc,H(c,0),H(e,I(a.doc,e).text.length));1<b.length&&1<g.length;)if(w(b)==w(g))b.pop(),g.pop(),e--;else if(b[0]==g[0])b.shift(),g.shift(),c++;else break;var l=0;k=0;for(var m=b[0],r=g[0],t=Math.min(m.length,r.length);l<t&&m.charCodeAt(l)==r.charCodeAt(l);)++l;m=w(b);r=w(g);for(t=Math.min(m.length-(1==b.length?l:0),r.length-(1==g.length?l:0));k<t&&m.charCodeAt(m.length-k-1)==r.charCodeAt(r.length-k-1);)++k;
+if(1==b.length&&1==g.length&&c==d.line)for(;l&&l>d.ch&&m.charCodeAt(m.length-k-1)==r.charCodeAt(r.length-k-1);)l--,k++;b[b.length-1]=m.slice(0,m.length-k).replace(/^\u200b+/,"");b[0]=b[0].slice(l).replace(/\u200b+$/,"");d=H(c,l);c=H(e,g.length?w(g).length-k:0);if(1<b.length||b[0]||Q(d,c))return Qb(a.doc,b,d,c,"+input"),!0};Y.prototype.ensurePolled=function(){this.forceCompositionEnd()};Y.prototype.reset=function(){this.forceCompositionEnd()};Y.prototype.forceCompositionEnd=function(){this.composing&&
+(clearTimeout(this.readDOMTimeout),this.composing=null,this.updateFromDOM(),this.div.blur(),this.div.focus())};Y.prototype.readFromDOMSoon=function(){var a=this;null==this.readDOMTimeout&&(this.readDOMTimeout=setTimeout(function(){a.readDOMTimeout=null;if(a.composing)if(a.composing.done)a.composing=null;else return;a.updateFromDOM()},80))};Y.prototype.updateFromDOM=function(){var a=this;!this.cm.isReadOnly()&&this.pollContent()||Ea(this.cm,function(){return ya(a.cm)})};Y.prototype.setUneditable=function(a){a.contentEditable=
+"false"};Y.prototype.onKeyPress=function(a){0!=a.charCode&&(a.preventDefault(),this.cm.isReadOnly()||oa(this.cm,ee)(this.cm,String.fromCharCode(null==a.charCode?a.keyCode:a.charCode),0))};Y.prototype.readOnlyChanged=function(a){this.div.contentEditable=String("nocursor"!=a)};Y.prototype.onContextMenu=function(){};Y.prototype.resetPosition=function(){};Y.prototype.needsContentAttribute=!0;var ma=function(a){this.cm=a;this.prevInput="";this.pollingFast=!1;this.polling=new Bb;this.hasSelection=!1;this.composing=
+null};ma.prototype.init=function(a){function b(a){if(!ia(e,a)){if(e.somethingSelected())Fa={lineWise:!1,text:e.getSelections()};else if(e.options.lineWiseCopyCut){var b=Uf(e);Fa={lineWise:!0,text:b.text};"cut"==a.type?e.setSelections(b.ranges,null,Ya):(d.prevInput="",k.value=b.text.join("\n"),Gc(k))}else return;"cut"==a.type&&(e.state.cutIncoming=!0)}}var c=this,d=this,e=this.cm,g=this.wrapper=Wf(),k=this.textarea=g.firstChild;a.wrapper.insertBefore(g,a.wrapper.firstChild);Ec&&(k.style.width="0px");
+T(k,"input",function(){V&&9<=ca&&c.hasSelection&&(c.hasSelection=null);d.poll()});T(k,"paste",function(a){ia(e,a)||Tf(a,e)||(e.state.pasteIncoming=!0,d.fastPoll())});T(k,"cut",b);T(k,"copy",b);T(a.scroller,"paste",function(b){cb(a,b)||ia(e,b)||(e.state.pasteIncoming=!0,d.focus())});T(a.lineSpace,"selectstart",function(b){cb(a,b)||na(b)});T(k,"compositionstart",function(){var a=e.getCursor("from");d.composing&&d.composing.range.clear();d.composing={start:a,range:e.markText(a,e.getCursor("to"),{className:"CodeMirror-composing"})}});
+T(k,"compositionend",function(){d.composing&&(d.poll(),d.composing.range.clear(),d.composing=null)})};ma.prototype.prepareSelection=function(){var a=this.cm,b=a.display,c=a.doc,d=Ie(a);if(a.options.moveInputWithCursor){a=Qa(a,c.sel.primary().head,"div");c=b.wrapper.getBoundingClientRect();var e=b.lineDiv.getBoundingClientRect();d.teTop=Math.max(0,Math.min(b.wrapper.clientHeight-10,a.top+e.top-c.top));d.teLeft=Math.max(0,Math.min(b.wrapper.clientWidth-10,a.left+e.left-c.left))}return d};ma.prototype.showSelection=
+function(a){var b=this.cm.display;h(b.cursorDiv,a.cursors);h(b.selectionDiv,a.selection);null!=a.teTop&&(this.wrapper.style.top=a.teTop+"px",this.wrapper.style.left=a.teLeft+"px")};ma.prototype.reset=function(a){if(!this.contextMenuPending&&!this.composing){var b=this.cm;b.somethingSelected()?(this.prevInput="",a=b.getSelection(),this.textarea.value=a,b.state.focused&&Gc(this.textarea),V&&9<=ca&&(this.hasSelection=a)):a||(this.prevInput=this.textarea.value="",V&&9<=ca&&(this.hasSelection=null))}};
+ma.prototype.getField=function(){return this.textarea};ma.prototype.supportsTouch=function(){return!1};ma.prototype.focus=function(){if("nocursor"!=this.cm.options.readOnly&&(!Yb||e()!=this.textarea))try{this.textarea.focus()}catch(J){}};ma.prototype.blur=function(){this.textarea.blur()};ma.prototype.resetPosition=function(){this.wrapper.style.top=this.wrapper.style.left=0};ma.prototype.receivedFocus=function(){this.slowPoll()};ma.prototype.slowPoll=function(){var a=this;this.pollingFast||this.polling.set(this.cm.options.pollInterval,
+function(){a.poll();a.cm.state.focused&&a.slowPoll()})};ma.prototype.fastPoll=function(){function a(){c.poll()||b?(c.pollingFast=!1,c.slowPoll()):(b=!0,c.polling.set(60,a))}var b=!1,c=this;c.pollingFast=!0;c.polling.set(20,a)};ma.prototype.poll=function(){var a=this,b=this.cm,c=this.textarea,d=this.prevInput;if(this.contextMenuPending||!b.state.focused||fh(c)&&!d&&!this.composing||b.isReadOnly()||b.options.disableInput||b.state.keySeq)return!1;var e=c.value;if(e==d&&!b.somethingSelected())return!1;
+if(V&&9<=ca&&this.hasSelection===e||Ma&&/[\uf700-\uf7ff]/.test(e))return b.display.input.reset(),!1;if(b.doc.sel==b.display.selForContextMenu){var g=e.charCodeAt(0);8203!=g||d||(d="\u200b");if(8666==g)return this.reset(),this.cm.execCommand("undo")}var k=0;for(g=Math.min(d.length,e.length);k<g&&d.charCodeAt(k)==e.charCodeAt(k);)++k;Ea(b,function(){ee(b,e.slice(k),d.length-k,null,a.composing?"*compose":null);1E3<e.length||-1<e.indexOf("\n")?c.value=a.prevInput="":a.prevInput=e;a.composing&&(a.composing.range.clear(),
+a.composing.range=b.markText(a.composing.start,b.getCursor("to"),{className:"CodeMirror-composing"}))});return!0};ma.prototype.ensurePolled=function(){this.pollingFast&&this.poll()&&(this.pollingFast=!1)};ma.prototype.onKeyPress=function(){V&&9<=ca&&(this.hasSelection=null);this.fastPoll()};ma.prototype.onContextMenu=function(a){function b(){if(null!=k.selectionStart){var a=e.somethingSelected(),b="\u200b"+(a?k.value:"");k.value="\u21da";k.value=b;d.prevInput=a?"":"\u200b";k.selectionStart=1;k.selectionEnd=
+b.length;g.selForContextMenu=e.doc.sel}}function c(){d.contextMenuPending=!1;d.wrapper.style.cssText=t;k.style.cssText=r;V&&9>ca&&g.scrollbars.setScrollTop(g.scroller.scrollTop=m);if(null!=k.selectionStart){(!V||V&&9>ca)&&b();var a=0,c=function(){g.selForContextMenu==e.doc.sel&&0==k.selectionStart&&0<k.selectionEnd&&"\u200b"==d.prevInput?oa(e,of)(e):10>a++?g.detectingSelectAll=setTimeout(c,500):(g.selForContextMenu=null,g.input.reset())};g.detectingSelectAll=setTimeout(c,200)}}var d=this,e=d.cm,g=
+e.display,k=d.textarea,l=vb(e,a),m=g.scroller.scrollTop;if(l&&!Ra){e.options.resetSelectionOnContextMenu&&-1==e.doc.sel.contains(l)&&oa(e,ra)(e.doc,db(l),Ya);var r=k.style.cssText,t=d.wrapper.style.cssText;d.wrapper.style.cssText="position: absolute";l=d.wrapper.getBoundingClientRect();k.style.cssText="position: absolute; width: 30px; height: 30px;\n      top: "+(a.clientY-l.top-5)+"px; left: "+(a.clientX-l.left-5)+"px;\n      z-index: 1000; background: "+(V?"rgba(255, 255, 255, .05)":"transparent")+
+";\n      outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);";if(sa)var f=window.scrollY;g.input.focus();sa&&window.scrollTo(null,f);g.input.reset();e.somethingSelected()||(k.value=d.prevInput=" ");d.contextMenuPending=!0;g.selForContextMenu=e.doc.sel;clearTimeout(g.detectingSelectAll);V&&9<=ca&&b();if(be){pb(a);var u=function(){ha(window,"mouseup",u);setTimeout(c,20)};T(window,"mouseup",u)}else setTimeout(c,50)}};ma.prototype.readOnlyChanged=
+function(a){a||this.reset();this.textarea.disabled="nocursor"==a};ma.prototype.setUneditable=function(){};ma.prototype.needsContentAttribute=!1;(function(a){function b(b,d,e,g){a.defaults[b]=d;e&&(c[b]=g?function(a,b,c){c!=Ub&&e(a,b,c)}:e)}var c=a.optionHandlers;a.defineOption=b;a.Init=Ub;b("value","",function(a,b){return a.setValue(b)},!0);b("mode",null,function(a,b){a.doc.modeOption=b;Rd(a)},!0);b("indentUnit",2,Rd,!0);b("indentWithTabs",!1);b("smartIndent",!0);b("tabSize",4,function(a){qc(a);jc(a);
+ya(a)},!0);b("lineSeparator",null,function(a,b){if(a.doc.lineSep=b){var c=[],d=a.doc.first;a.doc.iter(function(a){for(var e=0;;){var g=a.text.indexOf(b,e);if(-1==g)break;e=g+b.length;c.push(H(d,g))}d++});for(var e=c.length-1;0<=e;e--)Qb(a.doc,b,c[e],H(c[e].line,c[e].ch+b.length))}});b("specialChars",/[\u0000-\u001f\u007f-\u009f\u00ad\u061c\u200b-\u200f\u2028\u2029\ufeff]/g,function(a,b,c){a.state.specialChars=new RegExp(b.source+(b.test("\t")?"":"|\t"),"g");c!=Ub&&a.refresh()});b("specialCharPlaceholder",
+kg,function(a){return a.refresh()},!0);b("electricChars",!0);b("inputStyle",Yb?"contenteditable":"textarea",function(){throw Error("inputStyle can not (yet) be changed in a running editor");},!0);b("spellcheck",!1,function(a,b){return a.getInputField().spellcheck=b},!0);b("rtlMoveVisually",!eh);b("wholeLineUpdateBefore",!0);b("theme","default",function(a){Of(a);Cc(a)},!0);b("keyMap","default",function(a,b,c){b=jd(b);(c=c!=Ub&&jd(c))&&c.detach&&c.detach(a,b);b.attach&&b.attach(a,c||null)});b("extraKeys",
+null);b("configureMouse",null);b("lineWrapping",!1,Yg,!0);b("gutters",[],function(a){Pd(a.options);Cc(a)},!0);b("fixedGutter",!0,function(a,b){a.display.gutters.style.left=b?Fd(a.display)+"px":"0";a.refresh()},!0);b("coverGutterNextToScrollbar",!1,function(a){return Lb(a)},!0);b("scrollbarStyle","native",function(a){Se(a);Lb(a);a.display.scrollbars.setScrollTop(a.doc.scrollTop);a.display.scrollbars.setScrollLeft(a.doc.scrollLeft)},!0);b("lineNumbers",!1,function(a){Pd(a.options);Cc(a)},!0);b("firstLineNumber",
+1,Cc,!0);b("lineNumberFormatter",function(a){return a},Cc,!0);b("showCursorWhenSelecting",!1,kc,!0);b("resetSelectionOnContextMenu",!0);b("lineWiseCopyCut",!0);b("pasteLinesPerSelection",!0);b("readOnly",!1,function(a,b){"nocursor"==b&&(lc(a),a.display.input.blur());a.display.input.readOnlyChanged(b)});b("disableInput",!1,function(a,b){b||a.display.input.reset()},!0);b("dragDrop",!0,Xg);b("allowDropFileTypes",null);b("cursorBlinkRate",530);b("cursorScrollMargin",0);b("cursorHeight",1,kc,!0);b("singleCursorHeightPerLine",
+!0,kc,!0);b("workTime",100);b("workDelay",100);b("flattenSpans",!0,qc,!0);b("addModeClass",!1,qc,!0);b("pollInterval",100);b("undoDepth",200,function(a,b){return a.doc.history.undoDepth=b});b("historyEventDelay",1250);b("viewportMargin",10,function(a){return a.refresh()},!0);b("maxHighlightLength",1E4,qc,!0);b("moveInputWithCursor",!0,function(a,b){b||a.display.input.resetPosition()});b("tabindex",null,function(a,b){return a.display.input.getField().tabIndex=b||""});b("autofocus",null);b("direction",
+"ltr",function(a,b){return a.doc.setDirection(b)},!0)})(ea);(function(a){var b=a.optionHandlers,c=a.helpers={};a.prototype={constructor:a,focus:function(){window.focus();this.display.input.focus()},setOption:function(a,c){var d=this.options,e=d[a];if(d[a]!=c||"mode"==a)d[a]=c,b.hasOwnProperty(a)&&oa(this,b[a])(this,c,e),da(this,"optionChange",this,a)},getOption:function(a){return this.options[a]},getDoc:function(){return this.doc},addKeyMap:function(a,b){this.state.keyMaps[b?"push":"unshift"](jd(a))},
+removeKeyMap:function(a){for(var b=this.state.keyMaps,c=0;c<b.length;++c)if(b[c]==a||b[c].name==a)return b.splice(c,1),!0},addOverlay:ua(function(b,c){var d=b.token?b:a.getMode(this.options,b);if(d.startState)throw Error("Overlays may not be stateful.");x(this.state.overlays,{mode:d,modeSpec:b,opaque:c&&c.opaque,priority:c&&c.priority||0},function(a){return a.priority});this.state.modeGen++;ya(this)}),removeOverlay:ua(function(a){for(var b=this.state.overlays,c=0;c<b.length;++c){var d=b[c].modeSpec;
+if(d==a||"string"==typeof a&&d.name==a){b.splice(c,1);this.state.modeGen++;ya(this);break}}}),indentLine:ua(function(a,b,c){"string"!=typeof b&&"number"!=typeof b&&(b=null==b?this.options.smartIndent?"smart":"prev":b?"add":"subtract");U(this.doc,a)&&Dc(this,a,b,c)}),indentSelection:ua(function(a){for(var b=this.doc.sel.ranges,c=-1,d=0;d<b.length;d++){var e=b[d];if(e.empty())e.head.line>c&&(Dc(this,e.head.line,a,!0),c=e.head.line,d==this.doc.sel.primIndex&&Kb(this));else{var g=e.from();e=e.to();var k=
+Math.max(c,g.line);c=Math.min(this.lastLine(),e.line-(e.ch?0:1))+1;for(e=k;e<c;++e)Dc(this,e,a);e=this.doc.sel.ranges;0==g.ch&&b.length==e.length&&0<e[d].from().ch&&Vd(this.doc,d,new W(g,e[d].to()),Ya)}}}),getTokenAt:function(a,b){return je(this,a,b)},getLineTokens:function(a,b){return je(this,H(a),b,!0)},getTokenTypeAt:function(a){a=R(this.doc,a);var b=ib(this,I(this.doc,a.line)),c=0,d=(b.length-1)/2;a=a.ch;if(0==a)b=b[2];else for(;;){var e=c+d>>1;if((e?b[2*e-1]:0)>=a)d=e;else if(b[2*e+1]<a)c=e+
+1;else{b=b[2*e+2];break}}c=b?b.indexOf("overlay "):-1;return 0>c?b:0==c?null:b.slice(0,c-1)},getModeAt:function(b){var c=this.doc.mode;return c.innerMode?a.innerMode(c,this.getTokenAt(b).state).mode:c},getHelper:function(a,b){return this.getHelpers(a,b)[0]},getHelpers:function(a,b){var d=[];if(!c.hasOwnProperty(b))return d;var e=c[b];a=this.getModeAt(a);if("string"==typeof a[b])e[a[b]]&&d.push(e[a[b]]);else if(a[b])for(var g=0;g<a[b].length;g++){var k=e[a[b][g]];k&&d.push(k)}else a.helperType&&e[a.helperType]?
+d.push(e[a.helperType]):e[a.name]&&d.push(e[a.name]);for(b=0;b<e._global.length;b++)g=e._global[b],g.pred(a,this)&&-1==r(d,g.val)&&d.push(g.val);return d},getStateAfter:function(a,b){var c=this.doc;a=Math.max(c.first,Math.min(null==a?c.first+c.size-1:a,c.first+c.size-1));return Va(this,a+1,b).state},cursorCoords:function(a,b){var c=this.doc.sel.primary();a=null==a?c.head:"object"==typeof a?R(this.doc,a):a?c.from():c.to();return Qa(this,a,b||"page")},charCoords:function(a,b){return Bd(this,R(this.doc,
+a),b||"page")},coordsChar:function(a,b){a=De(this,a,b||"page");return Dd(this,a.left,a.top)},lineAtHeight:function(a,b){a=De(this,{top:a,left:0},b||"page").top;return S(this.doc,a+this.display.viewOffset)},heightAtLine:function(a,b,c){var d=!1;if("number"==typeof a){var e=this.doc.first+this.doc.size-1;a<this.doc.first?a=this.doc.first:a>e&&(a=e,d=!0);a=I(this.doc,a)}return Xc(this,a,{top:0,left:0},b||"page",c||d).top+(d?this.doc.height-Ha(a):0)},defaultTextHeight:function(){return tb(this.display)},
+defaultCharWidth:function(){return ic(this.display)},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(a,b,c,d,e){var g=this.display;a=Qa(this,R(this.doc,a));var k=a.bottom,l=a.left;b.style.position="absolute";b.setAttribute("cm-ignore-events","true");this.display.input.setUneditable(b);g.sizer.appendChild(b);if("over"==d)k=a.top;else if("above"==d||"near"==d){var m=Math.max(g.wrapper.clientHeight,this.doc.height),r=Math.max(g.sizer.clientWidth,g.lineSpace.clientWidth);
+("above"==d||a.bottom+b.offsetHeight>m)&&a.top>b.offsetHeight?k=a.top-b.offsetHeight:a.bottom+b.offsetHeight<=m&&(k=a.bottom);l+b.offsetWidth>r&&(l=r-b.offsetWidth)}b.style.top=k+"px";b.style.left=b.style.right="";"right"==e?(l=g.sizer.clientWidth-b.offsetWidth,b.style.right="0px"):("left"==e?l=0:"middle"==e&&(l=(g.sizer.clientWidth-b.offsetWidth)/2),b.style.left=l+"px");c&&(a=Ld(this,{left:l,top:k,right:l+b.offsetWidth,bottom:k+b.offsetHeight}),null!=a.scrollTop&&nc(this,a.scrollTop),null!=a.scrollLeft&&
+xb(this,a.scrollLeft))},triggerOnKeyDown:ua(If),triggerOnKeyPress:ua(Kf),triggerOnKeyUp:Jf,triggerOnMouseDown:ua(Lf),execCommand:function(a){if(yc.hasOwnProperty(a))return yc[a].call(null,this)},triggerElectric:ua(function(a){Sf(this,a)}),findPosH:function(a,b,c,d){var e=1;0>b&&(e=-1,b=-b);a=R(this.doc,a);for(var g=0;g<b&&(a=ge(this.doc,a,e,c,d),!a.hitSide);++g);return a},moveH:ua(function(a,b){var c=this;this.extendSelectionsBy(function(d){return c.display.shift||c.doc.extend||d.empty()?ge(c.doc,
+d.head,a,b,c.options.rtlMoveVisually):0>a?d.from():d.to()},Hc)}),deleteH:ua(function(a,b){var c=this.doc;this.doc.sel.somethingSelected()?c.replaceSelection("",null,"+delete"):Tb(this,function(d){var e=ge(c,d.head,a,b,!1);return 0>a?{from:e,to:d.head}:{from:d.head,to:e}})}),findPosV:function(a,b,c,d){var e=1;0>b&&(e=-1,b=-b);var g=R(this.doc,a);for(a=0;a<b&&(g=Qa(this,g,"div"),null==d?d=g.left:g.left=d,g=Xf(this,g,e,c),!g.hitSide);++a);return g},moveV:ua(function(a,b){var c=this,d=this.doc,e=[],g=
+!this.display.shift&&!d.extend&&d.sel.somethingSelected();d.extendSelectionsBy(function(k){if(g)return 0>a?k.from():k.to();var l=Qa(c,k.head,"div");null!=k.goalColumn&&(l.left=k.goalColumn);e.push(l.left);var m=Xf(c,l,a,b);"page"==b&&k==d.sel.primary()&&$c(c,Bd(c,m,"div").top-l.top);return m},Hc);if(e.length)for(var k=0;k<d.sel.ranges.length;k++)d.sel.ranges[k].goalColumn=e[k]}),findWordAt:function(a){var b=I(this.doc,a.line).text,c=a.ch,d=a.ch;if(b){var e=this.getHelper(a,"wordChars");"before"!=
+a.sticky&&d!=b.length||!c?++d:--c;var g=b.charAt(c);for(g=E(g,e)?function(a){return E(a,e)}:/\s/.test(g)?function(a){return/\s/.test(a)}:function(a){return!/\s/.test(a)&&!E(a)};0<c&&g(b.charAt(c-1));)--c;for(;d<b.length&&g(b.charAt(d));)++d}return new W(H(a.line,c),H(a.line,d))},toggleOverwrite:function(a){if(null==a||a!=this.state.overwrite)(this.state.overwrite=!this.state.overwrite)?g(this.display.cursorDiv,"CodeMirror-overwrite"):wb(this.display.cursorDiv,"CodeMirror-overwrite"),da(this,"overwriteToggle",
+this,this.state.overwrite)},hasFocus:function(){return this.display.input.getField()==e()},isReadOnly:function(){return!(!this.options.readOnly&&!this.doc.cantEdit)},scrollTo:ua(function(a,b){mc(this,a,b)}),getScrollInfo:function(){var a=this.display.scroller;return{left:a.scrollLeft,top:a.scrollTop,height:a.scrollHeight-Xa(this)-this.display.barHeight,width:a.scrollWidth-Xa(this)-this.display.barWidth,clientHeight:wd(this),clientWidth:qb(this)}},scrollIntoView:ua(function(a,b){null==a?(a={from:this.doc.sel.primary().head,
+to:null},null==b&&(b=this.options.cursorScrollMargin)):"number"==typeof a?a={from:H(a,0),to:null}:null==a.from&&(a={from:a,to:null});a.to||(a.to=a.from);a.margin=b||0;null!=a.from.line?(ad(this),this.curOp.scrollToPos=a):Pe(this,a.from,a.to,a.margin)}),setSize:ua(function(a,b){var c=this,d=function(a){return"number"==typeof a||/^\d+$/.test(String(a))?a+"px":a};null!=a&&(this.display.wrapper.style.width=d(a));null!=b&&(this.display.wrapper.style.height=d(b));this.options.lineWrapping&&Ae(this);var e=
+this.display.viewFrom;this.doc.iter(e,this.display.viewTo,function(a){if(a.widgets)for(var b=0;b<a.widgets.length;b++)if(a.widgets[b].noHScroll){kb(c,e,"widget");break}++e});this.curOp.forceUpdate=!0;da(this,"refresh",this)}),operation:function(a){return Ea(this,a)},startOperation:function(){return yb(this)},endOperation:function(){return zb(this)},refresh:ua(function(){var a=this.display.cachedTextHeight;ya(this);this.curOp.forceUpdate=!0;jc(this);mc(this,this.doc.scrollLeft,this.doc.scrollTop);
+Kd(this);(null==a||.5<Math.abs(a-tb(this.display)))&&Gd(this);da(this,"refresh",this)}),swapDoc:ua(function(a){var b=this.doc;b.cm=null;bf(this,a);jc(this);this.display.input.reset();mc(this,a.scrollLeft,a.scrollTop);this.curOp.forceScroll=!0;qa(this,"swapDoc",this,b);return b}),getInputField:function(){return this.display.input.getField()},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}};
+La(a);a.registerHelper=function(b,d,e){c.hasOwnProperty(b)||(c[b]=a[b]={_global:[]});c[b][d]=e};a.registerGlobalHelper=function(b,d,e,g){a.registerHelper(b,d,g);c[b]._global.push({pred:e,val:g})}})(ea);var hh="iter insert remove copy getEditor constructor".split(" "),Lc;for(Lc in za.prototype)za.prototype.hasOwnProperty(Lc)&&0>r(hh,Lc)&&(ea.prototype[Lc]=function(a){return function(){return a.apply(this.doc,arguments)}}(za.prototype[Lc]));La(za);ea.inputStyles={textarea:ma,contenteditable:Y};ea.defineMode=
+function(a){ea.defaults.mode||"null"==a||(ea.defaults.mode=a);Rc.apply(this,arguments)};ea.defineMIME=function(a,b){Gb[a]=b};ea.defineMode("null",function(){return{token:function(a){return a.skipToEnd()}}});ea.defineMIME("text/plain","null");ea.defineExtension=function(a,b){ea.prototype[a]=b};ea.defineDocExtension=function(a,b){za.prototype[a]=b};ea.fromTextArea=function(a,b){function c(){a.value=m.getValue()}b=b?t(b):{};b.value=a.value;!b.tabindex&&a.tabIndex&&(b.tabindex=a.tabIndex);!b.placeholder&&
+a.placeholder&&(b.placeholder=a.placeholder);if(null==b.autofocus){var d=e();b.autofocus=d==a||null!=a.getAttribute("autofocus")&&d==document.body}if(a.form&&(T(a.form,"submit",c),!b.leaveSubmitMethodAlone)){var g=a.form;var k=g.submit;try{var l=g.submit=function(){c();g.submit=k;g.submit();g.submit=l}}catch(he){}}b.finishInit=function(b){b.save=c;b.getTextArea=function(){return a};b.toTextArea=function(){b.toTextArea=isNaN;c();a.parentNode.removeChild(b.getWrapperElement());a.style.display="";a.form&&
+(ha(a.form,"submit",c),"function"==typeof a.form.submit&&(a.form.submit=k))}};a.style.display="none";var m=ea(function(b){return a.parentNode.insertBefore(b,a.nextSibling)},b);return m};(function(a){a.off=ha;a.on=T;a.wheelEventPixels=wg;a.Doc=za;a.splitLines=fe;a.countColumn=m;a.findColumn=u;a.isWordChar=D;a.Pass=ld;a.signal=da;a.Line=Mb;a.changeEnd=lb;a.scrollbarModel=Te;a.Pos=H;a.cmpPos=Q;a.modes=sd;a.mimeModes=Gb;a.resolveMode=bb;a.getMode=Na;a.modeExtensions=Hb;a.extendMode=ta;a.copyState=Oa;
+a.startState=bc;a.innerMode=Ib;a.commands=yc;a.keyMap=xc;a.keyName=Ef;a.isModifierKey=Bf;a.lookupKey=Sb;a.normalizeKeyMap=Ig;a.StringStream=ja;a.SharedTextMarker=wc;a.TextMarker=mb;a.LineWidget=vc;a.e_preventDefault=na;a.e_stopPropagation=Qc;a.e_stop=pb;a.addClass=g;a.contains=d;a.rmClass=wb;a.keyNames=nb})(ea);ea.version="5.31.0";return ea})},function(h,f,a){var q=a(214);f.multicast=function(a,c){var b="function"===typeof a?a:function(){return a};if("function"===typeof c)return this.lift(new p(b,
+c));c=Object.create(this,q.connectableObservableDescriptor);c.source=this;c.subjectFactory=b;return c};var p=function(){function a(a,b){this.subjectFactory=a;this.selector=b}a.prototype.call=function(a,b){var c=this.selector,e=this.subjectFactory();a=c(e).subscribe(a);a.add(b.subscribe(e));return a};return a}();f.MulticastOperator=p},function(h,f,a){a.d(f,"b",function(){return q});var q;(function(a){a[a.UINT8=0]="UINT8";a[a.UINT16=1]="UINT16";a[a.UINT32=2]="UINT32";a[a.UINT64=3]="UINT64";a[a.FLOAT32=
+4]="FLOAT32"})(q||(q={}));h=[];f.a=h;h[q.UINT8]=1;h[q.UINT16]=2;h[q.UINT32]=4;h[q.UINT64]=8;h[q.FLOAT32]=4},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return d});f.c=function(a,b){e.set(a,b)};
+f.b=function(a){return e.get(a)};h=a(1);var p=a(140),n=a(21),c=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),b=new Float32Array(4),d=function(a){function d(a){if(!(this instanceof d))throw new TypeError("Cannot call a class as a function");var b=(d.__proto__||Object.getPrototypeOf(d)).call(this);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
+b=!b||"object"!==typeof b&&"function"!==typeof b?this:b;b.gl=a;b.countingBuffer=b.registerDisposer(Object(p.d)(b.gl));return b}q(d,a);c(d,[{key:"setPartIndex",value:function(a,b){for(var c=[],d=1;d<arguments.length;++d)c[d-1]=arguments[d];d="\nvoid setPartIndex("+c.map(function(a,b){return"float partIndex"+b}).join()+") {\n  uint32_t pickID; pickID.value = uPickID;\n  uint32_t pickBaseOffset = getPickBaseOffset();\n"+c.map(function(a,b){return"uint32_t pickOffset"+b+" = add(pickBaseOffset, partIndex"+
+b+");"}).join("\n")+"\n";0===c.length&&(d+="\n  uint32_t pickOffset0 = pickBaseOffset;\n");d+="\n  vPickID = add(pickID, pickOffset0).value;\n  uint32_t selectedIndex; selectedIndex.value = uSelectedIndex;\nif (equals(selectedIndex, pickBaseOffset)"+c.map(function(a,b){return" || equals(selectedIndex, pickOffset"+b+")"}).join("")+") {\n    vColor = uColorSelected;\n  } else {\n    vColor = uColor;\n  }\n}\n";a.addVertexCode(n.d);a.addVertexCode(n.b);a.addVertexCode(d);return"setPartIndex("+c.join()+
+")"}},{key:"getCrossSectionFadeFactor",value:function(){return this.targetIsSliceView?"(clamp(1.0 - 2.0 * abs(0.5 - gl_FragCoord.z), 0.0, 1.0))":"(1.0)"}},{key:"defineShader",value:function(a){a.addUniform("highp vec4","uColor");a.addUniform("highp vec4","uColorSelected");a.addUniform("highp vec4","uSelectedIndex");a.addVarying("highp vec4","vColor");a.addUniform("highp mat4","uProjection");a.addUniform("highp vec4","uPickID");a.addVarying("highp vec4","vPickID");a.require(p.b);1===this.pickIdsPerInstance?
+a.addVertexCode("\nuint32_t getPickBaseOffset() { return getPrimitiveIndex(); }\n"):(a.addVertexCode(n.j),a.addVertexCode("\nuint32_t getPickBaseOffset() {\n  return multiply(getPrimitiveIndex(), "+this.pickIdsPerInstance.toFixed(1)+");\n}\n"));a.addFragmentCode("\nvoid emitAnnotation(vec4 color) {\n  emit(color, vPickID);\n}\n")}},{key:"enable",value:function(a,c,d){a.bind();var e=this.gl,g=c.renderContext,k=c.annotationLayer;this.countingBuffer.ensure(c.count).bind(a,1);e.uniformMatrix4fv(a.uniform("uProjection"),
+!1,c.projectionMatrix);g.emitPickID&&e.uniform4fv(a.uniform("uPickID"),Object(n.r)(b,c.basePickId));if(g.emitColor){g=k.state.color.value;b[0]=g[0];b[1]=g[1];b[2]=g[2];b[3]=1;e.uniform4fv(a.uniform("uColor"),b);for(g=0;3>g;++g)b[g]=.75+.25*b[g];e.uniform4fv(a.uniform("uColorSelected"),b);e.uniform4fv(a.uniform("uSelectedIndex"),Object(n.r)(b,c.selectedIndex))}d();Object(p.c)(this.gl,a,!0)}}]);return d}(h.a),e=new Map},function(h,f,a){function q(a,b,d,e,g,l){a=void 0===a?-1:a;b=void 0===b?-1:b;d=void 0===
+d?1:d;e=void 0===e?1:e;g=void 0===g?1:g;l=void 0===l?1:l;return Object(p.d)(new Float32Array([a,b,a,e,d,e,d,b]),2,g,l)}f.a=function(a,b,d,e,g,l,k){return Object(n.b)(a,WebGL2RenderingContext.ARRAY_BUFFER,q,void 0===b?-1:b,void 0===d?-1:d,void 0===e?1:e,void 0===g?1:g,void 0===l?1:l,void 0===k?1:k).value};var p=a(43),n=a(20)},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?
+a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function n(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function c(a){for(var b=t.length,c=t[b-1],d=0;d<b;++d){var e=t[d];if(a>=e.lengthInNanometers){c=
+e;break}}return c}function b(a){for(var b=Object.assign({},v),c={},e=$jscomp.makeIterator("textHeightInPixels barTopMarginInPixels barHeightInPixels paddingInPixels scaleFactor maxWidthInPixels maxWidthFraction leftPixelOffset bottomPixelOffset".split(" ")),g=e.next();!g.done;c={k:c.k},g=e.next())c.k=g.value,Object(d.v)(a,c.k,function(a){return function(c){void 0!==c&&(b[a.k]=Object(d.p)(c))}}(c));Object(d.v)(a,"fontName",function(a){void 0!==a&&(b.fontName=Object(d.A)(a))});return b}f.d=c;f.e=function(a){for(var b=
+t.length,c=t[b-1],d=0;d<b;++d){var e=t[d];if(a>=Math.pow(e.lengthInNanometers,3)){c=e;break}}return c};a.d(f,"a",function(){return m});a.d(f,"b",function(){return r});a.d(f,"c",function(){return w});h=a(9);f=a(1);var d=a(4),e=a(76),g=function x(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return x(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},l=function(){function a(a,
+b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),k=[1.5,2,3,5,7.5,10],t=[{unit:"km",lengthInNanometers:1E12},{unit:"m",lengthInNanometers:1E9},{unit:"mm",lengthInNanometers:1E6},{unit:"\u00b5m",lengthInNanometers:1E3},{unit:"nm",lengthInNanometers:1},{unit:"pm",lengthInNanometers:.001}],m=function(){function a(){n(this,a);this.allowedSignificands=
+k;this.prevTargetLengthInPixels=this.prevNanometersPerPixel=this.nanometersPerPixel=this.targetLengthInPixels=0}l(a,[{key:"update",value:function(){var a=this.nanometersPerPixel,b=this.targetLengthInPixels;if(this.prevNanometersPerPixel===a&&this.prevTargetLengthInPixels===b)return!1;this.prevNanometersPerPixel=a;this.prevTargetLengthInPixels=b;var d=b*a;b=Math.pow(10,Math.floor(Math.log(d)/Math.LN10));d/=b;for(var e=1,g=$jscomp.makeIterator(this.allowedSignificands),k=g.next();!k.done;k=g.next())if(k=
+k.value,Math.abs(k-d)<Math.abs(e-d))e=k;else break;b*=e;d=c(b);this.lengthInPixels=Math.round(b/a);this.physicalUnit=d.unit;this.physicalLength=b/d.lengthInNanometers;return!0}}]);return a}(),r=function(a){function b(a,c){c=void 0===c?new m:c;n(this,b);var d=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));d.gl=a;d.dimensions=c;d.texture=null;d.width=0;d.height=0;d.priorOptions=void 0;return d}p(b,a);l(b,[{key:"update",value:function(a){var b=this.dimensions,c=this.texture;if(b.update()||
+null===c||a!==this.priorOptions){null===c&&(c=this.texture=this.gl.createTexture());var d=this.gl,g=a;g=void 0===g?u:g;var k=document.createElement("canvas"),l=k.getContext("2d"),m=g.textHeightInPixels*g.scaleFactor,r="bold "+m+"px "+g.fontName;l.font=r;l.fillStyle="white";var t=b.physicalLength+" "+b.physicalUnit,f=l.measureText(t),h=g.barHeightInPixels*g.scaleFactor,v=g.barTopMarginInPixels*g.scaleFactor;g=g.paddingInPixels*g.scaleFactor;m=h+v+m+2*g;f=Math.max(b.lengthInPixels,f.width)+2*g;k.width=
+f;k.height=m;l.font=r;l.textAlign="center";l.fillStyle="rgba(0, 0, 0, 0.3)";l.fillRect(0,0,f,m);l.fillStyle="white";l.fillText(t,f/2,m-g-h-v);l.fillRect(g,m-g-h,b.lengthInPixels,h);Object(e.c)(d,c,k);this.priorOptions=a;this.width=f;this.height=m}}},{key:"disposed",value:function(){this.gl.deleteTexture(this.texture);this.texture=null;g(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"disposed",this).call(this)}}]);return b}(f.a),u={scaleFactor:1,textHeightInPixels:15,barHeightInPixels:8,
+barTopMarginInPixels:5,fontName:"sans-serif",paddingInPixels:2},v=Object.assign({},u,{maxWidthInPixels:100,maxWidthFraction:.25,leftPixelOffset:10,bottomPixelOffset:10}),w=function(a){function c(){n(this,c);return q(this,(c.__proto__||Object.getPrototypeOf(c)).call(this,v,b))}p(c,a);return c}(h.c)},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==
+typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function n(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}a.d(f,"b",function(){return w});a.d(f,"a",function(){return y});a.d(f,"c",function(){return z});var c=a(30);h=a(23);var b=
+a(265);f=a(59);var d=a(77),e=a(63),g=a(2),l=a(22),k=a(20),t=a(24),m=a(21);a=a(15);var r=function G(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return G(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},u=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,
+d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),v=this&&this.__decorate||function(a,b,c,d){var e=arguments.length,g=3>e?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d,k;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)g=Reflect.decorate(a,b,c,d);else for(var l=a.length-1;0<=l;l--)if(k=a[l])g=(3>e?k(g):3<e?k(b,c,g):k(b,c))||g;return 3<e&&g&&Object.defineProperty(b,c,g),g},w=function(){function a(){n(this,a);this.tempLightVec=new Float32Array(4);this.tempPickID=
+new Float32Array(4)}u(a,[{key:"defineShader",value:function(a){a.addAttribute("highp vec3","aVertexPosition");a.addAttribute("highp vec3","aVertexNormal");a.addVarying("highp vec4","vColor");a.addUniform("highp vec4","uLightDirection");a.addUniform("highp vec4","uColor");a.addUniform("highp mat4","uModelMatrix");a.addUniform("highp mat4","uProjection");a.addUniform("highp vec4","uPickID");a.setVertexMain("\ngl_Position = uProjection * (uModelMatrix * vec4(aVertexPosition, 1.0));\nvec3 normal = (uModelMatrix * vec4(aVertexNormal, 0.0)).xyz;\nfloat lightingFactor = abs(dot(normal, uLightDirection.xyz)) + uLightDirection.w;\nvColor = vec4(lightingFactor * uColor.rgb, uColor.a);\n");
+a.setFragmentMain("emit(vColor, uPickID);")}},{key:"beginLayer",value:function(a,b,c){var d=c.dataToDevice,e=c.lightDirection,k=c.ambientLighting;c=c.directionalLighting;a.uniformMatrix4fv(b.uniform("uProjection"),!1,d);d=this.tempLightVec;g.s.scale(d,e,c);d[3]=k;a.uniform4fv(b.uniform("uLightDirection"),d)}},{key:"setColor",value:function(a,b,c){a.uniform4fv(b.uniform("uColor"),c)}},{key:"setPickID",value:function(a,b,c){a.uniform4fv(b.uniform("uPickID"),Object(m.r)(this.tempPickID,c))}},{key:"beginObject",
+value:function(a,b,c){a.uniformMatrix4fv(b.uniform("uModelMatrix"),!1,c)}},{key:"getShader",value:function(a,b){var c=this;return a.memoize.get("mesh/MeshShaderManager:"+Object(l.a)(b),function(){var d=new t.a(a);d.require(b);c.defineShader(d);return d.build()})}},{key:"drawFragment",value:function(a,b,c){c.vertexBuffer.bindToVertexAttrib(b.attribute("aVertexPosition"),3);c.normalBuffer.bindToVertexAttrib(b.attribute("aVertexNormal"),3);c.indexBuffer.bind();a.drawElements(a.TRIANGLES,c.numIndices,
+a.UNSIGNED_INT,0)}},{key:"endLayer",value:function(a,b){a.disableVertexAttribArray(b.attribute("aVertexPosition"));a.disableVertexAttribArray(b.attribute("aVertexNormal"))}}]);return a}(),y=function(a){function g(a,c,d){n(this,g);var k=q(this,(g.__proto__||Object.getPrototypeOf(g)).call(this));k.chunkManager=a;k.source=c;k.displayState=d;k.meshShaderManager=new w;k.shaders=new Map;Object(e.f)(d,k);a=k.sharedObject=k.registerDisposer(new e.b(a,d));a.RPC_TYPE_ID=b.b;a.initializeCounterpartWithChunkManager({source:c.addCounterpartRef()});
+k.setReady(!0);a.visibility.add(k.visibility);return k}p(g,a);u(g,[{key:"getShader",value:function(a){var b=this.shaders,c=b.get(a);void 0===c&&(c=this.registerDisposer(this.meshShaderManager.getShader(this.gl,a)),b.set(a,c));return c}},{key:"draw",value:function(a){var b=this;if(a.emitColor||!a.alreadyEmittedPickID){var d=this.gl,g=this.displayState,k=this.meshShaderManager,l=Math.min(1,g.objectAlpha.value);if(!(0>=l)){var m=this.getShader(a.emitter);m.bind();k.beginLayer(d,m,a);var r=a.pickIDs,
+t=this.displayState.objectToDataTransform.transform;Object(e.d)(g,this.source.fragmentSource.objectChunks,function(f,u,h){a.emitColor&&k.setColor(d,m,Object(e.e)(g,f,l));a.emitPickID&&k.setPickID(d,m,r.registerUint64(b,u));k.beginObject(d,m,t);f=$jscomp.makeIterator(h);for(u=f.next();!u.done;u=f.next())u=u.value,u.state===c.d.GPU_MEMORY&&k.drawFragment(d,m,u)});k.endLayer(d,m)}}}},{key:"isReady",value:function(){var a=this.displayState,b=this.source,e=!0,g=b.fragmentSource.chunks;Object(d.a)(a,function(k){k=
+Object(d.b)(k,a.clipBounds.value);var l=b.chunks.get(k);if(void 0===l)e=!1;else{l=$jscomp.makeIterator(l.fragmentIds);for(var m=l.next();!m.done;m=l.next())if(m=g.get(k+"/"+m.value),void 0===m||m.state!==c.d.GPU_MEMORY){e=!1;break}}});return e}},{key:"isTransparent",get:function(){return 1>this.displayState.objectAlpha.value}},{key:"gl",get:function(){return this.chunkManager.chunkQueueManager.gl}}]);return g}(f.a),x=function(a){function b(a,c){n(this,b);a=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,
+a));a.fragmentIds=c.fragmentIds;return a}p(b,a);return b}(h.b),A=function(a){function b(a,c){n(this,b);a=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a));a.objectKey=c.objectKey;a.vertexPositions=c.vertexPositions;var d=a.indices=c.indices;a.numIndices=d.length;a.vertexNormals=c.vertexNormals;return a}p(b,a);u(b,[{key:"copyToGPU",value:function(a){r(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"copyToGPU",this).call(this,a);this.vertexBuffer=k.a.fromData(a,this.vertexPositions,
+a.ARRAY_BUFFER,a.STATIC_DRAW);this.indexBuffer=k.a.fromData(a,this.indices,a.ELEMENT_ARRAY_BUFFER,a.STATIC_DRAW);this.normalBuffer=k.a.fromData(a,this.vertexNormals,a.ARRAY_BUFFER,a.STATIC_DRAW)}},{key:"freeGPUMemory",value:function(a){r(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"freeGPUMemory",this).call(this,a);this.vertexBuffer.dispose();this.indexBuffer.dispose();this.normalBuffer.dispose()}}]);return b}(h.b),z=function(a){function b(){n(this,b);var a=q(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,
+arguments));a.fragmentSource=a.registerDisposer(new D(a.chunkManager,a));return a}p(b,a);u(b,[{key:"initializeCounterpart",value:function(a,c){this.fragmentSource.initializeCounterpart(this.chunkManager.rpc,{});c.fragmentSource=this.fragmentSource.addCounterpartRef();r(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"initializeCounterpart",this).call(this,a,c)}},{key:"getChunk",value:function(a){return new x(this,a)}}]);return b}(h.e),D=function(a){function b(a,c){n(this,b);a=q(this,(b.__proto__||
+Object.getPrototypeOf(b)).call(this,a));a.meshSource=c;a.objectChunks=new Map;return a}p(b,a);u(b,[{key:"addChunk",value:function(a,c){r(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"addChunk",this).call(this,a,c);a=this.objectChunks;var d=c.objectKey,e=a.get(d);void 0===e&&(e=new Set,a.set(d,e));e.add(c)}},{key:"deleteChunk",value:function(a){var c=this.chunks.get(a);r(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"deleteChunk",this).call(this,a);a=this.objectChunks;var d=
+c.objectKey,e=a.get(d);e.delete(c);0===e.size&&a.delete(d)}},{key:"getChunk",value:function(a){return new A(this,a)}}]);return b}(h.e);D=v([Object(a.g)(b.a)],D)},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function p(){return new n.f(void 0)}
+f.c=p;f.b=function(a){return new n.c(a,c.A)};a.d(f,"a",function(){return g});var n=a(9);h=a(1);var c=a(4),b=a(24),d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),e=function k(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==
+a)return k(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},g=function(a){function c(a,b,d,e){e=void 0===e?p():e;if(!(this instanceof c))throw new TypeError("Cannot call a class as a function");var g=(c.__proto__||Object.getPrototypeOf(c)).call(this);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");g=!g||"object"!==typeof g&&"function"!==typeof g?this:g;g.gl=a;g.defineShader=b;g.getShaderKey=d;g.shaderError=e;g.shaderUpdated=
+!0;g.shader=void 0;e.value=void 0;return g}q(c,a);d(c,[{key:"invalidateShader",value:function(){this.shaderUpdated=!0}},{key:"get",value:function(){if(!this.shaderUpdated)return this.shader;this.shaderUpdated=!1;try{var a=this.getShader();this.disposeShader();this.shader=a;this.shaderError.value=null}catch(r){this.shaderError.value=r}return this.shader}},{key:"getShader",value:function(){var a=this,b=this.getShaderKey();return this.gl.memoize.get(b,function(){return a.buildShader()})}},{key:"buildShader",
+value:function(){var a=new b.a(this.gl);this.defineShader(a);return a.build()}},{key:"disposed",value:function(){e(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"disposed",this).call(this);this.disposeShader()}},{key:"disposeShader",value:function(){this.shader&&(this.shader.dispose(),this.shader=void 0)}}]);return c}(h.a)},function(h,f,a){f.a=function(a){return new q.c(void 0===a?.5:a,p.q)};var q=a(9),p=a(4)},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");
+}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a,b,c,d){var e=
+!1,g;a.registerDisposer(b);var k=l.UNLINKED,m=function(){var e=c.value;if(e!==k)switch(e){case l.UNLINKED:g=void 0;break;case l.LINKED:g=void 0;d.assign(a,b);break;case l.RELATIVE:g=d.difference(a,b)}k=e;a.changed.dispatch()};a.registerDisposer(a.changed.add(function(){if(!e)switch(c.value){case l.LINKED:d.assign(b,a);break;case l.RELATIVE:d.subtract(b,a,g)}}));a.registerDisposer(b.changed.add(function(){e=!0;switch(c.value){case l.UNLINKED:if(d.isValid(a))break;case l.LINKED:d.assign(a,b);break;
+case l.RELATIVE:d.add(a,b,g)}e=!1}));a.registerDisposer(c.changed.add(m));m();return a}a.d(f,"d",function(){return l});a.d(f,"h",function(){return t});a.d(f,"b",function(){return v});a.d(f,"f",function(){return w});a.d(f,"a",function(){return y});a.d(f,"g",function(){return x});a.d(f,"c",function(){return z});a.d(f,"e",function(){return D});h=a(1);var b=a(2),d=a(4),e=a(7);a=a(306);var g=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=
+!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),l;(function(a){a[a.LINKED=0]="LINKED";a[a.RELATIVE=1]="RELATIVE";a[a.UNLINKED=2]="UNLINKED"})(l||(l={}));var k=function(a){function b(a){a=void 0===a?l.LINKED:a;q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,l,a))}n(b,a);return b}(a.a),t=function(a){function c(a){q(this,c);var d=p(this,(c.__proto__||Object.getPrototypeOf(c)).call(this));d.changed=
+new e.a;var g=!0;null==a&&(a=b.s.create(),g=!1);d.size=a;d.valid=g;return d}n(c,a);g(c,[{key:"reset",value:function(){this.valid=!1;this.changed.dispatch()}},{key:"setValid",value:function(){this.valid||(this.valid=!0,this.changed.dispatch())}},{key:"toJSON",value:function(){if(this.valid)return Array.prototype.slice.call(this.size)}},{key:"restoreState",value:function(a){try{Object(d.b)(this.size,a),this.valid=!0,this.changed.dispatch()}catch(B){this.valid=!1,this.changed.dispatch()}}},{key:"toString",
+value:function(){return this.valid?this.size.toString():null}},{key:"voxelFromSpatial",value:function(a,c){return b.s.divide(a,c,this.size)}},{key:"spatialFromVoxel",value:function(a,c){return b.s.multiply(a,c,this.size)}}]);return c}(h.a),m=b.s.create(),r=b.n.create(),u=function(a){function c(a,d){q(this,c);var g=p(this,(c.__proto__||Object.getPrototypeOf(c)).call(this));g.voxelCoordinates=null;g.changed=new e.a;null==a&&(a=new t);g.voxelSize=a;var k=!0;null==d&&(d=b.s.create(),k=!1);g.spatialCoordinates=
+d;g.spatialCoordinatesValid=k;g.registerDisposer(a);g.registerDisposer(a.changed.add(function(){g.handleVoxelSizeChanged()}));return g}n(c,a);g(c,[{key:"reset",value:function(){this.spatialCoordinatesValid=!1;this.voxelCoordinates=null;this.voxelSize.reset();this.changed.dispatch()}},{key:"getVoxelCoordinates",value:function(a){var c=this.voxelCoordinates;if(c)b.s.copy(a,c);else if(this.valid)this.voxelSize.voxelFromSpatial(a,this.spatialCoordinates);else return!1;return!0}},{key:"setVoxelCoordinates",
+value:function(a){var c=this.voxelSize;c.valid?(c.spatialFromVoxel(this.spatialCoordinates,a),this.markSpatialCoordinatesChanged()):(c=this.voxelCoordinates)?b.s.copy(c,a):this.voxelCoordinates=b.s.clone(a);this.changed.dispatch()}},{key:"markSpatialCoordinatesChanged",value:function(){this.spatialCoordinatesValid=!0;this.voxelCoordinates=null;this.changed.dispatch()}},{key:"handleVoxelSizeChanged",value:function(){null==this.voxelCoordinates||this.spatialCoordinatesValid||(this.voxelSize.spatialFromVoxel(this.spatialCoordinates,
+this.voxelCoordinates),this.spatialCoordinatesValid=!0);this.voxelCoordinates=null;this.changed.dispatch()}},{key:"toJSON",value:function(){var a=!0,b=this.voxelSize.toJSON(),c={};void 0!==b&&(a=!1,c.voxelSize=b);this.voxelCoordinatesValid?(this.getVoxelCoordinates(m),c.voxelCoordinates=Array.prototype.slice.call(m),a=!1):this.spatialCoordinatesValid&&(c.spatialCoordinates=Array.prototype.slice.call(this.spatialCoordinates),a=!1);if(!a)return c}},{key:"restoreState",value:function(a){var c=this;Object(d.t)(a);
+Object(d.v)(a,"voxelSize",function(a){void 0!==a&&c.voxelSize.restoreState(a)});this.spatialCoordinatesValid=!1;Object(d.v)(a,"voxelCoordinates",function(a){void 0!==a&&c.setVoxelCoordinates(Object(d.b)(b.s.create(),a))});Object(d.v)(a,"spatialCoordinates",function(a){void 0!==a&&(Object(d.b)(c.spatialCoordinates,a),c.markSpatialCoordinatesChanged())})}},{key:"snapToVoxel",value:function(){if(this.valid){for(var a=this.spatialCoordinates,b=this.voxelSize.size,c=0;3>c;++c){var d=b[c];a[c]=Math.round(a[c]/
+d)*d}this.changed.dispatch()}else if(a=this.voxelCoordinates,null!=a){for(b=0;3>b;++b)a[b]=Math.round(a[b]);this.changed.dispatch()}}},{key:"assign",value:function(a){this.spatialCoordinatesValid=a.spatialCoordinatesValid;b.s.copy(this.spatialCoordinates,a.spatialCoordinates);this.voxelCoordinates=(a=a.voxelCoordinates)&&b.s.clone(a);this.changed.dispatch()}},{key:"valid",get:function(){return this.spatialCoordinatesValid&&this.voxelSize.valid}},{key:"voxelCoordinatesValid",get:function(){return this.valid||
+null!=this.voxelCoordinates}}],[{key:"getOffset",value:function(a,c){if(a.spatialCoordinatesValid&&c.spatialCoordinatesValid)return{spatialOffset:b.s.subtract(b.s.create(),a.spatialCoordinates,c.spatialCoordinates)};if(a.voxelCoordinates&&c.voxelCoordinates){if(a.voxelSize!==c.voxelSize)throw Error("Voxel offsets are only meaningful with identical voxelSize.");return{voxelOffset:b.s.subtract(b.s.create(),a.voxelCoordinates,c.voxelCoordinates)}}return{}}},{key:"addOffset",value:function(a,c,d,e){e=
+void 0===e?1:e;var g=d.spatialOffset;d=d.voxelOffset;void 0!==g&&c.spatialCoordinatesValid?(b.s.scaleAndAdd(a.spatialCoordinates,c.spatialCoordinates,g,e),a.markSpatialCoordinatesChanged()):void 0!==d&&c.getVoxelCoordinates(m)&&a.setVoxelCoordinates(b.s.scaleAndAdd(m,m,d,e))}}]);return c}(h.a);a=function(){function a(b,c){c=void 0===c?new k:c;q(this,a);this.peer=b;this.link=c}g(a,[{key:"toJSON",value:function(){var a=this.link;if(a.value!==l.LINKED)return{link:a.toJSON(),value:this.getValueJson()}}},
+{key:"getValueJson",value:function(){return this.value.toJSON()}},{key:"reset",value:function(){this.link.value=l.LINKED}},{key:"restoreState",value:function(a){var b=this;void 0===a||0===Object.keys(a).length?this.link.value=l.LINKED:(Object(d.t)(a),this.link.value=l.UNLINKED,Object(d.v)(a,"value",function(a){void 0!==a&&b.value.restoreState(a)}),Object(d.v)(a,"link",function(a){return b.link.restoreState(a)}))}},{key:"copyToPeer",value:function(){this.link.value!==l.LINKED&&(this.link.value=l.UNLINKED,
+this.peer.assign(this.value),this.link.value=l.LINKED)}},{key:"changed",get:function(){return this.value.changed}}]);return a}();var v=function(a){function b(){q(this,b);var a=p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments));a.value=c(new u(a.peer.voxelSize.addRef()),a.peer,a.link,{assign:function(a,b){return a.assign(b)},isValid:function(a){return a.spatialCoordinatesValid||a.voxelCoordinatesValid},difference:u.getOffset,add:u.addOffset,subtract:function(a,b,c){u.addOffset(a,
+b,c,-1)}});return a}n(b,a);g(b,[{key:"getValueJson",value:function(){var a=this.value.toJSON()||{};delete a.voxelSize;return a}}]);return b}(a),w=function(a){function c(a){q(this,c);var d=p(this,(c.__proto__||Object.getPrototypeOf(c)).call(this));d.changed=new e.a;null==a&&(a=b.n.create());d.orientation=a;return d}n(c,a);g(c,[{key:"toJSON",value:function(){var a=this.orientation;b.n.normalize(this.orientation,this.orientation);if(0!==a[0]||0!==a[1]||0!==a[2]||1!==a[3])return Array.prototype.slice.call(this.orientation)}},
+{key:"restoreState",value:function(a){try{Object(d.b)(this.orientation,a),b.n.normalize(this.orientation,this.orientation)}catch(B){b.n.identity(this.orientation)}this.changed.dispatch()}},{key:"reset",value:function(){b.n.identity(this.orientation);this.changed.dispatch()}},{key:"snap",value:function(){var a=b.i.create();b.i.fromQuat(a,this.orientation);for(var c=[!1,!1,!1],d=0;3>d;++d){for(var e=0,g=0,k=0;3>k;++k){var l=a[3*d+k];a[3*d+k]=0;!c[k]&&Math.abs(l)>Math.abs(e)&&(e=l,g=k)}a[3*d+g]=Math.sign(e);
+c[g]=!0}b.n.fromMat3(this.orientation,a);this.changed.dispatch()}},{key:"assign",value:function(a){b.n.copy(this.orientation,a.orientation);this.changed.dispatch()}}],[{key:"makeRelative",value:function(a,d){var e=new c(b.n.multiply(b.n.create(),a.orientation,d)),g=!1;e.registerDisposer(a.changed.add(function(){g||(k=!0,b.n.multiply(e.orientation,a.orientation,d),e.changed.dispatch(),k=!1)}));var k=!1,l=b.n.invert(b.n.create(),d);e.registerDisposer(e.changed.add(function(){k||(g=!0,b.n.multiply(a.orientation,
+e.orientation,l),a.changed.dispatch(),g=!1)}));return e}}]);return c}(h.a),y=function(a){function d(){q(this,d);var a=p(this,(d.__proto__||Object.getPrototypeOf(d)).apply(this,arguments));a.value=c(new w,a.peer,a.link,{assign:function(a,b){return a.assign(b)},isValid:function(){return!0},difference:function(a,c){var d=b.n.create();return b.n.multiply(d,b.n.invert(d,c.orientation),a.orientation)},add:function(a,c,d){b.n.multiply(a.orientation,c.orientation,d);a.changed.dispatch()},subtract:function(a,
+c,d){b.n.multiply(a.orientation,c.orientation,b.n.invert(r,d));a.changed.dispatch()}});return a}n(d,a);return d}(a),x=function(a){function c(a,b){q(this,c);var d=p(this,(c.__proto__||Object.getPrototypeOf(c)).call(this));d.changed=new e.a;null==a&&(a=new u);d.position=a;null==b&&(b=new w);d.orientation=b;d.registerDisposer(d.position);d.registerDisposer(d.orientation);d.registerDisposer(d.position.changed.add(d.changed.dispatch));d.registerDisposer(d.orientation.changed.add(d.changed.dispatch));return d}
+n(c,a);g(c,[{key:"reset",value:function(){this.position.reset();this.orientation.reset()}},{key:"toMat4",value:function(a){b.k.fromRotationTranslation(a,this.orientation.orientation,this.position.spatialCoordinates)}},{key:"toJSON",value:function(){var a=this.position.toJSON(),b=this.orientation.toJSON();if(void 0!==a||void 0!==b)return{position:a,orientation:b}}},{key:"restoreState",value:function(a){var b=this;Object(d.t)(a);Object(d.v)(a,"position",function(a){void 0!==a&&b.position.restoreState(a)});
+Object(d.v)(a,"orientation",function(a){void 0!==a&&b.orientation.restoreState(a)})}},{key:"snap",value:function(){this.orientation.snap();this.position.snapToVoxel();this.changed.dispatch()}},{key:"translateAbsolute",value:function(a){b.s.add(this.position.spatialCoordinates,this.position.spatialCoordinates,a);this.position.changed.dispatch()}},{key:"translateRelative",value:function(a){this.valid&&(b.s.transformQuat(m,a,this.orientation.orientation),b.s.add(this.position.spatialCoordinates,this.position.spatialCoordinates,
+m),this.position.changed.dispatch())}},{key:"translateVoxelsRelative",value:function(a){if(this.valid){var c=b.s.create();b.s.transformQuat(c,a,this.orientation.orientation);b.s.multiply(c,c,this.position.voxelSize.size);b.s.add(this.position.spatialCoordinates,this.position.spatialCoordinates,c);this.position.changed.dispatch()}}},{key:"rotateRelative",value:function(a,c){var d=b.n.create();b.n.setAxisAngle(d,a,c);a=this.orientation.orientation;b.n.multiply(a,a,d);this.orientation.changed.dispatch()}},
+{key:"rotateAbsolute",value:function(a,c,d){var e=b.n.create();b.n.setAxisAngle(e,a,c);a=this.orientation.orientation;if(void 0!==d){c=this.position.spatialCoordinates;var g=b.s.subtract(m,d,c),k=b.n.invert(r,a);b.s.transformQuat(g,g,k);b.n.multiply(a,e,a);b.s.transformQuat(c,g,a);b.s.subtract(c,d,c);this.position.changed.dispatch()}else b.n.multiply(a,e,a);this.orientation.changed.dispatch()}},{key:"valid",get:function(){return this.position.valid}}]);return c}(h.a),A=function(a){function b(a,c){a=
+void 0===a?Number.NaN:a;c=void 0===c?a:c;q(this,b);var d=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));d.value_=a;d.defaultValue=c;d.changed=new e.a;return d}n(b,a);g(b,[{key:"toJSON",value:function(){var a=this.value_,b=this.defaultValue;if(!(Number.isNaN(a)&&Number.isNaN(b)||a===b))return a}},{key:"restoreState",value:function(a){"number"===typeof a&&Number.isFinite(a)&&0<a?this.value=a:this.value=this.defaultValue}},{key:"reset",value:function(){this.value=this.defaultValue}},{key:"zoomBy",
+value:function(a){var b=this.value_;Number.isNaN(b)||(this.value=b*a)}},{key:"assign",value:function(a){this.value=a.value}},{key:"value",get:function(){return this.value_},set:function(a){a!==this.value_&&(this.value_=a,this.changed.dispatch())}},{key:"valid",get:function(){return!Number.isNaN(this.value)}}]);return b}(h.a),z=function(a){function b(){q(this,b);var a=p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments));a.value=function(){var b=new A;return c(b,a.peer,a.link,{assign:function(a,
+b){return a.assign(b)},isValid:function(a){return a.valid},difference:function(a,b){return a.value/b.value},add:function(a,b,c){a.value=b.value*c},subtract:function(a,b,c){a.value=b.value/c}})}();return a}n(b,a);return b}(a),D=function(a){function c(a,b){a=void 0===a?new x:a;b=void 0===b?Number.NaN:b;q(this,c);var d=p(this,(c.__proto__||Object.getPrototypeOf(c)).call(this));d.pose=a;d.changed=new e.a;d.zoomFactor="number"===typeof b?new A(b):b;d.registerDisposer(d.zoomFactor);d.registerDisposer(a);
+d.registerDisposer(d.pose.changed.add(function(){d.changed.dispatch()}));d.registerDisposer(d.zoomFactor.changed.add(function(){d.changed.dispatch()}));d.registerDisposer(d.voxelSize.changed.add(function(){d.handleVoxelSizeChanged()}));d.handleVoxelSizeChanged();return d}n(c,a);g(c,[{key:"reset",value:function(){this.pose.reset();this.zoomFactor.reset()}},{key:"setZoomFactorFromVoxelSize",value:function(){this.voxelSize.valid&&(this.zoomFactor.value=Math.min.apply(null,this.voxelSize.size))}},{key:"handleVoxelSizeChanged",
+value:function(){this.zoomFactor.valid||this.setZoomFactorFromVoxelSize()}},{key:"toMat4",value:function(a){this.pose.toMat4(a);var c=this.zoomFactor.value;b.k.scale(a,a,b.s.fromValues(c,c,c))}},{key:"toJSON",value:function(){var a=this.pose.toJSON(),b=this.zoomFactor.toJSON();if(void 0!==a||void 0!==b)return{pose:a,zoomFactor:b}}},{key:"restoreState",value:function(a){var b=this;try{Object(d.t)(a),Object(d.v)(a,"pose",function(a){void 0!==a&&b.pose.restoreState(a)}),Object(d.v)(a,"zoomFactor",function(a){void 0!==
+a&&b.zoomFactor.restoreState(a)}),this.handleVoxelSizeChanged(),this.changed.dispatch()}catch(F){this.reset()}}},{key:"zoomBy",value:function(a){this.zoomFactor.zoomBy(a)}},{key:"voxelSize",get:function(){return this.pose.position.voxelSize}},{key:"position",get:function(){return this.pose.position}},{key:"valid",get:function(){return this.pose.valid}}]);return c}(h.a)},function(h,f,a){a.d(f,"a",function(){return b});f.b=function(a,b,c){c(a.transform,b.transform);return b.changed.add(function(){c(a.transform,
+b.transform);a.changed.dispatch()})};var q=a(2),p=a(4),n=a(7),c=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),b=function(){function a(b){b=void 0===b?q.k.create():b;if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");this.transform=b;this.changed=new n.a}c(a,[{key:"reset",value:function(){q.k.copy(this.transform,
+q.d);this.changed.dispatch()}},{key:"toJSON",value:function(){if(!q.k.equals(q.d,this.transform)){var a=this.transform;return[[a[0],a[4],a[8],a[12]],[a[1],a[5],a[9],a[13]],[a[2],a[6],a[10],a[14]],[a[3],a[7],a[11],a[15]]]}}},{key:"restoreState",value:function(a){if(null==a)this.reset();else if(Array.isArray(a))if(4===a.length)try{for(var b=0;4>b;++b)Object(p.b)(this.transform.subarray(4*b,4*(b+1)),a[b]);q.k.transpose(this.transform,this.transform)}catch(t){this.reset()}else if(16===a.length)try{Object(p.b)(this.transform,
+a),q.k.transpose(this.transform,this.transform)}catch(t){this.reset()}else this.reset();else if("object"===typeof a){b=q.n.create();var c=q.s.create(),d=q.s.fromValues(1,1,1);try{Object(p.b)(b,a.rotation),q.n.normalize(b,b)}catch(t){q.n.identity(b)}try{Object(p.b)(c,a.translation)}catch(t){q.s.copy(c,q.h)}try{Object(p.b)(d,a.scale)}catch(t){q.s.copy(d,q.g)}q.k.fromRotationTranslationScale(this.transform,b,c,d);this.changed.dispatch()}else this.reset()}},{key:"clone",value:function(){return new a(q.k.clone(this.transform))}}]);
+return a}()},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return n});h=a(18);var p=function(){function a(a,c){for(var b=0;b<c.length;b++){var d=c[b];d.enumerable=d.enumerable||!1;d.configurable=
+!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,e){c&&a(b.prototype,c);e&&a(b,e);return b}}(),n=function(a){function b(){if(!(this instanceof b))throw new TypeError("Cannot call a class as a function");var a=(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!a||"object"!==typeof a&&"function"!==typeof a?this:a}q(b,a);p(b,[{key:"draw",value:function(a){}},
+{key:"isReady",value:function(){return!0}}]);return b}(h.j)},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"b",function(){return d});h=a(1);var p=a(25);a.d(f,"a",function(){return p.a});a.d(f,"c",function(){return p.c});
+var n=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),c=new Set("f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 escape pause".split(" ")),b=new Set("color date datetime datetime-local email month number password search tel text time url week".split(" ")),d=function(a){function d(a,b){if(!(this instanceof d))throw new TypeError("Cannot call a class as a function");
+var c=(d.__proto__||Object.getPrototypeOf(d)).call(this);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");c=!c||"object"!==typeof c&&"function"!==typeof c?this:c;c.target=a;c.eventMap=b;c.modifierShortcutsAreGlobal=!0;c.allShortcutsAreGlobal=!1;c.allowSpaceKeyOnButtons=!1;c.registerEventListener(a,"keydown",c.handleKeyDown.bind(c),!1);return c}q(d,a);n(d,[{key:"shouldIgnoreEvent",value:function(a,d){var e=d.target,g=e.tagName;if(e===this.target)return!1;
+var k="TEXTAREA"===g||"INPUT"===g||"BUTTON"===g||"SELECT"===g,l=!k&&(e.isContentEditable||e.ownerDocument&&"on"===e.ownerDocument.designMode);return!k&&!l||this.allShortcutsAreGlobal||c.has(a)?!1:l||this.modifierShortcutsAreGlobal&&(d.altKey||d.ctrlKey||d.metaKey)?!0:"INPUT"===g&&b.has(e.type)?"enter"!==a:"INPUT"===g||"BUTTON"===g?this.allowSpaceKeyOnButtons?!1:"space"===a:!0}},{key:"handleKeyDown",value:function(a){var b=a.code.toLowerCase();this.shouldIgnoreEvent(b,a)||Object(p.b)(b,a,this.eventMap)}}]);
+return d}(h.a)},function(h,f,a){f.a=function(a,f){f.offset+=a;return f};f.b=function(a,f){var h=[];f=$jscomp.makeIterator(f);for(var c=f.next();!c.done;c=f.next())c=c.value,c.startsWith(a)&&h.push({value:c});return h};f.c=function(a,f,h,c){var b=[];f=$jscomp.makeIterator(f);for(var d=f.next();!d.done;d=f.next()){d=d.value;var e=h(d);e.startsWith(a)&&b.push({value:e,description:c(d)})}return b}},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+
+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return e});f.b=function(a,c,e){e=void 0===e?"GET":e;var g=new XMLHttpRequest;if(Array.isArray(a)){var k=a.length;k=1===k?0:Math.abs(Object(n.a)(c))%k;a=a[k]+c}else a+=c;g[d]=e;g[b]=a;g.open(e,a);return g};f.d=function(a,b,c){c=void 0===c?p.e:c;a.responseType=b;return new Promise(function(b,d){var g=
+function(){a.abort()};c.add(g);a.onloadend=function(){var k=this.status;c.remove(g);200<=k&&300>k?b(this.response):d(e.fromXhr(a))};a.send()})};f.c=function(a){var b=a.match(/^([^:\/]+):\/\/([^\/]+)(\/.*)?$/);if(null===b)throw Error("Invalid URL: "+JSON.stringify(a));return"gs"===b[1]?[["https://storage.googleapis.com/"+b[2]],b[3]]:[[a],""]};var p=a(32),n=a(263),c=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=
+!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();$jscomp.initSymbol();var b=Symbol("url");$jscomp.initSymbol();var d=Symbol("method"),e=function(a){function e(a,b,c,d){if(!(this instanceof e))throw new TypeError("Cannot call a class as a function");var g=a+" "+JSON.stringify(b)+" resulted in HTTP error "+c;d&&(g+=": "+d);g+=".";var k=(e.__proto__||Object.getPrototypeOf(e)).call(this,g);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
+k=!k||"object"!==typeof k&&"function"!==typeof k?this:k;k.name="HttpError";k.message=g;k.method=a;k.url=b;k.code=c;k.statusMessage=d;return k}q(e,a);c(e,null,[{key:"fromXhr",value:function(a){return new e(a[d],a[b],a.status,a.statusText)}}]);return e}(Error)},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+
+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function n(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function c(a,b){var c=b.redrawNeeded.dispatch;b.registerDisposer(a.segmentColorHash.changed.add(c));b.registerDisposer(a.visibleSegments.changed.add(c));b.registerDisposer(a.highlightedSegments.changed.add(c));b.registerDisposer(a.segmentEquivalences.changed.add(c));
+b.registerDisposer(a.segmentSelectionState.changed.add(c))}a.d(f,"c",function(){return m});a.d(f,"a",function(){return r});f.g=c;f.f=function(a,b){c(a,b);b.registerDisposer(a.objectAlpha.changed.add(b.redrawNeeded.dispatch));b.registerDisposer(a.objectToDataTransform.changed.add(b.redrawNeeded.dispatch))};f.e=function(a,b,c){c=void 0===c?1:c;var e=u;e[3]=c;a.segmentColorHash.compute(e,b);if(a.segmentSelectionState.isSelected(b))for(var g=0;3>g;++g)e[g]=.5*e[g]+.5;g=new Float32Array(3);Object(d.b)(g,
+e[0],e[1],e[2]);g[1]*=a.saturation.value;var k=new Float32Array(3);Object(d.a)(k,g[0],g[1],g[2]);e[0]=k[0];e[1]=k[1];e[2]=k[2];a.highlightedSegments.has(b)&&(e[0]=.2,e[1]=.2,e[2]=2,e[3]=1);e[0]*=c;e[1]*=c;e[2]*=c;return e};f.d=function(a,c,d){Object(b.a)(a,function(e,g){var k=Object(b.b)(e,a.clipBounds.value);k=c.get(k);void 0!==k&&d(g,e,k)})};a.d(f,"b",function(){return v});var b=a(77),d=a(149);h=a(1);f=a(2);var e=a(7),g=a(14),l=a(29);a=a(15);var k=function y(a,b,c){null===a&&(a=Function.prototype);
+var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return y(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},t=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),m=function(){function a(b,c){n(this,a);this.key=b;this.value=c}
+t(a,[{key:"toString",value:function(){return this.key+"\u2192"+this.value}}]);return a}(),r=function(a){function b(){n(this,b);var a=q(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments));a.selectedSegment=new g.a;a.hasSelectedSegment=!1;a.changed=new e.a;return a}p(b,a);t(b,[{key:"set",value:function(a){if(null==a)this.hasSelectedSegment&&(this.hasSelectedSegment=!1,this.changed.dispatch());else{var b=this.selectedSegment;this.hasSelectedSegment&&a.low===b.low&&a.high===b.high||(b.low=
+a.low,b.high=a.high,this.hasSelectedSegment=!0,this.changed.dispatch())}}},{key:"isSelected",value:function(a){return this.hasSelectedSegment&&g.a.equal(a,this.selectedSegment)}},{key:"bindTo",value:function(a,b){var c=this,d=new g.a;this.registerDisposer(a.changed.add(function(){var e=a.get(b);"number"===typeof e?(d.low=e,d.high=0,e=d):e instanceof m&&(e=e.value);c.set(e)}))}}]);return b}(h.a),u=f.u.create(),v=function(a){function b(a,c){n(this,b);var d=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));
+d.chunkManager=a;d.displayState=c;return d}p(b,a);t(b,[{key:"initializeCounterpartWithChunkManager",value:function(a){var c=this.displayState;a.chunkManager=this.chunkManager.rpcId;a.visibleSegments=c.visibleSegments.rpcId;a.segmentEquivalences=c.segmentEquivalences.rpcId;a.clipBounds=c.clipBounds.rpcId;k(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"initializeCounterpart",this).call(this,this.chunkManager.rpc,a)}}]);return b}(Object(l.c)(a.b))},function(h,f,a){function q(a,b){if(!(a instanceof
+b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,
+b):a.__proto__=b)}function c(a){return new B.a({fragmentMain:a.displayState.fragmentMain,shaderError:a.displayState.shaderError,fragmentMainStartLine:t.a})}Object.defineProperty(f,"__esModule",{value:!0});a.d(f,"SegmentationUserLayer",function(){return M});h=a(18);f=a(27);var b=a(54),d=a(47),e=a(112),g=a(63),l=a(298),k=a(74),t=a(103),m=a(26),r=a(175),u=a(56),v=a(35),w=a(9),y=a(300),x=a(163),A=a(4),z=a(7),D=a(14),E=a(55),G=a(81),C=a(301),B=a(111),F=a(40),L=a(168),I=function(){function a(a,b){for(var c=
+0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),O=function U(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return U(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};a(45);a(303);var M=function(a){function c(a,b){q(this,
+c);var d=p(this,(c.__proto__||Object.getPrototypeOf(c)).call(this,a,b));d.manager=a;d.displayState={segmentColorHash:e.a.getDefault(),segmentSelectionState:new g.a,selectedAlpha:Object(u.a)(.5),saturation:Object(u.a)(1),notSelectedAlpha:Object(u.a)(0),objectAlpha:Object(u.a)(1),clipBounds:k.a.make(d.manager.worker,void 0),hideSegmentZero:new v.b(!0,!0),visibleSegments:y.a.makeWithCounterpart(d.manager.worker),highlightedSegments:y.a.makeWithCounterpart(d.manager.worker),segmentEquivalences:l.a.makeWithCounterpart(d.manager.worker),
+objectToDataTransform:d.transform,fragmentMain:Object(t.f)(),shaderError:Object(E.c)()};d.objectLayerStateChanged=new z.a;d.displayState.visibleSegments.changed.add(function(){return d.specificationChanged.dispatch()});d.displayState.segmentEquivalences.changed.add(function(){return d.specificationChanged.dispatch()});d.displayState.segmentSelectionState.bindTo(a.layerSelectedValues,d);d.displayState.selectedAlpha.changed.add(function(){return d.specificationChanged.dispatch()});d.displayState.notSelectedAlpha.changed.add(function(){return d.specificationChanged.dispatch()});
+d.displayState.objectAlpha.changed.add(function(){return d.specificationChanged.dispatch()});d.displayState.hideSegmentZero.changed.add(function(){return d.specificationChanged.dispatch()});d.displayState.fragmentMain.changed.add(function(){return d.specificationChanged.dispatch()});d.tabs.add("rendering",{label:"Rendering",order:-100,getter:function(){return new P(d)}});d.tabs.default="rendering";return d}n(c,a);I(c,[{key:"restoreState",value:function(a){var d=this;O(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),
+"restoreState",this).call(this,a);this.displayState.selectedAlpha.restoreState(a.selectedAlpha);this.displayState.saturation.restoreState(a.saturation);this.displayState.notSelectedAlpha.restoreState(a.notSelectedAlpha);this.displayState.objectAlpha.restoreState(a.objectAlpha);this.displayState.hideSegmentZero.restoreState(a.hideSegmentZero);this.displayState.fragmentMain.restoreState(a.skeletonShader);Object(A.v)(a,"equivalences",function(a){d.displayState.segmentEquivalences.restoreState(a)});var e=
+function(b,c){Object(A.v)(a,b,function(a){if(void 0!==a){var b=d.displayState.segmentEquivalences;Object(A.a)(a,function(a){a=D.a.parseString(String(a),10);c.add(b.get(a))})}})};e("segments",this.displayState.visibleSegments);e("highlights",this.displayState.highlightedSegments);Object(A.v)(a,"clipBounds",function(a){if(void 0!==a){var b,c;Object(A.v)(a,"center",function(a){return b=Object(A.k)(a)});Object(A.v)(a,"size",function(a){return c=Object(A.k)(a)});b&&c&&(d.displayState.clipBounds.value=
+{center:b,size:c})}});this.displayState.highlightedSegments.changed.add(function(){d.specificationChanged.dispatch()});e=this.multiscaleSource;var g=this.meshPath=null===a.mesh?null:Object(A.y)(a.mesh),k=this.skeletonsPath=Object(A.v)(a,"skeletons",A.y),l=0;null!=g&&(++l,this.manager.dataSourceProvider.getMeshSource(this.manager.chunkManager,g).then(function(a){d.wasDisposed||(d.addMesh(a),0===--l&&(d.isReady=!0))}));void 0!==k&&(++l,this.manager.dataSourceProvider.getSkeletonSource(this.manager.chunkManager,
+k).then(function(a){d.wasDisposed||(d.addSkeletonSource(a),0===--l&&(d.isReady=!0))}));void 0!==e&&(++l,e.then(function(a){d.wasDisposed||(d.addRenderLayer(new r.a(a,d.displayState)),void 0===g&&void 0===k&&(++l,Promise.resolve(a.getMeshSource()).then(function(a){d.wasDisposed?null!==a&&a.dispose():(0===--l&&(d.isReady=!0),a instanceof b.c?(d.addMesh(a),d.objectLayerStateChanged.dispatch()):a instanceof t.d&&(d.addSkeletonSource(a),d.objectLayerStateChanged.dispatch()))})),0===--l&&(d.isReady=!0))}))}},
+{key:"addMesh",value:function(a){this.meshLayer=new b.a(this.manager.chunkManager,a,this.displayState);this.addRenderLayer(this.meshLayer)}},{key:"addSkeletonSource",value:function(a){this.skeletonLayer=a=new t.c(this.manager.chunkManager,a,this.manager.voxelSize,this.displayState);this.addRenderLayer(new t.b(a.addRef()));this.addRenderLayer(new t.e(a))}},{key:"toJSON",value:function(){var a=O(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"toJSON",this).call(this);a.type="segmentation";
+a.mesh=this.meshPath;a.skeletons=this.skeletonsPath;a.selectedAlpha=this.displayState.selectedAlpha.toJSON();a.notSelectedAlpha=this.displayState.notSelectedAlpha.toJSON();a.saturation=this.displayState.saturation.toJSON();a.objectAlpha=this.displayState.objectAlpha.toJSON();a.hideSegmentZero=this.displayState.hideSegmentZero.toJSON();var b=this.displayState.visibleSegments;0<b.size&&(a.segments=b.toJSON());b=this.displayState.highlightedSegments;0<b.size&&(a.highlights=b.toJSON());b=this.displayState.segmentEquivalences;
+0<b.size&&(a.equivalences=b.toJSON());b=this.displayState.clipBounds;b.value&&(a.clipBounds={center:Array.from(b.value.center),size:Array.from(b.value.size)});a.skeletonShader=this.displayState.fragmentMain.toJSON();return a}},{key:"transformPickedValue",value:function(a){if(null==a)return a;var b=this.displayState.segmentEquivalences;if(0===b.size)return a;"number"===typeof a&&(a=new D.a(a,0));b=b.get(a);return D.a.equal(b,a)?a:new g.c(a,b)}},{key:"handleAction",value:function(a){switch(a){case "recolor":this.displayState.segmentColorHash.randomize();
+break;case "clear-segments":this.displayState.visibleSegments.clear();break;case "select":a=this.displayState.segmentSelectionState;if(a.hasSelectedSegment){a=a.selectedSegment;var b=this.displayState.visibleSegments;b.has(a)?b.delete(a):b.add(a)}break;case "highlight":a=this.displayState.segmentSelectionState,a.hasSelectedSegment&&(a=a.selectedSegment,b=this.displayState.highlightedSegments,b.has(a)?b.delete(a):b.add(a))}}},{key:"volumeOptions",get:function(){return{volumeType:m.c.SEGMENTATION}}}]);
+return c}(Object(x.a)(h.i)),P=function(a){function b(a){q(this,b);var d=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));d.layer=a;d.visibleSegmentWidget=d.registerDisposer(new C.a(d.layer.displayState));d.addSegmentWidget=d.registerDisposer(new L.a);d.selectedAlphaWidget=d.registerDisposer(new G.a(d.layer.displayState.selectedAlpha));d.notSelectedAlphaWidget=d.registerDisposer(new G.a(d.layer.displayState.notSelectedAlpha));d.saturationWidget=d.registerDisposer(new G.a(d.layer.displayState.saturation));
+d.objectAlphaWidget=d.registerDisposer(new G.a(d.layer.displayState.objectAlpha));var e=d.element;e.classList.add("segmentation-dropdown");var g=d.notSelectedAlphaWidget,k=d.saturationWidget,l=d.objectAlphaWidget;d.selectedAlphaWidget.promptElement.textContent="Opacity (on)";g.promptElement.textContent="Opacity (off)";k.promptElement.textContent="Saturation";l.promptElement.textContent="Opacity (3d)";void 0!==d.layer.volumePath&&(e.appendChild(d.selectedAlphaWidget.element),e.appendChild(d.notSelectedAlphaWidget.element),
+e.appendChild(d.saturationWidget.element));d.registerDisposer(new v.a(d.registerDisposer(new w.a(function(){return d.layer.meshPath||d.layer.meshLayer||d.layer.skeletonsPath||d.layer.skeletonLayer?!0:!1},d.layer.objectLayerStateChanged)),d.objectAlphaWidget.element));e.appendChild(d.objectAlphaWidget.element);a=d.registerDisposer(new v.c(a.displayState.hideSegmentZero));a.element.className="neuroglancer-segmentation-dropdown-hide-segment-zero neuroglancer-noselect";g=document.createElement("label");
+g.className="neuroglancer-segmentation-dropdown-hide-segment-zero neuroglancer-noselect";g.appendChild(document.createTextNode("Hide segment ID 0"));g.appendChild(a.element);e.appendChild(g);d.addSegmentWidget.element.classList.add("add-segment");d.addSegmentWidget.element.title="Add one or more segment IDs";e.appendChild(d.registerDisposer(d.addSegmentWidget).element);d.registerDisposer(d.addSegmentWidget.valuesEntered.add(function(a){a=$jscomp.makeIterator(a);for(var b=a.next();!b.done;b=a.next())d.layer.displayState.visibleSegments.add(b.value)}));
+e.appendChild(d.registerDisposer(d.visibleSegmentWidget).element);a=function(){if(void 0===d.codeWidget&&null!==d.layer.skeletonsPath&&void 0!==d.layer.skeletonLayer){var a=document.createElement("div");a.className="neuroglancer-segmentation-dropdown-skeleton-shader-header";var b=document.createElement("div");b.style.flex="1";b.textContent="Skeleton shader:";var g=document.createElement("a"),k=document.createElement("button");k.type="button";k.textContent="?";k.className="help-link";g.appendChild(k);
+g.title="Documentation on skeleton rendering";g.target="_blank";g.href="https://github.com/google/neuroglancer/blob/master/src/neuroglancer/sliceview/image_layer_rendering.md";k=document.createElement("button");k.innerHTML="&square;";k.className="maximize-button";k.title="Show larger editor view";d.registerEventListener(k,"click",function(){new N(d.layer)});a.appendChild(b);a.appendChild(k);a.appendChild(g);e.appendChild(a);a=d.codeWidget=d.registerDisposer(c(d.layer));e.appendChild(a.element);a.textEditor.refresh()}};
+d.registerDisposer(d.layer.objectLayerStateChanged.add(a));a();d.visibility.changed.add(function(){d.visible&&void 0!==d.codeWidget&&d.codeWidget.textEditor.refresh()});return d}n(b,a);return b}(F.b),N=function(a){function b(a){q(this,b);var d=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));d.layer=a;d.codeWidget=d.registerDisposer(c(d.layer));d.content.classList.add("neuroglancer-segmentation-layer-skeleton-shader-overlay");d.content.appendChild(d.codeWidget.element);d.codeWidget.textEditor.refresh();
+return d}n(b,a);return b}(d.a);Object(f.e)("segmentation",M);Object(f.f)(m.c.SEGMENTATION,M)},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,
+configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function n(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}a.d(f,"b",function(){return m});a.d(f,"a",function(){return y});var c=a(113),b=a(14),d=function A(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return A(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:
+b.call(c)}},e=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();f.c=3;var g=0,l=0,k=0,t=0;h=function(){function a(b){b=void 0===b?a.generateHashFunctions(3):b;n(this,a);this.loadFactor=.9;this.size=0;this.growFactor=1.2;this.maxHeight=8192;this.emptyHigh=this.emptyLow=4294967295;this.maxAttempts=this.maxRehashAttempts=
+5;this.maxWidth=4096/this.entryStride;this.generation=0;this.mungedEmptyKey=-1;this.hashFunctions=b;this.allocate(4,1)}e(a,[{key:"updateHashFunctions",value:function(b){this.hashFunctions=a.generateHashFunctions(b);this.mungedEmptyKey=-1}},{key:"tableWithMungedEmptyKey",value:function(a){for(var b=this.hashFunctions.length,c=Array(b),d=0;d<b;++d)c[d]=this.getHash(d,this.emptyLow,this.emptyHigh);d=this.mungedEmptyKey;if(-1===d)a:for(;;){d=16777216*Math.random()>>>0;for(var e=0;e<b;++e)for(var g=this.getHash(e,
+d,d),k=0;k<b;++k)if(c[k]===g)continue a;this.mungedEmptyKey=d;break}e=this.table;g=this.emptyLow;k=this.emptyHigh;for(var l=0;l<b;++l){var m=c[l];e[m]===g&&e[m+1]===k&&(e[m]=d,e[m+1]=d)}try{a(e)}finally{for(a=0;a<b;++a)l=c[a],e[l]===d&&e[l+1]===d&&(e[l]=g,e[l+1]=k)}}},{key:"getHash",value:function(a,b,c){a=this.hashFunctions[a];var d=this.width,e=this.height;d=a[0].compute(b,c)%d;b=a[1].compute(b,c)%e;return this.entryStride*(b*this.width+d)}},{key:"keys",value:function(a){function c(c,n){for(;;)switch(d){case 0:a=
+void 0===a?new b.a:a,h=v,u=h.emptyLow,f=h.emptyHigh,t=h.entryStride,r=v,m=r.table,l=0,k=m.length;case 1:if(!(l<k)){d=3;break}g=m[l];e=m[l+1];if(g===u&&e===f){d=4;break}a.low=g;a.high=e;d=5;return{value:a,done:!1};case 5:if(void 0===n){d=6;break}d=-1;throw n;case 6:case 4:case 2:l+=t;d=1;break;case 3:d=-1;default:return{value:void 0,done:!0}}}var d=0,e,g,k,l,m,r,t,f,u,h,v=this,n={next:function(a){return c(a,void 0)},throw:function(a){return c(void 0,a)},return:function(a){throw Error("Not yet implemented");
+}};$jscomp.initSymbolIterator();n[Symbol.iterator]=function(){return this};return n}},{key:"indexOfPair",value:function(a,b){var c=this.table,d=this.emptyHigh;if(a===this.emptyLow&&b===d)return-1;d=0;for(var e=this.hashFunctions.length;d<e;++d){var g=this.getHash(d,a,b);if(c[g]===a&&c[g+1]===b)return g}return-1}},{key:"indexOf",value:function(a){return this.indexOfPair(a.low,a.high)}},{key:"chooseAnotherEmptyKey",value:function(){for(var a=this.emptyLow,b=this.emptyHigh,c=this.table,d=this.entryStride,
+e,g;e=4294967296*Math.random()>>>0,g=4294967296*Math.random()>>>0,e===a&&g===b||this.hasPair(e,g););this.emptyLow=e;this.emptyHigh=g;for(var k=0,l=c.length;k<l;k+=d)c[k]===a&&c[k+1]===b&&(c[k]=e,c[k+1]=g)}},{key:"has",value:function(a){return-1!==this.indexOf(a)}},{key:"hasPair",value:function(a,b){return-1!==this.indexOfPair(a,b)}},{key:"delete",value:function(a){a=this.indexOf(a);if(-1!==a){var b=this.table;b[a]=this.emptyLow;b[a+1]=this.emptyHigh;++this.generation;this.size--;return!0}return!1}},
+{key:"clearTable",value:function(){for(var a=this.table,b=this.entryStride,c=this.emptyLow,d=this.emptyHigh,e=a.length,g=0;g<e;g+=b)a[g]=c,a[g+1]=d}},{key:"clear",value:function(){if(0===this.size)return!1;this.size=0;++this.generation;this.clearTable();return!0}},{key:"swapPending",value:function(a,b){var c=g,d=l;this.storePending(a,b);a[b]=c;a[b+1]=d}},{key:"storePending",value:function(a,b){g=a[b];l=a[b+1]}},{key:"backupPending",value:function(){k=g;t=l}},{key:"restorePending",value:function(){g=
+k;l=t}},{key:"tryToInsert",value:function(){for(var a=0,b=this.emptyLow,c=this.emptyHigh,d=this.maxAttempts,e=this.table,k=this.hashFunctions.length,m=Math.floor(Math.random()*k);;){var r=this.getHash(m,g,l);this.swapPending(e,r);if(g===b&&l===c)return!0;if(++a===d)break;m=(m+Math.floor(Math.random()*(k-1))+1)%k}return!1}},{key:"allocate",value:function(a,b){var c=a*b;this.width=a;this.height=b;this.table=new Uint32Array(c*this.entryStride);this.maxAttempts=c;this.clearTable();this.capacity=c*this.loadFactor;
+this.mungedEmptyKey=-1}},{key:"rehash",value:function(a,b,c){this.allocate(b,c);this.updateHashFunctions(this.hashFunctions.length);b=this.emptyLow;c=this.emptyHigh;for(var d=this.entryStride,e=0,g=a.length;e<g;e+=d){var k=a[e+1];if(a[e]!==b||k!==c)if(this.storePending(a,e),!this.tryToInsert())return!1}return!0}},{key:"grow",value:function(a){for(var b=this.table,c=this.width,d=this.height,e=this.maxWidth,g=this.maxHeight;;){var k=c*d;c=Math.min(e,Math.ceil(a/this.height));c*d<a&&(d=Math.min(g,Math.ceil(a/
+c)));var l=c*d;if(l<a&&l===k)throw Error("Maximum table size exceeded");for(k=0;k<this.maxRehashAttempts;++k)if(this.rehash(b,c,d))return;a=Math.ceil(this.growFactor*a)}}},{key:"insertInternal",value:function(){++this.generation;g===this.emptyLow&&l===this.emptyHigh&&this.chooseAnotherEmptyKey();++this.size>this.capacity&&(this.backupPending(),this.grow(Math.ceil(this.growFactor*this.width*this.height)),this.restorePending());for(;!this.tryToInsert();)this.backupPending(),this.grow(this.width*this.height),
+this.restorePending()}}],[{key:"generateHashFunctions",value:function(a){a=void 0===a?3:a;for(var b=[],d=0;d<a;++d){var e=[c.a.generate(),c.a.generate()];b.push(e)}return b}}]);return a}();var m=function(a){function b(){n(this,b);return q(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}p(b,a);$jscomp.initSymbol();$jscomp.initSymbolIterator();e(b,[{key:"add",value:function(a){var b=a.low;a=a.high;if(this.hasPair(b,a))return!1;g=b;l=a;this.insertInternal();return!0}},{key:Symbol.iterator,
+value:function(){return this.keys()}}]);return b}(h);m.prototype.entryStride=2;var r=0,u=0,v=0,w=0,y=function(a){function c(){n(this,c);return q(this,(c.__proto__||Object.getPrototypeOf(c)).apply(this,arguments))}p(c,a);$jscomp.initSymbol();$jscomp.initSymbolIterator();e(c,[{key:"set",value:function(a,b){var c=a.low;a=a.high;if(this.hasPair(c,a))return!1;g=c;l=a;r=b.low;u=b.high;this.insertInternal();return!0}},{key:"get",value:function(a,b){a=this.indexOf(a);if(-1===a)return!1;var c=this.table;b.low=
+c[a+2];b.high=c[a+3];return!0}},{key:"swapPending",value:function(a,b){var e=r,g=u;d(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"swapPending",this).call(this,a,b);a[b+2]=e;a[b+3]=g}},{key:"storePending",value:function(a,b){d(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"storePending",this).call(this,a,b);r=a[b+2];u=a[b+3]}},{key:"backupPending",value:function(){d(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"backupPending",this).call(this);v=r;w=u}},{key:"restorePending",
+value:function(){d(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"restorePending",this).call(this);r=v;u=w}},{key:Symbol.iterator,value:function(){return this.entries()}},{key:"entries",value:function(a){function c(c,q){for(;;)switch(d){case 0:a=void 0===a?[new b.a,new b.a]:a,w=p,n=w.emptyLow,v=w.emptyHigh,h=w.entryStride,u=p,f=u.table,t=$jscomp.makeIterator(a),r=t.next().value,m=t.next().value,l=0,k=f.length;case 1:if(!(l<k)){d=3;break}g=f[l];e=f[l+1];if(g===n&&e===v){d=4;break}r.low=
+g;r.high=e;m.low=f[l+2];m.high=f[l+3];d=5;return{value:a,done:!1};case 5:if(void 0===q){d=6;break}d=-1;throw q;case 6:case 4:case 2:l+=h;d=1;break;case 3:d=-1;default:return{value:void 0,done:!0}}}var d=0,e,g,k,l,m,r,t,f,u,h,v,n,w,p=this,q={next:function(a){return c(a,void 0)},throw:function(a){return c(void 0,a)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();q[Symbol.iterator]=function(){return this};return q}}]);return c}(h);y.prototype.entryStride=4},function(h,
+f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});
+b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a){var b=k.get(a),d=a.changed.count;if(void 0!==b&&b.generation===d)return b;if(a instanceof l){var e=a.baseJSON();for(var g=$jscomp.makeIterator(a.children),t=g.next();!t.done;t=g.next()){var f=$jscomp.makeIterator(t.value);t=f.next().value;f=f.next().value;e[t]=c(f).value}}else e=a.toJSON();void 0===b?(b={generation:d,value:e},k.set(a,b)):(b.generation=d,b.value=e);return b}a.d(f,"a",function(){return l});f.b=c;h=a(1);
+var b=a(4),d=a(7),e=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),g=function m(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return m(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},
+l=function(a){function c(){q(this,c);var a=p(this,(c.__proto__||Object.getPrototypeOf(c)).apply(this,arguments));a.children=new Map;a.changed=new d.a;return a}n(c,a);e(c,[{key:"add",value:function(a,b){var c=this;if(this.children.has(a))throw Error("Key "+JSON.stringify(a)+" already registered.");this.children.set(a,b);b.changed.add(this.changed.dispatch);this.changed.dispatch();return function(){c.remove(a)}}},{key:"remove",value:function(a){var b=this.children;if(b.has(a))throw Error("Key "+JSON.stringify(a)+
+" not registered.");b=b.get(a);this.children.delete(a);b.changed.remove(this.changed.dispatch);this.changed.dispatch()}},{key:"disposed",value:function(){for(var a=this.changed,b=$jscomp.makeIterator(this.children.values()),d=b.next();!d.done;d=b.next())d.value.changed.remove(a.dispatch);this.children=void 0;g(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"disposed",this).call(this)}},{key:"toJSON",value:function(){for(var a=this.baseJSON(),b=$jscomp.makeIterator(this.children),c=b.next();!c.done;c=
+b.next()){var d=$jscomp.makeIterator(c.value);c=d.next().value;d=d.next().value;a[c]=d.toJSON()}return a}},{key:"baseJSON",value:function(){return{}}},{key:"reset",value:function(){for(var a=$jscomp.makeIterator(this.children.values()),b=a.next();!b.done;b=a.next())b.value.reset()}},{key:"restoreState",value:function(a){Object(b.t)(a);for(var c=$jscomp.makeIterator(this.children),d=c.next();!d.done;d=c.next()){var e=$jscomp.makeIterator(d.value);d=e.next().value;e=e.next().value;try{if(a.hasOwnProperty(d)){var g=
+a[d];void 0!==g&&e.restoreState(g)}}catch(A){throw Error("Error restoring property "+JSON.stringify(d)+": "+A.message);}}}}]);return c}(h.a);(function(a){function c(){q(this,c);var a=p(this,(c.__proto__||Object.getPrototypeOf(c)).apply(this,arguments));a.lastState={};return a}n(c,a);e(c,[{key:"restoreState",value:function(a){Object(b.t)(a);this.lastState=a;g(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"restoreState",this).call(this,a)}},{key:"reset",value:function(){this.lastState={};
+g(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"reset",this).call(this)}},{key:"baseJSON",value:function(){for(var a=Object.assign(g(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"baseJSON",this).call(this),this.lastState),b=$jscomp.makeIterator(this.children.keys()),d=b.next();!d.done;d=b.next())delete a[d.value];return a}},{key:"toJSON",value:function(){var a=g(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"toJSON",this).call(this);return this.lastState=a}},
+{key:"add",value:function(a,b){var d=g(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"add",this).call(this,a,b);a=this.lastState[a];void 0!==a&&(b.reset(),b.restoreState(a));return d}}]);return c})(l);var k=new WeakMap},function(h,f,a){function q(a){var f=a.Symbol;if("function"===typeof f)return f.iterator||(f.iterator=f("iterator polyfill")),f.iterator;if((f=a.Set)&&"function"===typeof(new f)["@@iterator"])return"@@iterator";if(a=a.Map){f=Object.getOwnPropertyNames(a.prototype);for(var c=
+0;c<f.length;++c){var b=f[c];if("entries"!==b&&"size"!==b&&a.prototype[b]===a.prototype.entries)return b}}return"@@iterator"}h=a(16);f.symbolIteratorPonyfill=q;f.iterator=q(h.root);f.$$iterator=f.iterator},function(h,f,a){var q=a(0);h=function(){function a(a,c,b){this.kind=a;this.value=c;this.error=b;this.hasValue="N"===a}a.prototype.observe=function(a){switch(this.kind){case "N":return a.next&&a.next(this.value);case "E":return a.error&&a.error(this.error);case "C":return a.complete&&a.complete()}};
+a.prototype.do=function(a,c,b){switch(this.kind){case "N":return a&&a(this.value);case "E":return c&&c(this.error);case "C":return b&&b()}};a.prototype.accept=function(a,c,b){return a&&"function"===typeof a.next?this.observe(a):this.do(a,c,b)};a.prototype.toObservable=function(){switch(this.kind){case "N":return q.Observable.of(this.value);case "E":return q.Observable.throw(this.error);case "C":return q.Observable.empty()}throw Error("unexpected notification kind value");};a.createNext=function(f){return"undefined"!==
+typeof f?new a("N",f):a.undefinedValueNotification};a.createError=function(f){return new a("E",void 0,f)};a.createComplete=function(){return a.completeNotification};a.completeNotification=new a("C");a.undefinedValueNotification=new a("N",void 0);return a}();f.Notification=h},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)},p=a(16);h=function(a){function c(b,
+c){a.call(this,b,c);this.scheduler=b;this.work=c;this.pending=!1}q(c,a);c.prototype.schedule=function(a,c){void 0===c&&(c=0);if(this.closed)return this;this.state=a;this.pending=!0;a=this.id;var b=this.scheduler;null!=a&&(this.id=this.recycleAsyncId(b,a,c));this.delay=c;this.id=this.id||this.requestAsyncId(b,this.id,c);return this};c.prototype.requestAsyncId=function(a,c,e){void 0===e&&(e=0);return p.root.setInterval(a.flush.bind(a,this),e)};c.prototype.recycleAsyncId=function(a,c,e){void 0===e&&
+(e=0);return null!==e&&this.delay===e&&!1===this.pending?c:(p.root.clearInterval(c),void 0)};c.prototype.execute=function(a,c){if(this.closed)return Error("executing a cancelled action");this.pending=!1;if(a=this._execute(a,c))return a;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))};c.prototype._execute=function(a,c){c=!1;var b=void 0;try{this.work(a)}catch(g){c=!0,b=!!g&&g||Error(g)}if(c)return this.unsubscribe(),b};c.prototype._unsubscribe=function(){var a=
+this.id,c=this.scheduler,e=c.actions,g=e.indexOf(this);this.state=this.work=null;this.pending=!1;this.scheduler=null;-1!==g&&e.splice(g,1);null!=a&&(this.id=this.recycleAsyncId(c,a,null));this.delay=null};return c}(a(406).Action);f.AsyncAction=h},function(h,f,a){var q=this&&this.__extends||function(a,f){function c(){this.constructor=a}for(var b in f)f.hasOwnProperty(b)&&(a[b]=f[b]);a.prototype=null===f?Object.create(f):(c.prototype=f.prototype,new c)};h=function(a){function f(){a.apply(this,arguments);
+this.actions=[];this.active=!1;this.scheduled=void 0}q(f,a);f.prototype.flush=function(a){var b=this.actions;if(this.active)b.push(a);else{var c;this.active=!0;do if(c=a.execute(a.state,a.delay))break;while(a=b.shift());this.active=!1;if(c){for(;a=b.shift();)a.unsubscribe();throw c;}}};return f}(a(407).Scheduler);f.AsyncScheduler=h},function(h,f,a){var q=this&&this.__extends||function(a,f){function c(){this.constructor=a}for(var b in f)f.hasOwnProperty(b)&&(a[b]=f[b]);a.prototype=null===f?Object.create(f):
+(c.prototype=f.prototype,new c)};h=function(a){function f(){var c=a.call(this,"argument out of range");this.name=c.name="ArgumentOutOfRangeError";this.stack=c.stack;this.message=c.message}q(f,a);return f}(Error);f.ArgumentOutOfRangeError=h},function(h,f,a){var q=a(234);a.d(f,"b",function(){return q.a});var p=a(96);a.d(f,"c",function(){return p.b});var n=a(248);a.d(f,"a",function(){return n.a});a.d(f,"d",function(){return n.b});a.d(f,"e",function(){return n.c})},function(h,f){f=function(){return this}();
+try{f=f||Function("return this")()||(0,eval)("this")}catch(a){"object"===typeof window&&(f=window)}h.exports=f},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return b});var p=a(9);h=a(15);var n=
+function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),c=function g(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return g(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};f=this&&this.__decorate||
+function(a,b,c,d){var g=arguments.length,k=3>g?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d,l;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)k=Reflect.decorate(a,b,c,d);else for(var t=a.length-1;0<=t;t--)if(l=a[t])k=(3>g?l(k):3<g?l(b,c,k):l(b,c))||k;return 3<g&&k&&Object.defineProperty(b,c,k),k};var b=d=function(a){function b(a,c){c=void 0===c?{}:c;if(!(this instanceof b))throw new TypeError("Cannot call a class as a function");var d=(b.__proto__||Object.getPrototypeOf(b)).call(this,
+a,c);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");d=!d||"object"!==typeof d&&"function"!==typeof d?this:d;d.updatingValue_=!1;void 0!==a&&(d.base=new p.f(c.value),d.setupChangedHandler());return d}q(b,a);n(b,[{key:"initializeCounterpart",value:function(a,d){d=void 0===d?{}:d;d.value=this.value;c(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"initializeCounterpart",this).call(this,a,d)}},{key:"setupChangedHandler",value:function(){var a=
+this;this.registerDisposer(this.base.changed.add(function(){if(a.updatingValue_)a.updatingValue_=!1;else{var b=a.rpc;null!==b&&b.invoke("SharedWatchableValue.changed",{id:a.rpcId,value:a.value})}}))}},{key:"value",get:function(){return this.base.value},set:function(a){this.base.value=a}},{key:"changed",get:function(){return this.base.changed}}],[{key:"makeFromExisting",value:function(a,b){var c=new d;c.base=b;c.setupChangedHandler();c.initializeCounterpart(a);return c}},{key:"make",value:function(a,
+b){return d.makeFromExisting(a,new p.f(b))}}]);return b}(h.c);b=d=f([Object(h.f)("SharedWatchableValue")],b);Object(h.e)("SharedWatchableValue.changed",function(a){var b=this.get(a.id);b.updatingValue_=!0;b.base.value=a.value;b.updatingValue_=!1});var d},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+
+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return g});var n=a(58);h=a(18);var c=a(39),b=a(2),d=a(15),e=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),
+g=function(a){function g(a,e,k){k=void 0===k?{}:k;if(!(this instanceof g))throw new TypeError("Cannot call a class as a function");var l=q(this,(g.__proto__||Object.getPrototypeOf(g)).call(this));l.chunkManager=a;l.sources=e;l.rpcId=null;l.transformedSourcesGeneration=-1;a=k;var m=void 0===a.transform?new n.a:a.transform;l.transform=m;a=Object(c.m)(l)[0][0];k=a.source.spec;a=l.voxelSize=a.chunkLayout.localSpatialVectorToGlobal(b.s.create(),k.voxelSize);for(k=0;3>k;++k)a[k]=Math.abs(a[k]);a=l.registerDisposer(new d.b);
+var r=l.chunkManager.rpc;a.RPC_TYPE_ID=c.d;e=e.map(function(a){return a.map(function(a){return a.rpcId})});a.initializeCounterpart(r,{sources:e,transform:m.transform});l.rpcId=a.rpcId;l.registerDisposer(m.changed.add(function(){r.invoke(c.e,{id:l.rpcId,value:m.transform})}));l.setReady(!0);return l}p(g,a);e(g,[{key:"setGLBlendMode",value:function(a,b){0<b&&(a.enable(a.BLEND),a.blendFunc(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA))}},{key:"gl",get:function(){return this.chunkManager.chunkQueueManager.gl}}]);
+return g}(h.f)},function(h,f,a){function q(a){a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MIN_FILTER,a.NEAREST);a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MAG_FILTER,a.NEAREST);a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_S,a.CLAMP_TO_EDGE);a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_T,a.CLAMP_TO_EDGE)}f.b=q;f.a=function(a,f,c,b,d,e,g){d=void 0===d?a.RGBA8:d;e=void 0===e?a.RGBA:e;g=void 0===g?a.UNSIGNED_BYTE:g;a.activeTexture(a.TEXTURE0+a.tempTextureUnit);a.bindTexture(a.TEXTURE_2D,f);q(a);a.texImage2D(a.TEXTURE_2D,
+0,d,c,b,0,e,g,null);a.bindTexture(a.TEXTURE_2D,null)};f.c=function(a,f,c){a.activeTexture(a.TEXTURE0+a.tempTextureUnit);a.bindTexture(a.TEXTURE_2D,f);a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MIN_FILTER,a.LINEAR);a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MAG_FILTER,a.LINEAR);a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_S,a.CLAMP_TO_EDGE);a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_T,a.CLAMP_TO_EDGE);a.pixelStorei(a.UNPACK_FLIP_Y_WEBGL,!0);a.pixelStorei(a.UNPACK_ALIGNMENT,4);a.texImage2D(a.TEXTURE_2D,0,a.RGBA8,
+a.RGBA,a.UNSIGNED_BYTE,c);a.pixelStorei(a.UNPACK_FLIP_Y_WEBGL,!1);a.bindTexture(a.TEXTURE_2D,null)}},function(h,f,a){f.b=function(a,f){return a.low+","+a.high+(f?"_"+f.center.toString()+"_"+f.size.toString():"")};f.a=function(a,f){var h=a.segmentEquivalences;a=$jscomp.makeIterator(a.visibleSegments);for(var c=a.next();!c.done;c=a.next())if(c=c.value,h.disjointSets.isMinElement(c))for(var b=$jscomp.makeIterator(h.setElements(c)),d=b.next();!d.done;d=b.next())f(d.value,c)}},function(h,f,a){function q(a,
+b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?
+Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a){a.addOutputBuffer("vec4","v4f_fragColor",null);a.addFragmentCode("\nvoid emit(vec4 color, vec4 pickId) {\n  v4f_fragColor = color;\n}\n")}function b(a){a.addOutputBuffer("vec4","v4f_fragColor",null);a.addFragmentCode("\nvoid emit(vec4 color, vec4 pickId) {\n  v4f_fragColor = pickId;\n}\n")}a.d(f,"b",function(){return y});a.d(f,"a",function(){return A});var d=a(144),e=a(18),g=a(145);h=a(146);var l=a(44),k=a(25),t=a(2),m=a(80),r=a(98),u=a(53),
+v=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),w;(function(a){a[a.COLOR=0]="COLOR";a[a.PICK=1]="PICK";a[a.NUM_TEXTURES=2]="NUM_TEXTURES"})(w||(w={}));var y=function(a){function b(){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);v(b,[{key:"draw",value:function(a){}},
+{key:"isReady",value:function(){return!0}}]);return b}(e.j),x=t.u.create(),A=function(a){function f(a,b,h,v){q(this,f);var n=p(this,(f.__proto__||Object.getPrototypeOf(f)).call(this,a,b,v));n.sliceView=h;n.axesLineHelper=n.registerDisposer(d.a.get(n.gl));n.sliceViewRenderHelper=n.registerDisposer(l.d.get(n.gl,c));n.colorFactor=t.u.fromValues(1,1,1,1);n.pickIDs=new g.a;n.visibleLayerTracker=Object(e.l)(n.viewer.layerManager,y,n.viewer.visibleLayerRoles,n);n.offscreenFramebuffer=n.registerDisposer(new r.b(n.gl,
+{colorBuffers:Object(r.e)(n.gl,w.NUM_TEXTURES)}));n.offscreenCopyHelper=n.registerDisposer(r.c.get(n.gl));n.scaleBarCopyHelper=n.registerDisposer(r.c.get(n.gl));n.scaleBarTexture=n.registerDisposer(new u.b(n.gl));Object(k.c)(b,"translate-via-mouse-drag",function(a){n.viewer.mouseState.updateUnconditionally()&&Object(m.a)(a.detail,function(a,b,c){a=n.viewer.navigationState.position;var d=a.spatialCoordinates;t.s.set(d,b,c,0);t.s.transformMat4(d,d,n.sliceView.viewportToData);a.changed.dispatch()})});
+Object(k.c)(b,"rotate-via-mouse-drag",function(a){var b=n.viewer.mouseState;if(b.updateUnconditionally()){var c=t.s.clone(b.position);Object(m.a)(a.detail,function(a,b,d){a=n.sliceView.viewportAxes;n.viewer.navigationState.pose.rotateAbsolute(a[1],b/4*Math.PI/180,c);n.viewer.navigationState.pose.rotateAbsolute(a[0],d/4*Math.PI/180,c)})}});n.registerDisposer(h);n.registerDisposer(v.crossSectionBackgroundColor.changed.add(function(){return n.scheduleRedraw()}));n.registerDisposer(h.visibility.add(n.visibility));
+n.registerDisposer(h.viewChanged.add(function(){n.visible&&a.scheduleRedraw()}));n.registerDisposer(v.showAxisLines.changed.add(function(){n.visible&&n.scheduleRedraw()}));n.registerDisposer(v.showScaleBar.changed.add(function(){n.visible&&n.context.scheduleRedraw()}));n.registerDisposer(v.scaleBarOptions.changed.add(function(){n.visible&&n.context.scheduleRedraw()}));return n}n(f,a);v(f,[{key:"isReady",value:function(){if(!this.visible||!this.sliceView.isReady())return!1;var a=this.visibleLayerTracker.getVisibleLayers();
+a=$jscomp.makeIterator(a);for(var b=a.next();!b.done;b=a.next())if(!b.value.isReady())return!1;return!0}},{key:"draw",value:function(){var a=this.sliceView;this.onResize();a.updateRendering();if(a.hasValidViewport){var d=this.gl,e=a.width,g=a.height,k=a.dataToDevice;this.offscreenFramebuffer.bind(e,g);d.disable(WebGL2RenderingContext.SCISSOR_TEST);this.gl.clearColor(0,0,0,0);d.clear(WebGL2RenderingContext.COLOR_BUFFER_BIT);var l=t.k.create(),m=this.viewer.crossSectionBackgroundColor.value;x[0]=m[0];
+x[1]=m[1];x[2]=m[2];x[3]=1;this.sliceViewRenderHelper.draw(a.offscreenFramebuffer.colorBuffers[0].texture,t.d,this.colorFactor,x,0,0,1,1);m=this.visibleLayerTracker.getVisibleLayers();var r=this.pickIDs;r.clear();this.offscreenFramebuffer.bindSingle(w.COLOR);r={dataToDevice:a.dataToDevice,pickIDs:r,emitter:c,emitColor:!0,emitPickID:!1,viewportWidth:e,viewportHeight:g,sliceView:a};d.enable(WebGL2RenderingContext.BLEND);d.blendFunc(WebGL2RenderingContext.SRC_ALPHA,WebGL2RenderingContext.ONE_MINUS_SRC_ALPHA);
+for(var f=$jscomp.makeIterator(m),u=f.next();!u.done;u=f.next())u.value.draw(r);d.disable(WebGL2RenderingContext.BLEND);this.offscreenFramebuffer.bindSingle(w.PICK);r.emitColor=!1;r.emitPickID=!0;r.emitter=b;m=$jscomp.makeIterator(m);for(u=m.next();!u.done;u=m.next())u.value.draw(r);if(this.viewer.showAxisLines.value||this.viewer.showScaleBar.value){if(this.viewer.showAxisLines.value){t.k.copy(l,k);for(k=0;3>k;++k)l[12+k]=0;for(k=0;4>k;++k)l[2+4*k]=0;g=Math.min(e,g)/4*1.5;k=a.pixelSize;for(m=0;12>
+m;++m)l[m]=l[m]*g*k}this.offscreenFramebuffer.bindSingle(w.COLOR);this.viewer.showAxisLines.value&&this.axesLineHelper.draw(l);this.viewer.showScaleBar.value&&(d.enable(WebGL2RenderingContext.BLEND),d.blendFunc(WebGL2RenderingContext.SRC_ALPHA,WebGL2RenderingContext.ONE_MINUS_SRC_ALPHA),l=this.viewer.scaleBarOptions.value,g=this.scaleBarTexture,k=g.dimensions,k.targetLengthInPixels=Math.min(l.maxWidthFraction*e,l.maxWidthInPixels*l.scaleFactor),k.nanometersPerPixel=a.pixelSize,g.update(l),d.viewport(l.leftPixelOffset*
+l.scaleFactor,l.bottomPixelOffset*l.scaleFactor,g.width,g.height),this.scaleBarCopyHelper.draw(g.texture),d.disable(WebGL2RenderingContext.BLEND))}this.offscreenFramebuffer.unbind();this.setGLViewport();this.offscreenCopyHelper.draw(this.offscreenFramebuffer.colorBuffers[w.COLOR].texture)}}},{key:"onResize",value:function(){this.sliceView.setViewportSizeDebounced(this.element.clientWidth,this.element.clientHeight)}},{key:"updateMouseState",value:function(a){a.pickedRenderLayer=null;var b=this.sliceView;
+if(!b.hasValidViewport)return!1;var c=b.width,d=b.height,e=this.offscreenFramebuffer;if(!e.hasSize(c,d))return!1;var g=a.position,k=this.mouseX,l=this.mouseY;t.s.set(g,k-c/2,l-d/2,0);t.s.transformMat4(g,g,b.viewportToData);this.pickIDs.setMouseState(a,e.readPixelAsUint32(w.PICK,k,d-l));return!0}},{key:"zoomByMouse",value:function(a){var b=this.navigationState;if(b.valid){var c=this.sliceView,d=c.height,e=this.mouseX,g=this.mouseY;e-=c.width/2;g-=d/2;d=this.navigationState.zoomFactor.value;b.zoomBy(a);
+a=b.zoomFactor.value;var k=b.position.spatialCoordinates;t.s.scaleAndAdd(k,k,c.viewportAxes[0],e*(d-a));t.s.scaleAndAdd(k,k,c.viewportAxes[1],g*(d-a));b.position.changed.dispatch()}}},{key:"navigationState",get:function(){return this.sliceView.navigationState}}]);return f}(h.a)},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&
+null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function n(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}a.d(f,"a",function(){return k});h=a(10);var c=a.n(h);h=a(1);var b=a(256),d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=
+b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),e=function m(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return m(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},g=new function r(){n(this,r);b.a.initializeHead(this)},l=c()(function(){var a=
+document.activeElement;if(null===a||a===document.body)a=b.a.front(g),null!==a&&a.element.focus()});window.addEventListener("focus",function(){l()},!0);window.addEventListener("blur",function(){l()},!0);var k=function(a){function k(a){n(this,k);var d=q(this,(k.__proto__||Object.getPrototypeOf(k)).call(this));d.element=a;d.prev0=null;d.next0=null;d.lastFocusedElement=null;d.scheduleUpdateFocus=d.registerCancellable(c()(function(){var a=document.activeElement,b=d.element;b.contains(a)||((a===d.lastFocusedElement||
+a.contains(b))&&d.element.focus(),d.lastFocusedElement=null)},0));a.tabIndex=-1;d.registerEventListener(a,"mouseenter",function(){d.lastFocusedElement=document.activeElement;d.scheduleUpdateFocus()});d.registerEventListener(a,"mouseleave",function(){d.scheduleUpdateFocus.cancel()});b.a.insertBefore(g,d);d.registerEventListener(a,"focus",function(){b.a.pop(d);b.a.insertAfter(g,d)});l();return d}p(k,a);d(k,[{key:"disposed",value:function(){b.a.pop(this);e(k.prototype.__proto__||Object.getPrototypeOf(k.prototype),
+"disposed",this).call(this)}}]);return k}(h.a)},function(h,f,a){f.a=function(a,f){var h=a.view.document,c=a.screenX,b=a.screenY,d=function(a){var d=c-a.screenX,e=b-a.screenY;c=a.screenX;b=a.screenY;f(a,d,e)},e=a.button,g=function(a){a.button===e&&(h.removeEventListener("mousemove",d,!0),h.removeEventListener("mouseup",g,!1))};h.addEventListener("mousemove",d,!0);h.addEventListener("mouseup",g,!1)}},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
+return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return d});h=a(1);var n=a(8),c=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=
+d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),b=function g(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return g(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};a(287);var d=function(a){function d(a,b){var c=void 0===b?{}:b;b=void 0===c.min?0:c.min;var g=
+void 0===c.max?1:c.max;c=void 0===c.step?.01:c.step;if(!(this instanceof d))throw new TypeError("Cannot call a class as a function");var k=q(this,(d.__proto__||Object.getPrototypeOf(d)).call(this));k.value=a;k.element=document.createElement("label");k.promptElement=document.createElement("span");k.inputElement=document.createElement("input");var l=k.element,f=k.promptElement,t=k.inputElement;l.className="range-slider";f.className="range-prompt";t.type="range";t.min=""+b;t.max=""+g;t.step=""+c;t.valueAsNumber=
+k.value.value;l.appendChild(f);l.appendChild(t);var h=function(){k.value.value=k.inputElement.valueAsNumber};k.registerEventListener(t,"change",h);k.registerEventListener(t,"input",h);k.registerEventListener(t,"wheel",function(a){a=a.deltaY;0<a?(k.inputElement.stepUp(),h()):0>a&&(k.inputElement.stepDown(),h())});a.changed.add(function(){k.inputElement.valueAsNumber=k.value.value});return k}p(d,a);c(d,[{key:"disposed",value:function(){Object(n.b)(this.element);b(d.prototype.__proto__||Object.getPrototypeOf(d.prototype),
+"disposed",this).call(this)}}]);return d}(h.a)},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?
+Object.setPrototypeOf(a,b):a.__proto__=b)}function n(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function c(a,b){b=void 0===b?a.navigationState:new w.e(new w.g(a.navigationState.pose.position,w.f.makeRelative(a.navigationState.pose.orientation,b)),a.navigationState.zoomFactor);return new x.a(a.chunkManager,a.layerManager,b)}function b(a){return new Map([["xy",c(a,P.get("xy"))],["xz",c(a,P.get("xz"))],["yz",c(a,P.get("yz"))]])}function d(a){return{crossSectionBackgroundColor:a.crossSectionBackgroundColor,
+mouseState:a.mouseState,layerManager:a.layerManager,showAxisLines:a.showAxisLines,visibleLayerRoles:a.visibleLayerRoles,selectedLayer:a.selectedLayer,visibility:a.visibility,scaleBarOptions:a.scaleBarOptions}}function e(a){var b=a.viewer;return Object.assign({},d(b),{navigationState:b.perspectiveNavigationState,inputEventMap:b.inputEventBindings.perspectiveView,orthographicProjection:a.specification.orthographicProjection,showScaleBar:b.showScaleBar,rpc:b.chunkManager.rpc})}function g(a){return Object.assign({},
+d(a),{navigationState:a.navigationState,inputEventMap:a.inputEventBindings.sliceView})}function l(a,b,c){for(var d={},e=0;2>e;d={relatedLayout:d.relatedLayout},++e)d.relatedLayout=c[Math.min(c.length-1,e)],a.registerDisposer(Object(G.c)(b.element,0===e?"toggle-layout":"toggle-layout-alternative",function(b){return function(c){a.container.name=b.relatedLayout;c.stopPropagation()}}(d)))}function k(a,b){var c=new x.a(a.chunkManager,a.layerManager,b.navigationState.addRef());a=function(){c.setViewportSizeDebounced(b.width.value,
+b.height.value)};c.registerDisposer(b.width.changed.add(a));c.registerDisposer(b.height.changed.add(a));a();return c}function t(a,b,c){var d=new Map,e=new Set;c=$jscomp.makeIterator(c.values());for(var g=c.next();!g.done;g=c.next())if(g=g.value,e.add(g),!d.has(g)){var l=k(a,g);b.sliceViews.set(l,!0);d.set(g,l)}a=$jscomp.makeIterator(d);for(d=a.next();!d.done;d=a.next())c=$jscomp.makeIterator(d.value),d=c.next().value,c=c.next().value,e.has(d)||b.sliceViews.delete(c)}function m(a){var b=H.get(a);if(void 0===
+b)throw Error("Invalid layout name: "+JSON.stringify(a)+".");return b}function r(a){m(a);return a}a.d(f,"b",function(){return M});f.d=d;a.d(f,"a",function(){return ka});h=a(10);var u=a.n(h),v=a(183),w=a(57),y=a(117),x=a(44),A=a(78),z=a(35),D=a(9);h=a(1);var E=a(8),G=a(25),C=a(2),B=a(4),F=a(7),L=a(184),I=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,
+d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),O=function R(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return R(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};a(83);var M=function X(){n(this,X);this.perspectiveView=new G.a;this.sliceView=new G.a},P=new Map([["xy",void 0],["xz",C.n.rotateX(C.n.create(),C.n.create(),Math.PI/2)],["yz",C.n.rotateY(C.n.create(),C.n.create(),
+Math.PI/2)]]),N=function(a){function c(a,d,k,m){n(this,c);var r=q(this,(c.__proto__||Object.getPrototypeOf(c)).call(this));r.container=a;r.rootElement=d;r.viewer=k;var f=b(k),u=k.display,h=Object.assign({},e(a),{showSliceViews:k.showPerspectiveSliceViews,showSliceViewsCheckbox:!0}),w=Object.assign({},g(k),{showScaleBar:k.showScaleBar}),p=Object.assign({},g(k),{showScaleBar:new z.b(!1,!1)}),x=function(a,b,c){b=r.registerDisposer(new A.a(u,b,f.get(a),c));l(r,b,[a,a+"-3d"]);return b};a=[v.b(1,v.a("column",
+[v.b(1,v.a("row",[v.b(1,function(a){x("xy",a,w)}),v.b(1,function(a){x("xz",a,p)})])),v.b(1,v.a("row",[v.b(1,function(a){a=r.registerDisposer(new y.b(u,a,h));for(var b=$jscomp.makeIterator(f.values()),c=b.next();!c.done;c=b.next())a.sliceViews.set(c.value.addRef(),!1);t(k,a,m);l(r,a,["3d"])}),v.b(1,function(a){x("yz",a,p)})]))]))];v.a("row",a)(d);u.onResize();return r}p(c,a);I(c,[{key:"disposed",value:function(){Object(E.a)(this.rootElement);O(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),
+"disposed",this).call(this)}}]);return c}(h.a),S=function(a){function b(a,d,k,m,r,f){n(this,b);var u=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));u.container=a;u.rootElement=d;u.viewer=k;u.direction=m;var h=c(k,P.get(r)),w=k.display,p=Object.assign({},e(a),{showSliceViews:k.showPerspectiveSliceViews,showSliceViewsCheckbox:!0}),x=Object.assign({},g(k),{showScaleBar:k.showScaleBar});v.b(1,v.a(m,[v.b(1,function(a){a=u.registerDisposer(new A.a(w,a,h,x));l(u,a,[r,"4panel"])}),v.b(1,function(a){a=
+u.registerDisposer(new y.b(w,a,p));a.sliceViews.set(h.addRef(),!1);t(k,a,f);l(u,a,["3d","4panel"])})]))(d);w.onResize();return u}p(b,a);I(b,[{key:"disposed",value:function(){Object(E.a)(this.rootElement);O(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"disposed",this).call(this)}}]);return b}(h.a),U=function(a){function b(a,d,e,k){n(this,b);var m=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));m.container=a;m.rootElement=d;m.viewer=e;var r=c(e,P.get(k)),f=Object.assign({},g(e),
+{showScaleBar:e.showScaleBar});v.a("row",[v.b(1,function(a){a=m.registerDisposer(new A.a(e.display,a,r,f));l(m,a,["4panel",k+"-3d"])})])(d);e.display.onResize();return m}p(b,a);I(b,[{key:"disposed",value:function(){Object(E.a)(this.rootElement);O(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"disposed",this).call(this)}}]);return b}(h.a),Z=function(a){function b(a,c,d,g){n(this,b);var k=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));k.container=a;k.rootElement=c;k.viewer=d;
+var m=Object.assign({},e(a),{showSliceViews:new z.b(!1,!1)});v.a("row",[v.b(1,function(a){a=k.registerDisposer(new y.b(d.display,a,m));t(d,a,g);l(k,a,["4panel"])})])(c);d.display.onResize();return k}p(b,a);I(b,[{key:"disposed",value:function(){Object(E.a)(this.rootElement);O(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"disposed",this).call(this)}}]);return b}(h.a),H=new Map([["4panel",{factory:function(a,b,c,d){return new N(a,b,c,d)}}],["3d",{factory:function(a,b,c,d){return new Z(a,
+b,c,d)}}]]);f.c=H;f={};a=$jscomp.makeIterator(P.keys());for(C=a.next();!C.done;f={axes:f.axes},C=a.next())f.axes=C.value,H.set(f.axes,{factory:function(a){return function(b,c,d){return new U(b,c,d,a.axes)}}(f)}),H.set(f.axes+"-3d",{factory:function(a){return function(b,c,d,e){return new S(b,c,d,"row",a.axes,e)}}(f)});var Q=function(a){function b(a){n(this,b);var c=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.width=new D.c(1E3,B.z);c.height=new D.c(1E3,B.z);c.changed=new F.a;c.position=
+new w.b(a.position.addRef());c.position.changed.add(c.changed.dispatch);c.orientation=new w.a(a.pose.orientation.addRef());c.orientation.changed.add(c.changed.dispatch);c.width.changed.add(c.changed.dispatch);c.height.changed.add(c.changed.dispatch);c.zoom=new w.c(a.zoomFactor.addRef());c.zoom.changed.add(c.changed.dispatch);c.navigationState=c.registerDisposer(new w.e(new w.g(c.position.value,c.orientation.value),c.zoom.value));return c}p(b,a);I(b,[{key:"restoreState",value:function(a){var b=this;
+Object(B.t)(a);Object(B.v)(a,"width",function(a){return void 0!==a&&b.width.restoreState(a)});Object(B.v)(a,"height",function(a){return void 0!==a&&b.height.restoreState(a)});Object(B.v)(a,"position",function(a){return void 0!==a&&b.position.restoreState(a)});Object(B.v)(a,"orientation",function(a){return void 0!==a&&b.orientation.restoreState(a)});Object(B.v)(a,"zoom",function(a){return void 0!==a&&b.zoom.restoreState(a)})}},{key:"reset",value:function(){this.width.reset();this.height.reset();this.position.reset();
+this.orientation.reset();this.zoom.reset()}},{key:"toJSON",value:function(){return{width:this.width,height:this.height,position:this.position,orientation:this.orientation,zoom:this.zoom}}}]);return b}(h.a),aa=function(a){function b(a){n(this,b);var c=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,function(a){return c.registerDisposer(c.registerDisposer(a).changed.add(c.changed.dispatch))},function(a){a.changed.remove(c.changed.dispatch);a.dispose()}));c.parentNavigationState=a;c.registerDisposer(a);
+return c}p(b,a);I(b,[{key:"restoreState",value:function(a){Object(B.t)(a);for(var b=$jscomp.makeIterator(Object.keys(a)),c=b.next();!c.done;c=b.next()){c=c.value;var d=new Q(this.parentNavigationState);try{this.set(c,d.addRef()),d.restoreState(a[c])}finally{d.dispose()}}}},{key:"reset",value:function(){this.clear()}},{key:"toJSON",value:function(){for(var a={},b=$jscomp.makeIterator(this),c=b.next();!c.done;c=b.next()){var d=$jscomp.makeIterator(c.value);c=d.next().value;d=d.next().value;a[c]=d}return a}}]);
+return b}(L.a),ba=function(a){function b(a,c){n(this,b);var d=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));d.changed=new F.a;d.orthographicProjection=new z.b(!1);d.type=new D.c(c,r);d.type.changed.add(d.changed.dispatch);d.crossSections=d.registerDisposer(new aa(a));d.crossSections.changed.add(d.changed.dispatch);d.orthographicProjection.changed.add(d.changed.dispatch);d.registerDisposer(a);return d}p(b,a);I(b,[{key:"reset",value:function(){this.crossSections.clear();this.orthographicProjection.reset();
+this.type.reset()}},{key:"restoreState",value:function(a){var b=this;this.crossSections.clear();this.orthographicProjection.reset();"string"===typeof a?this.type.restoreState(a):(Object(B.t)(a),Object(B.v)(a,"type",function(a){return b.type.restoreState(a)}),Object(B.v)(a,"orthographicProjection",function(a){return b.orthographicProjection.restoreState(a)}),Object(B.v)(a,"crossSections",function(a){return void 0!==a&&b.crossSections.restoreState(a)}))}},{key:"toJSON",value:function(){var a=this.type,
+b=this.crossSections,c=this.orthographicProjection.toJSON();return 0===b.size&&void 0===c?a.value:{type:a.value,crossSections:b,orthographicProjection:c}}}]);return b}(h.a),ka=function(a){function b(a,c){n(this,b);var d=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));d.viewer=a;d.element=document.createElement("div");d.specification=d.registerDisposer(new ba(d.viewer.navigationState.addRef(),c));d.element.style.flex="1";var e=d.registerCancellable(u()(function(){return d.updateLayout()},
+0));d.specification.type.changed.add(e);Object(G.c)(d.element,"toggle-orthographic-projection",function(){return d.specification.orthographicProjection.toggle()});d.registerDisposer(d.viewer.display.updateStarted.add(function(){return e.flush()}));e();return d}p(b,a);I(b,[{key:"toJSON",value:function(){return this.specification.toJSON()}},{key:"restoreState",value:function(a){this.specification.restoreState(a)}},{key:"reset",value:function(){this.specification.reset()}},{key:"disposeLayout",value:function(){var a=
+this.layout;void 0!==a&&(a.dispose(),this.layout=void 0)}},{key:"updateLayout",value:function(){this.disposeLayout();this.layout=m(this.name).factory(this,this.element,this.viewer,this.specification.crossSections)}},{key:"disposed",value:function(){this.disposeLayout();O(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"disposed",this).call(this)}},{key:"name",get:function(){return this.specification.type.value},set:function(a){this.specification.type.value=a}},{key:"changed",get:function(){return this.specification.changed}}]);
+return b}(h.a)},function(h,f){},function(h,f,a){f.isFunction=function(a){return"function"===typeof a}},function(h,f,a){h=a(16).root.Symbol;f.rxSubscriber="function"===typeof h&&"function"===typeof h.for?h.for("rxSubscriber"):"@@rxSubscriber";f.$$rxSubscriber=f.rxSubscriber},function(h,f,a){function q(a){var f=a.Symbol;"function"===typeof f?f.observable?a=f.observable:(a=f("observable"),f.observable=a):a="@@observable";return a}h=a(16);f.getSymbolObservable=q;f.observable=q(h.root);f.$$observable=
+f.observable},function(h,f,a){var q=this&&this.__extends||function(a,f){function c(){this.constructor=a}for(var b in f)f.hasOwnProperty(b)&&(a[b]=f[b]);a.prototype=null===f?Object.create(f):(c.prototype=f.prototype,new c)};h=function(a){function f(){var c=a.call(this,"object unsubscribed");this.name=c.name="ObjectUnsubscribedError";this.stack=c.stack;this.message=c.message}q(f,a);return f}(Error);f.ObjectUnsubscribedError=h},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=
+a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(12);var p=a(11);a=function(a){function c(){a.apply(this,arguments);this.value=null;this.hasCompleted=this.hasNext=!1}q(c,a);c.prototype._subscribe=function(b){return this.hasError?(b.error(this.thrownError),p.Subscription.EMPTY):this.hasCompleted&&this.hasNext?(b.next(this.value),b.complete(),p.Subscription.EMPTY):a.prototype._subscribe.call(this,b)};c.prototype.next=function(a){this.hasCompleted||
+(this.value=a,this.hasNext=!0)};c.prototype.error=function(b){this.hasCompleted||a.prototype.error.call(this,b)};c.prototype.complete=function(){this.hasCompleted=!0;this.hasNext&&a.prototype.next.call(this,this.value);a.prototype.complete.call(this)};return c}(h.Subject);f.AsyncSubject=a},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=
+a(5);var p=a(6);f.mergeAll=function(a){void 0===a&&(a=Number.POSITIVE_INFINITY);return this.lift(new n(a))};var n=function(){function a(a){this.concurrent=a}a.prototype.call=function(a,b){return b.subscribe(new c(a,this.concurrent))};return a}();f.MergeAllOperator=n;var c=function(a){function b(b,c){a.call(this,b);this.concurrent=c;this.hasCompleted=!1;this.buffer=[];this.active=0}q(b,a);b.prototype._next=function(a){this.active<this.concurrent?(this.active++,this.add(p.subscribeToResult(this,a))):
+this.buffer.push(a)};b.prototype._complete=function(){this.hasCompleted=!0;0===this.active&&0===this.buffer.length&&this.destination.complete()};b.prototype.notifyComplete=function(a){var b=this.buffer;this.remove(a);this.active--;0<b.length?this._next(b.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()};return b}(h.OuterSubscriber);f.MergeAllSubscriber=c},function(h,f,a){var q=a(36);f.isNumeric=function(a){return!q.isArray(a)&&0<=a-parseFloat(a)+1}},function(h,f,a){f.isDate=
+function(a){return a instanceof Date&&!isNaN(+a)}},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(12);var p=a(208),n=a(11),c=a(127),b=a(87),d=a(198);a=function(a){function g(b,c,d){void 0===b&&(b=Number.POSITIVE_INFINITY);void 0===c&&(c=Number.POSITIVE_INFINITY);a.call(this);this.scheduler=d;this._events=[];this._bufferSize=1>b?1:b;this._windowTime=
+1>c?1:c}q(g,a);g.prototype.next=function(b){var c=this._getNow();this._events.push(new e(c,b));this._trimBufferThenGetEvents();a.prototype.next.call(this,b)};g.prototype._subscribe=function(a){var e=this._trimBufferThenGetEvents(),g=this.scheduler;if(this.closed)throw new b.ObjectUnsubscribedError;if(this.hasError)var k=n.Subscription.EMPTY;else this.isStopped?k=n.Subscription.EMPTY:(this.observers.push(a),k=new d.SubjectSubscription(this,a));g&&a.add(a=new c.ObserveOnSubscriber(a,g));g=e.length;
+for(var l=0;l<g&&!a.closed;l++)a.next(e[l].value);this.hasError?a.error(this.thrownError):this.isStopped&&a.complete();return k};g.prototype._getNow=function(){return(this.scheduler||p.queue).now()};g.prototype._trimBufferThenGetEvents=function(){for(var a=this._getNow(),b=this._bufferSize,c=this._windowTime,d=this._events,e=d.length,g=0;g<e&&!(a-d[g].time<c);)g++;e>b&&(g=Math.max(g,e-b));0<g&&d.splice(0,g);return d};return g}(h.Subject);f.ReplaySubject=a;var e=function(){return function(a,b){this.time=
+a;this.value=b}}()},function(h,f,a){var q=this&&this.__extends||function(a,f){function c(){this.constructor=a}for(var b in f)f.hasOwnProperty(b)&&(a[b]=f[b]);a.prototype=null===f?Object.create(f):(c.prototype=f.prototype,new c)};h=function(a){function f(){var c=a.call(this,"no elements in sequence");this.name=c.name="EmptyError";this.stack=c.stack;this.message=c.message}q(f,a);return f}(Error);f.EmptyError=h},function(h,f,a){function q(a,c){if("function"!==typeof c&&null!==c)throw new TypeError("Super expression must either be null or a function, not "+
+typeof c);a.prototype=Object.create(c&&c.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});c&&(Object.setPrototypeOf?Object.setPrototypeOf(a,c):a.__proto__=c)}a.d(f,"k",function(){return p});h=a(39);f.d="annotation.MetadataChunkSource";f.c="annotation.GeometryChunkSource";f.j="annotation.SubsetGeometryChunkSource";f.f="annotation.reference.add";f.g="annotation.reference.delete";f.b="annotation.commit";f.a="annotation.commit";var p=function(a){function c(){if(!(this instanceof
+c))throw new TypeError("Cannot call a class as a function");var a=(c.__proto__||Object.getPrototypeOf(c)).apply(this,arguments);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!a||"object"!==typeof a&&"function"!==typeof a?this:a}q(c,a);return c}(h.i);f.e="annotation/PerspectiveRenderLayer";f.h="annotation/RenderLayer";f.i="annotation/RenderLayer.updateSegmentation"},function(h,f){h.exports=function(a){var f=typeof a;return null!=a&&("object"==
+f||"function"==f)}},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):
+a.__proto__=b)}function n(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function c(a,b){var c=b.type,d=a.typeToIds[c],g=Object(e.g)(c),k=g.serializedBytes,r=Object(l.b)(c),f=Object(m.a)(d,b.id,function(a,b){return a<b?-1:a===b?0:1}),t=0;if(0>f){f=~f;d.splice(f,0,b.id);var u=new Uint8Array(a.data.length+k);a.numPickIds+=r.pickIdsPerInstance;t=a.typeToOffset[c]+k*f;u.set(a.data.subarray(0,t),0);u.set(a.data.subarray(t),t+k);a.data=u}else t=a.typeToOffset[c]+g.serializedBytes*
+f;g.serializer(a.data.buffer,a.typeToOffset[c],d.length)(b,f);b=$jscomp.makeIterator(e.e);for(d=b.next();!d.done;d=b.next())d=d.value,d>c&&(a.typeToOffset[d]+=k);a.bufferValid=!1}function b(a,b,c){var d=a.typeToIds[b],g=Object(l.b)(b),k=g.bytes;c=Object(m.a)(d,c,function(a,b){return a<b?-1:a===b?0:1});if(0>c)return!1;a.numPickIds-=g.pickIdsPerInstance;d.splice(c,1);d=a.typeToOffset[b]+g.bytes*c;g=new Uint8Array(a.data.length-k);g.set(a.data.subarray(0,d),0);g.set(a.data.subarray(d+k),d);a.data=g;
+d=$jscomp.makeIterator(e.e);for(g=d.next();!g.done;g=d.next())g=g.value,g>b&&(a.typeToOffset[g]-=k);a.bufferValid=!1;return!0}function d(){for(var a=[],b=[],c=$jscomp.makeIterator(e.e),d=c.next();!d.done;d=c.next())d=d.value,a[d]=[],b[d]=0;return new D(void 0,{data:new Uint8Array(0),numPickIds:0,typeToOffset:b,typeToIds:a})}a.d(f,"b",function(){return F});a.d(f,"a",function(){return L});var e=a(28),g=a(94),l=a(51);h=a(23);f=a(44);var k=a(75),t=a(31),m=a(43),r=a(2),u=a(7),v=a(15),w=a(77),y=function O(a,
+b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return O(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},x=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();a=this&&this.__decorate||
+function(a,b,c,d){var e=arguments.length,g=3>e?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d,k;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)g=Reflect.decorate(a,b,c,d);else for(var l=a.length-1;0<=l;l--)if(k=a[l])g=(3>e?k(g):3<e?k(b,c,g):k(b,c))||g;return 3<e&&g&&Object.defineProperty(b,c,g),g};var A=function(){function a(b){n(this,a);this.bufferValid=!1;this.data=b.data;for(var c=this.typeToIds=b.typeToIds,d=0,g=$jscomp.makeIterator(e.e),k=g.next();!k.done;k=g.next())k=
+k.value,d+=Object(l.b)(k).pickIdsPerInstance*c[k].length;this.numPickIds=d;this.typeToOffset=b.typeToOffset}x(a,[{key:"freeGPUMemory",value:function(a){a;a=this.buffer;void 0!==a&&(a.dispose(),this.bufferValid=!1,this.buffer=void 0)}}]);return a}(),z=function(a){function b(a,c){n(this,b);a=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a));a.data=new A(c);return a}p(b,a);x(b,[{key:"freeGPUMemory",value:function(a){y(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"freeGPUMemory",
+this).call(this,a);this.data.freeGPUMemory(a)}},{key:"dispose",value:function(){this.data=void 0}}]);return b}(h.b),D=function(a){function b(a,c){n(this,b);a=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a,c));a.data=new A(c);return a}p(b,a);x(b,[{key:"freeGPUMemory",value:function(a){y(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"freeGPUMemory",this).call(this,a);this.data.freeGPUMemory(a)}},{key:"dispose",value:function(){this.data=void 0}}]);return b}(f.b),E=function(a){function b(a,
+c){n(this,b);a=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a,c));a.immediateChunkUpdates=!0;a.parent=c.parent;a.parameters=c.parameters;a.spec=c.spec;return a}p(b,a);x(b,[{key:"initializeCounterpart",value:function(a,c){c.parameters=this.parameters;c.parent=this.parent.rpcId;y(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"initializeCounterpart",this).call(this,a,c)}},{key:"addChunk",value:function(a,c){y(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"addChunk",
+this).call(this,a,c)}},{key:"getChunk",value:function(a){return new D(this,a)}}]);return b}(f.c);E=a([Object(v.g)(g.c)],E);var G=function(a){function b(a,c){n(this,b);a=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a,{}));a.parent=c;a.immediateChunkUpdates=!0;return a}p(b,a);x(b,[{key:"initializeCounterpart",value:function(a,c){c.parent=this.parent.rpcId;y(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"initializeCounterpart",this).call(this,a,c)}},{key:"addChunk",value:function(a,
+c){y(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"addChunk",this).call(this,a,c)}},{key:"getChunk",value:function(a){return new z(this,a)}}]);return b}(h.e);G=a([Object(v.g)(g.j)],G);var C=function(a){function b(a,c){n(this,b);a=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a));a.annotation=Object(e.f)(c.annotation);return a}p(b,a);return b}(h.b),B=function(a){function b(a,c){n(this,b);a=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a));a.parent=c;return a}p(b,
+a);x(b,[{key:"getChunk",value:function(a){return new C(this,a)}},{key:"addChunk",value:function(a,c){y(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"addChunk",this).call(this,a,c);a=this.parent.references.get(a);void 0!==a&&(a.value=c.annotation,a.changed.dispatch())}},{key:"deleteChunk",value:function(a){a=this.parent.references.get(a);void 0!==a&&(a.value=void 0,a.changed.dispatch())}},{key:"initializeCounterpart",value:function(a,c){c.parent=this.parent.rpcId;y(b.prototype.__proto__||
+Object.getPrototypeOf(b.prototype),"initializeCounterpart",this).call(this,a,c)}}]);return b}(h.e);B=a([Object(v.g)(g.d)],B);var F=function(a){function k(a,b){n(this,k);var c=q(this,(k.__proto__||Object.getPrototypeOf(k)).call(this));c.chunkManager=a;c.metadataChunkSource=c.registerDisposer(new B(c.chunkManager,c));c.objectToLocal=r.k.create();c.temporary=d();c.references=new Map;c.localUpdates=new Map;c.numCommitsInProgress=0;c.changed=new u.a;c.readonly=!1;c.sources=b.sourceSpecifications.map(function(b){return b.map(function(b){return c.registerDisposer(new E(a,
+{spec:b.spec,parameters:b.parameters,parent:c}))})});c.segmentFilteredSource=c.registerDisposer(new G(a,c));return c}p(k,a);$jscomp.initSymbol();$jscomp.initSymbolIterator();x(k,[{key:"getSources",value:function(a){a=this.sources;a.forEach(function(a){return a.forEach(function(a){return a.addRef()})});return a}},{key:"initializeCounterpart",value:function(a,b){this.metadataChunkSource.initializeCounterpart(a,{});for(var c=$jscomp.makeIterator(this.sources),d=c.next();!d.done;d=c.next()){d=$jscomp.makeIterator(d.value);
+for(var e=d.next();!e.done;e=d.next())e.value.initializeCounterpart(a,{})}this.segmentFilteredSource.initializeCounterpart(a,{});b.segmentFilteredSource=this.segmentFilteredSource.addCounterpartRef();b.metadataChunkSource=this.metadataChunkSource.addCounterpartRef();b.sources=this.sources.map(function(a){return a.map(function(a){return a.addCounterpartRef()})});b.chunkManager=this.chunkManager.rpcId;y(k.prototype.__proto__||Object.getPrototypeOf(k.prototype),"initializeCounterpart",this).call(this,
+a,b)}},{key:"add",value:function(a,b){var c=this;b=void 0===b?!0:b;a.id=Object(e.h)();var d=new e.a(a.id);d.value=a;this.references.set(d.id,d);d.registerDisposer(function(){c.references.delete(d.id)});this.applyLocalUpdate(d,!1,b,a);return d}},{key:"applyLocalUpdate",value:function(a,d,e,g){var k=this.localUpdates,l=a.id,m=this.localUpdates.get(l),r=a.value;if(null==r)throw Error("Cannot create local update from null annotation");void 0===m?(m={type:r.type,reference:a.addRef(),existingAnnotation:d?
+r:void 0,pendingCommit:void 0,commitInProgress:void 0},k.set(l,m),this.forEachPossibleChunk(r,function(a){b(a.data,r.type,l)}),null!==g&&c(this.temporary.data,g)):(null===g?b(this.temporary.data,r.type,r.id):c(this.temporary.data,g),a.value=g);if(e)if(void 0!==m.commitInProgress)m.pendingCommit=g;else{if(null===g&&void 0===m.existingAnnotation){k.delete(l);m.reference.dispose();return}this.sendCommitRequest(m,g)}this.notifyChanged(a.id,g||void 0)}},{key:"sendCommitRequest",value:function(a,b){this.updateCommitsInProgress(1);
+a.commitInProgress=b;this.rpc.invoke(g.b,{id:this.rpcId,annotationId:a.existingAnnotation&&a.reference.id,newAnnotation:b})}},{key:"delete",value:function(a){this.applyLocalUpdate(a,!0,!0,null)}},{key:"update",value:function(a,b){this.applyLocalUpdate(a,!0,!1,b)}},{key:"notifyChanged",value:function(a,b){var c=this.references.get(a);a=this.metadataChunkSource.chunks.get(a);void 0!==a&&(a.annotation=b||null);void 0!==c&&(c.value=b||null,c.changed.dispatch());this.chunkManager.chunkQueueManager.visibleChunksChanged.dispatch()}},
+{key:"commit",value:function(a){this.applyLocalUpdate(a,!0,!0,a.value)}},{key:"getReference",value:function(a){var b=this,c=this.references.get(a);if(void 0!==c)return c.addRef();c=new e.a(a);this.references.set(a,c);this.rpc.invoke(g.f,{id:this.rpcId,annotation:a});c.registerDisposer(function(){b.references.delete(a);b.rpc.invoke(g.g,{id:b.rpcId,annotation:a})});var d=this.metadataChunkSource.chunks.get(a);void 0!==d&&(c.value=d.annotation);return c}},{key:"forEachPossibleChunk",value:function(a,
+b){var c=this.sources;if(1!==c.length||1!==c[0].length)throw Error("Not implemented");c=c[0][0];if(1<c.chunks.size)throw Error("Not implemented");a;c=$jscomp.makeIterator(c.chunks.values());for(var d=c.next();!d.done;d=c.next())b(d.value);c=a.segments;if(void 0!==c&&0!==c.length)for(a=this.segmentFilteredSource,c=$jscomp.makeIterator(c),d=c.next();!d.done;d=c.next())d=a.chunks.get(Object(w.b)(d.value)),void 0!==d&&b(d)}},{key:"handleSuccessfulUpdate",value:function(a,d){var e=this.localUpdates.get(a);
+if(void 0===e||void 0===e.commitInProgress)throw Error("Received invalid successful update notification");this.updateCommitsInProgress(-1);if(null!==d&&e.reference.id!==d.id){if(null===e.commitInProgress)throw Error("Received invalid successful update notification");e.reference.id=d.id;this.references.delete(a);this.references.set(d.id,e.reference);this.localUpdates.delete(a);this.localUpdates.set(d.id,e);null!==e.reference.value&&(e.reference.value.id=d.id,b(this.temporary.data,e.type,a),c(this.temporary.data,
+e.reference.value));e.reference.changed.dispatch()}e.existingAnnotation=d||void 0;e.commitInProgress=void 0;a=e.pendingCommit;e.pendingCommit=void 0;null===d&&(a=void 0);void 0!==a?(null!==a&&(a.id=d.id),this.sendCommitRequest(e,a)):this.revertLocalUpdate(e)}},{key:"disposed",value:function(){var a=this.commitStatus;void 0!==a&&a.dispose()}},{key:"updateCommitsInProgress",value:function(a){this.numCommitsInProgress+=a;0===this.numCommitsInProgress?void 0!==this.commitStatus&&(this.commitStatus.dispose(),
+this.commitStatus=void 0):void 0===this.commitStatus&&(this.commitStatus=new t.a(!0)).setText("Commiting annotations")}},{key:"handleFailedUpdate",value:function(a,b){a=this.localUpdates.get(a);if(void 0===a||void 0===a.commitInProgress)throw Error("Received invalid update notification");(new t.a).setErrorMessage("Error commiting annotation update: "+b);this.revertLocalUpdate(a);this.updateCommitsInProgress(-1)}},{key:"revertLocalUpdate",value:function(a){b(this.temporary.data,a.type,a.reference.id);
+var d=a.existingAnnotation;void 0!==d&&this.forEachPossibleChunk(d,function(a){c(a.data,d)});a=a.reference;var e=a.id;a.value=d||null;a.changed.dispatch();a.dispose();this.localUpdates.delete(e)}},{key:Symbol.iterator,value:function(){function a(a,c){for(;;)switch(b){case 0:b=-1;default:return{value:void 0,done:!0}}}var b=0,c={next:function(b){return a(b,void 0)},throw:function(b){return a(void 0,b)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();c[Symbol.iterator]=
+function(){return this};return c}}],[{key:"encodeOptions",value:function(a){return{}}}]);return k}(v.b);Object(v.e)(g.a,function(a){var b=this.get(a.id),c=a.annotationId,d=a.error;void 0!==d?b.handleFailedUpdate(c,d):(a=Object(e.f)(a.newAnnotation),b.handleSuccessfulUpdate(c,a))});var L=function(a){function b(a){n(this,b);return q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a.chunkManager,a.getSources({})))}p(b,a);x(b,[{key:"draw",value:function(){}}]);return b}(k.a)},function(h,f,a){function q(a,
+b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function p(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}a.d(f,"a",function(){return e});a.d(f,"b",function(){return g});var n=a(1),c=a(4),b=function k(a,b,c){null===
+a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return k(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),e=function(){function a(){p(this,a);this.map=
+new Map}d(a,[{key:"get",value:function(a,b){var c=this.map,d=c.get(a);void 0===d?(d=b(),d.registerDisposer(function(){c.delete(a)}),c.set(a,d)):d.addRef();return d}}]);return a}(),g=function(a){function e(){p(this,e);var a=(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!a||"object"!==typeof a&&"function"!==typeof a?this:a}q(e,a);d(e,[{key:"get",value:function(a,d){"string"!==typeof a&&
+(a=Object(c.g)(a));return b(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"get",this).call(this,a,d)}},{key:"getUncounted",value:function(a,b){return this.get(a,function(){return new n.b(b())}).value}}]);return e}(e)},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?
+a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return t});f.e=function(a,b,c,d,e){c=void 0===c?a.RGBA8:c;d=void 0===d?a.RGBA:d;e=void 0===e?a.UNSIGNED_BYTE:e;for(var g=[],k=0;k<b;++k)g[k]=new u(a,c,d,e);return g};
+a.d(f,"b",function(){return w});a.d(f,"c",function(){return y});h=a(1);var c=a(2),b=a(22),d=a(52),e=a(76),g=a(141),l=function A(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return A(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},k=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=
+!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();a=function(a){function b(){q(this,b);var a=p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments));a.width=Number.NaN;a.height=Number.NaN;return a}n(b,a);k(b,[{key:"hasSize",value:function(a,b){return this.width===a&&this.height===b}},{key:"resize",value:function(a,b){this.hasSize(a,b)||(this.width=a,this.height=b,this.performResize())}}]);return b}(h.a);var t=function(a){function b(a,
+c){c=void 0===c?!1:c;q(this,b);var d=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a,c?a.DEPTH_STENCIL:a.DEPTH_COMPONENT16));d.gl=a;d.includeStencilBuffer=c;return d}n(b,a);k(b,[{key:"attachToFramebuffer",value:function(){var a=this.gl;l(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"attachToFramebuffer",this).call(this,this.includeStencilBuffer?a.DEPTH_STENCIL_ATTACHMENT:a.DEPTH_ATTACHMENT)}}]);return b}(function(a){function b(a,c){q(this,b);var d=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));
+d.gl=a;d.internalformat=c;d.renderbuffer=null;d.renderbuffer=a.createRenderbuffer();return d}n(b,a);k(b,[{key:"performResize",value:function(){var a=this.gl;a.bindRenderbuffer(a.RENDERBUFFER,this.renderbuffer);a.renderbufferStorage(a.RENDERBUFFER,this.internalformat,this.width,this.height);a.bindRenderbuffer(a.RENDERBUFFER,null)}},{key:"disposed",value:function(){this.gl.deleteRenderbuffer(this.renderbuffer)}},{key:"attachToFramebuffer",value:function(a){var b=this.gl;b.framebufferRenderbuffer(b.FRAMEBUFFER,
+a,b.RENDERBUFFER,this.renderbuffer)}}]);return b}(a)),m=function(a){function b(a){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a,!0))}n(b,a);return b}(t);f.d=m;var r=function(a){function b(a){q(this,b);var c=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.gl=a;c.framebuffer=c.gl.createFramebuffer();return c}n(b,a);k(b,[{key:"disposed",value:function(){this.gl.deleteFramebuffer(this.framebuffer)}},{key:"bind",value:function(){var a=this.gl;a.bindFramebuffer(a.FRAMEBUFFER,
+this.framebuffer)}},{key:"unbind",value:function(){var a=this.gl;a.bindFramebuffer(a.FRAMEBUFFER,null)}}]);return b}(h.a),u=function(a){function b(a,c,d,e){q(this,b);var g=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));g.gl=a;g.internalFormat=c;g.format=d;g.dataType=e;g.texture=a.createTexture();return g}n(b,a);k(b,[{key:"performResize",value:function(){Object(e.a)(this.gl,this.texture,this.width,this.height,this.internalFormat,this.format,this.dataType)}},{key:"disposed",value:function(){this.gl.deleteTexture(this.texture)}},
+{key:"attachToFramebuffer",value:function(a){var b=this.gl;b.framebufferTexture2D(b.FRAMEBUFFER,a,b.TEXTURE_2D,this.texture,0)}}]);return b}(a),v=new Uint8Array(4),w=function(a){function b(a,c){q(this,b);var d=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));d.gl=a;d.width=Number.NaN;d.height=Number.NaN;d.fullAttachmentList=[];d.attachmentVerified=!1;d.singleAttachmentList=[d.gl.COLOR_ATTACHMENT0];var e=void 0===c.framebuffer?new r(a):c.framebuffer,g=c.colorBuffers;c=c.depthBuffer;d.framebuffer=
+d.registerDisposer(e);d.colorBuffers=g;d.depthBuffer=c;void 0!==c&&d.registerDisposer(c);var k=d.fullAttachmentList;g.forEach(function(b,c){d.registerDisposer(b);k[c]=a.COLOR_ATTACHMENT0+c});return d}n(b,a);k(b,[{key:"hasSize",value:function(a,b){return this.width===a&&this.height===b}},{key:"bind",value:function(a,b){this.width=a;this.height=b;this.framebuffer.bind();var c=this.gl,d=this.depthBuffer;void 0!==d&&(d.resize(a,b),d.attachToFramebuffer());this.colorBuffers.forEach(function(d,e){d.resize(a,
+b);d.attachToFramebuffer(c.COLOR_ATTACHMENT0+e)});c.drawBuffers(this.fullAttachmentList);this.verifyAttachment();c.viewport(0,0,a,b)}},{key:"bindSingle",value:function(a){var b=this.gl;this.framebuffer.bind();0!==a&&b.framebufferTexture2D(b.FRAMEBUFFER,b.COLOR_ATTACHMENT0+a,b.TEXTURE_2D,null,0);b.bindTexture(b.TEXTURE_2D,null);this.colorBuffers[a].attachToFramebuffer(b.COLOR_ATTACHMENT0);b.drawBuffers(this.singleAttachmentList)}},{key:"unbind",value:function(){this.framebuffer.unbind()}},{key:"readPixel",
+value:function(a,b,c){var d=this.gl;try{this.bindSingle(a),d.readPixels(b,c,1,1,d.RGBA,d.UNSIGNED_BYTE,v)}finally{this.framebuffer.unbind()}return v}},{key:"readPixelAsUint32",value:function(a,b,c){a=this.readPixel(a,b,c);return a[0]+(a[1]<<8)+(a[2]<<16)+(a[3]<<24)}},{key:"verifyAttachment",value:function(){if(!this.attachmentVerified){var a=this.gl;if(a.checkFramebufferStatus(a.FRAMEBUFFER)!==a.FRAMEBUFFER_COMPLETE)throw Error("Framebuffer configuration not supported");this.attachmentVerified=!0}}}]);
+return b}(h.a),y=function(a){function e(a,b){q(this,e);var c=p(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));c.gl=a;c.shader=b;c.copyVertexPositionsBuffer=Object(d.a)(c.gl);c.copyTexCoordsBuffer=Object(d.a)(c.gl,0,0,1,1);c.registerDisposer(b);return c}n(e,a);k(e,[{key:"draw",value:function(a){for(var b=[],d=0;d<arguments.length;++d)b[d-0]=arguments[d];d=this.gl;var e=this.shader;e.bind();for(var g=b.length,k=0;k<g;++k)d.activeTexture(d.TEXTURE0+k),d.bindTexture(d.TEXTURE_2D,b[k]);d.uniformMatrix4fv(e.uniform("uProjectionMatrix"),
+!1,c.d);b=e.attribute("aVertexPosition");this.copyVertexPositionsBuffer.bindToVertexAttrib(b,2);e=e.attribute("aTexCoord");this.copyTexCoordsBuffer.bindToVertexAttrib(e,2);d.drawArrays(d.TRIANGLE_FAN,0,4);d.disableVertexAttribArray(b);d.disableVertexAttribArray(e);for(b=0;b<g;++b)d.activeTexture(d.TEXTURE0+b),d.bindTexture(d.TEXTURE_2D,null)}}],[{key:"get",value:function(a,c,d){c=void 0===c?g.a:c;d=void 0===d?1:d;return a.memoize.get("OffscreenCopyHelper:"+d+":"+Object(b.a)(c),function(){return new e(a,
+Object(g.b)(a,c,d))})}}]);return e}(h.a)},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return b});h=a(1);var p=a(100),n=a(52),c=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];
+d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();f.b=4;var b=function(a){function b(a,c){c=void 0===c?1:c;if(!(this instanceof b))throw new TypeError("Cannot call a class as a function");var d=(b.__proto__||Object.getPrototypeOf(b)).call(this);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");d=!d||"object"!==typeof d&&"function"!==
+typeof d?this:d;d.circlesPerInstance=c;d.squareCornersBuffer=Object(n.a)(a,-1,-1,1,1,c,1);d.quadHelper=d.registerDisposer(new p.a(a,c));return d}q(b,a);c(b,[{key:"defineShader",value:function(a,b){a.addAttribute("highp vec2","aCircleCornerOffset");a.addUniform("highp vec4","uCircleParams");a.addVarying("highp vec2","vCircleCoord");a.addVertexCode("\nvoid emitCircle(vec4 position) {\n  gl_Position = position;\n  gl_Position.xy += aCircleCornerOffset * uCircleParams.xy * gl_Position.w;\n  vCircleCoord = aCircleCornerOffset;\n}\n");
+b?a.addFragmentCode("\nfloat getCircleAlphaMultiplier() {\n  return 1.0 - 2.0 * abs(0.5 - gl_FragCoord.z);\n}\n"):a.addFragmentCode("\nfloat getCircleAlphaMultiplier() {\n  return 1.0;\n}\n");a.addFragmentCode("\nvec4 getCircleColor(vec4 interiorColor, vec4 borderColor) {\n  float radius = length(vCircleCoord);\n  if (radius > 1.0) {\n    discard;\n  }\n\n  float borderColorFraction = clamp((radius - uCircleParams.z) / uCircleParams.w, 0.0, 1.0);\n  float feather = clamp((1.0 - radius) / uCircleParams.w, 0.0, 1.0);\n  vec4 color = mix(interiorColor, borderColor, borderColorFraction);\n\n  return vec4(color.rgb, color.a * feather * getCircleAlphaMultiplier());\n}\n")}},
+{key:"draw",value:function(a,b,c,d){var e=a.gl,g=a.attribute("aCircleCornerOffset");this.squareCornersBuffer.bindToVertexAttrib(g,2);var k=c.interiorRadiusInPixels+c.borderWidthInPixels+c.featherWidthInPixels;e.uniform4f(a.uniform("uCircleParams"),k/b.viewportWidth,k/b.viewportHeight,c.interiorRadiusInPixels/k,c.featherWidthInPixels/k);this.quadHelper.draw(e,d);a.gl.disableVertexAttribArray(g)}}]);return b}(h.a)},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+
+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function p(a){for(var b=new Uint16Array(6*a),c=0;c<a;++c){var d=4*c,k=6*c;b[k]=d;b[k+1]=d+1;b[k+2]=d+2;b[k+3]=d+2;b[k+4]=d+3;b[k+5]=d}return b}a.d(f,"a",function(){return b});h=a(1);var n=a(20),c=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in
+d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();f.b=4;var b=function(a){function b(a,c){if(!(this instanceof b))throw new TypeError("Cannot call a class as a function");var d=(b.__proto__||Object.getPrototypeOf(b)).call(this);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");d=!d||"object"!==typeof d&&"function"!==typeof d?this:d;d.quadsPerInstance=c;1!==c&&(d.quadIndexBuffer=d.registerDisposer(Object(n.b)(a,
+WebGL2RenderingContext.ELEMENT_ARRAY_BUFFER,p,c)).value);return d}q(b,a);c(b,[{key:"draw",value:function(a,b){1===this.quadsPerInstance?a.drawArraysInstanced(WebGL2RenderingContext.TRIANGLE_FAN,0,4,b):(this.quadIndexBuffer.bind(),a.drawElementsInstanced(WebGL2RenderingContext.TRIANGLES,6*this.quadsPerInstance,WebGL2RenderingContext.UNSIGNED_SHORT,0,b))}}]);return b}(h.a)},function(h,f,a){f.a=function(a,f){if(a.active&&void 0!==a.pickedAnnotationId){var h=a.pickedRenderLayer;if(null!==h){var c=a.pickedAnnotationLayer;
+if(void 0!==c&&(f=f.renderLayerToManagedLayerMap.get(h),void 0!==f))return{layer:f,annotationLayer:c,id:a.pickedAnnotationId,partIndex:a.pickedOffset}}}};f.b=function(a,f){a.registerDisposer(f.changed.add(function(){a.hoverState.value=f.active&&f.pickedAnnotationLayer===a?{id:f.pickedAnnotationId,partIndex:f.pickedOffset}:void 0}))}},function(h,f,a){f.b=function(a,c,b,d){d=void 0===d?q.e:d;var e=void 0;return new Promise(function(g,l){function k(m){null!==e&&(e=Object(p.b)(a.serverUrls,b.path,b.method),
+e.responseType=b.responseType,e.setRequestHeader("Authorization",m.credentials.tokenType+" "+m.credentials.accessToken),e.onloadend=function(){if(null!==e){var a=this.status;200<=a&&300>a?(d.remove(f),g(this.response)):401===a?c.get(m,d).then(k):504===a||503===a?c.get(void 0,d).then(k):(d.remove(f),l(p.a.fromXhr(this)))}},e.send(b.payload))}var f=function(){var a=e;e=null;null!=a&&a.abort();l(q.a)};d.add(f);c.get(void 0,d).then(k)})};var q=a(32),p=a(62);f.a="google-brainmaps"},function(h,f,a){function q(a,
+b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?
+Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a){switch(a){case t.b.FLOAT32:return WebGL2RenderingContext.FLOAT;default:throw Error("Data type not supported by WebGL: ${DataType[dataType]}");}}f.f=function(a){return new k.c(void 0===a?"void main() {\n  emitDefault();\n}\n":a,u.A)};a.d(f,"c",function(){return F});a.d(f,"b",function(){return L});a.d(f,"e",function(){return I});a.d(f,"d",function(){return N});var b=a(30);h=a(23);var d=a(59),e=a(63),g=a(266),l=a(78),k=a(9),t=a(50),m=a(1),r=a(2),
+u=a(4),v=a(22),w=a(7),y=a(20),x=a(24),A=a(21),z=function U(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return U(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},D=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,
+c);d&&a(b,d);return b}}(),E=a(104),G=r.k.create(),C=new Float32Array(4);f.a="//NEUROGLANCER_SKELETON_LAYER_FRAGMENT_MAIN_START";var B=function(a){function b(a){q(this,b);var c=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.vertexAttributes=a;c.shaders=new Map;c.shaderGeneration=-1;c.vertexAttributesKey=Object(u.g)(c.vertexAttributes);return c}n(b,a);D(b,[{key:"defineShader",value:function(a,b){a.addUniform("highp vec4","uColor");a.addUniform("highp mat4","uProjection");a.addUniform("highp vec4",
+"uPickID");var c="\ngl_Position = uProjection * vec4(aVertex0, 1.0);\n";a.addFragmentCode("\nvec4 segmentColor() {\n  return uColor;\n}\nvoid emitRGB(vec3 color) {\n  emit(vec4(color * uColor.a, uColor.a), uPickID);\n}\nvoid emitDefault() {\n  emit(uColor, uPickID);\n}\n");a.addFragmentCode(E);this.vertexAttributes.forEach(function(b,d){a.addAttribute("highp "+b.glslDataType,"aVertex"+d);0!==d&&(a.addVarying("highp "+b.glslDataType,"vVertex"+d),c+="vVertex"+d+" = aVertex"+d+";\n",a.addFragmentCode("#define "+
+b.name+" vVertex"+d+"\n"))});a.setVertexMain(c);a.setFragmentMainFunction("//NEUROGLANCER_SKELETON_LAYER_FRAGMENT_MAIN_START\n"+b)}},{key:"beginLayer",value:function(a,b,c,d){c=r.k.multiply(G,c.dataToDevice,d);a.uniformMatrix4fv(b.uniform("uProjection"),!1,c)}},{key:"getShader",value:function(a,b,c){var d=this;return this.registerDisposer(a.memoize.get("skeleton/SkeletonShaderManager:"+Object(v.a)(b)+":"+this.vertexAttributesKey+":"+c,function(){var e=new x.a(a);e.require(b);d.defineShader(e,c);return e.build()}))}},
+{key:"setColor",value:function(a,b,c){a.uniform4fv(b.uniform("uColor"),c)}},{key:"setPickID",value:function(a,b,c){a.uniform4fv(b.uniform("uPickID"),Object(A.r)(C,c))}},{key:"drawSkeleton",value:function(a,b,c){for(var d=this.vertexAttributes,e=d.length,g=c.vertexAttributeOffsets,k=0;k<e;++k){var l=d[k];c.vertexBuffer.bindToVertexAttrib(b.attribute("aVertex"+k),l.numComponents,l.webglDataType,!1,0,g[k])}c.indexBuffer.bind();a.drawElements(a.LINES,c.numIndices,a.UNSIGNED_INT,0)}},{key:"endLayer",value:function(a,
+b){for(var c=this.vertexAttributes.length,d=0;d<c;++d)a.disableVertexAttribArray(b.attribute("aVertex"+d))}}]);return b}(m.a),F=function(a){function d(a,b,k,l){q(this,d);var m=p(this,(d.__proto__||Object.getPrototypeOf(d)).call(this));m.chunkManager=a;m.source=b;m.voxelSizeObject=k;m.displayState=l;m.tempMat=r.k.create();m.redrawNeeded=new w.a;m.fallbackFragmentMain="void main() {\n  emitDefault();\n}\n";Object(e.f)(l,m);m.displayState.shaderError.value=void 0;m.registerDisposer(l.fragmentMain.changed.add(function(){m.displayState.shaderError.value=
+void 0;m.redrawNeeded.dispatch()}));a=m.sharedObject=m.registerDisposer(new e.b(a,l));a.RPC_TYPE_ID=g.a;a.initializeCounterpartWithChunkManager({source:b.addCounterpartRef()});a=m.vertexAttributes=[O];b=$jscomp.makeIterator(b.vertexAttributes);for(k=b.next();!k.done;k=b.next())l=$jscomp.makeIterator(k.value),k=l.next().value,l=l.next().value,a.push({name:k,dataType:l.dataType,numComponents:l.numComponents,webglDataType:c(l.dataType),glslDataType:1<l.numComponents?"vec"+l.numComponents:"float"});return m}
+n(d,a);D(d,[{key:"getShader",value:function(a,b,c){var d=this.displayState.fragmentMain,e=d.changed.count,g=b.shaders;b.shaderGeneration!==e&&(g.clear(),b.shaderGeneration=e);e=g.get(c);if(void 0===e){e=null;try{e=b.getShader(a,c,d.value),this.fallbackFragmentMain=d.value,this.displayState.shaderError.value=null}catch(R){this.displayState.shaderError.value=R;try{e=b.getShader(a,c,this.fallbackFragmentMain)}catch(X){}}g.set(c,e)}return e}},{key:"draw",value:function(a,c,d,g){void 0===g&&(g=a.emitColor?
+1:5);var k=this.gl,l=this.source,m=this.displayState,f=Math.min(1,m.objectAlpha.value);if(!(0>=f)){var t=this.getShader(k,d,a.emitter);if(null!==t){t.bind();var u=this.tempMat;r.k.identity(u);l.skeletonVertexCoordinatesInVoxels&&r.k.scale(u,u,this.voxelSizeObject.size);r.k.multiply(u,this.displayState.objectToDataTransform.transform,u);d.beginLayer(k,t,a,u);l=l.chunks;var h=a.pickIDs;k.lineWidth(g);Object(e.d)(m,l,function(g,l,r){r.state===b.d.GPU_MEMORY&&(a.emitColor&&d.setColor(k,t,Object(e.e)(m,
+g,f)),a.emitPickID&&d.setPickID(k,t,h.registerUint64(c,l)),d.drawSkeleton(k,t,r))});d.endLayer(k,t)}}}},{key:"visibility",get:function(){return this.sharedObject.visibility}},{key:"gl",get:function(){return this.chunkManager.chunkQueueManager.gl}}]);return d}(m.a),L=function(a){function b(a){q(this,b);var c=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.base=a;c.renderHelper=c.registerDisposer(new B(c.base.vertexAttributes));c.registerDisposer(a);c.registerDisposer(a.redrawNeeded.add(function(){c.redrawNeeded.dispatch()}));
+c.setReady(!0);c.registerDisposer(a.visibility.add(c.visibility));return c}n(b,a);D(b,[{key:"draw",value:function(a){this.base.draw(a,this,this.renderHelper)}},{key:"gl",get:function(){return this.base.gl}},{key:"isTransparent",get:function(){return 1>this.base.displayState.objectAlpha.value}}]);return b}(d.a),I=function(a){function b(a){q(this,b);var c=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.base=a;c.renderHelper=c.registerDisposer(new B(c.base.vertexAttributes));c.registerDisposer(a);
+c.registerDisposer(a.redrawNeeded.add(function(){c.redrawNeeded.dispatch()}));c.setReady(!0);c.registerDisposer(a.visibility.add(c.visibility));return c}n(b,a);D(b,[{key:"draw",value:function(a){this.base.draw(a,this,this.renderHelper,10)}},{key:"gl",get:function(){return this.base.gl}}]);return b}(l.b),O={dataType:t.b.FLOAT32,numComponents:3,name:"",webglDataType:WebGL2RenderingContext.FLOAT,glslDataType:"vec3"},M=function(a){function b(a,c){q(this,b);a=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,
+a));a.vertexAttributes=c.vertexAttributes;var d=a.indices=c.indices;a.vertexAttributeOffsets=c.vertexAttributeOffsets;a.numIndices=d.length;return a}n(b,a);D(b,[{key:"copyToGPU",value:function(a){z(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"copyToGPU",this).call(this,a);this.vertexBuffer=y.a.fromData(a,this.vertexAttributes,a.ARRAY_BUFFER,a.STATIC_DRAW);this.indexBuffer=y.a.fromData(a,this.indices,a.ELEMENT_ARRAY_BUFFER,a.STATIC_DRAW)}},{key:"freeGPUMemory",value:function(a){z(b.prototype.__proto__||
+Object.getPrototypeOf(b.prototype),"freeGPUMemory",this).call(this,a);this.vertexBuffer.dispose();this.indexBuffer.dispose()}}]);return b}(h.b),P=new Map,N=function(a){function b(){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);D(b,[{key:"getChunk",value:function(a){return new M(this,a)}},{key:"skeletonVertexCoordinatesInVoxels",get:function(){return!0}},{key:"vertexAttributes",get:function(){return P}}]);return b}(h.e)},function(h,f){h.exports="\n\nvec3 colormapJet(float x) {\n  vec3 result;\n  result.r = x < 0.89 ? ((x - 0.35) / 0.31) : (1.0 - (x - 0.89) / 0.11 * 0.5);\n  result.g = x < 0.64 ? ((x - 0.125) * 4.0) : (1.0 - (x - 0.64) / 0.27);\n  result.b = x < 0.34 ? (0.5 + x * 0.5 / 0.11) : (1.0 - (x - 0.34) / 0.31);\n  return clamp(result, 0.0, 1.0);\n}\n"},
+function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,
+configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a){Object(z.t)(a);var b=Object(z.v)(a,"neariso_voxelres",function(a){return Object(z.u)(a,z.j)}),c=Object(z.v)(a,"neariso_imagesize",function(a){return Object(z.u)(a,z.i)}),d=Object(z.v)(a,"neariso_offset",function(a){return Object(z.u)(a,z.k)});return Object(z.v)(a,"resolutions",function(a){return Object(z.a)(a,z.r)}).map(function(a){var e=""+a,g=b.get(e),k=c.get(e),l=d.get(e);if(void 0===g||void 0===
+k||void 0===l)throw Error("Missing neariso_voxelres/neariso_imagesize/neariso_offset for resolution "+(a+"."));return{key:e,voxelSize:g,imageSize:k,voxelOffset:l}})}function b(a){a=E.get(a);void 0===a&&(a=v.c.UNKNOWN);return a}function d(a){Object(z.t)(a);var c=Object(z.v)(a,"channel_type",z.A);return{channelType:c,description:Object(z.v)(a,"description",z.A),volumeType:b(c),dataType:Object(z.v)(a,"datatype",function(a){return Object(z.m)(a,v.a)})}}function e(a){Object(z.t)(a);return{channels:Object(z.v)(a,
+"channels",function(a){return Object(z.u)(a,d)}),scales:Object(z.v)(a,"dataset",c)}}function g(a,b,c,d){return a.memoize.getUncounted({type:"ndstore:getTokenInfo",hostnames:b,token:c},function(){return Object(A.d)(Object(A.b)(b,d+"/"+c+"/info/"),"json").then(e)})}function l(a,b,c,d){var e=c.match(F);if(null===e)throw Error("Invalid volume path "+JSON.stringify(c));var k=e[1],l=e[2],m=Object(z.e)(e[3]||"");return a.memoize.getUncounted({type:"ndstore:MultiscaleVolumeChunkSource",hostnames:b,path:c},
+function(){return g(a,b,k,d).then(function(c){return new B(a,b,k,c,l,d,m)})})}function k(a,b){var c=b.match(L);if(null===c)throw Error("Invalid ndstore volume path: "+JSON.stringify(b));return l(a,[c[1]],c[2],u.b)}function t(a,b,c){return a.memoize.getUncounted({type:"dvid:getPublicTokens",hostnames:b},function(){return Object(A.d)(Object(A.b)(b,c+"/public_tokens/"),"json").then(function(a){return Object(z.a)(a,z.A)})})}function m(a,b,c,d){var e=c.match(/^(?:([^\/]+)(?:\/([^\/]*))?)?$/);if(null===
+e)return Promise.reject(null);if(void 0===e[2]){var k=e[1]||"";return t(a,b,d).then(function(a){return{offset:0,completions:Object(y.c)(k,a,function(a){return a+"/"},function(){})}})}return g(a,b,e[1],d).then(function(a){a=Object(y.c)(e[2],a.channels,function(a){return a[0]},function(a){return a[1].channelType+" ("+v.a[a[1].dataType]+")"});return{offset:e[1].length+1,completions:a}})}function r(a,b){var c=a.match(L);return null===c?Promise.reject(null):m(b,[c[1]],c[2],u.b).then(function(a){return Object(y.a)(c[1].length+
+1,a)})}Object.defineProperty(f,"__esModule",{value:!0});a.d(f,"getVolume",function(){return k});a.d(f,"volumeCompleter",function(){return r});a.d(f,"MultiscaleVolumeChunkSource",function(){return B});f.getTokenInfo=g;f.getShardedVolume=l;f.getPublicTokens=t;f.tokenAndChannelCompleter=m;a.d(f,"NDStoreDataSource",function(){return I});a.d(f,"SingleServerDataSource",function(){return O});h=a(23);f=a(46);var u=a(152),v=a(26),w=a(33),y=a(61),x=a(2),A=a(62),z=a(4),D=function(){function a(a,b){for(var c=
+0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),E=new Map;E.set("image",v.c.IMAGE);E.set("annotation",v.c.SEGMENTATION);var G=new Set(["npz","raw","jpeg"]),C=function(a){function b(){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);return b}(Object(h.f)(w.b,u.c)),B=function(){function a(b,c,d,e,g,
+k,l){q(this,a);this.chunkManager=b;this.baseUrls=c;this.key=d;this.tokenInfo=e;this.parameters=l;this.urlPrefix=u.b;this.neariso=!0;if(void 0===g){g=Array.from(e.channels.keys());if(1!==g.length)throw Error("Dataset contains multiple channels: "+JSON.stringify(g));g=g[0]}b=e.channels.get(g);if(void 0===b)throw Error("Specified channel "+JSON.stringify(g)+" is not one of the supported "+("channels "+JSON.stringify(Array.from(e.channels.keys()))));this.channel=g;this.channelInfo=b;this.scales=e.scales;
+void 0!==k&&(this.urlPrefix=k);"false"===Object(z.y)(l.neariso)&&(this.neariso=!1);e=Object(z.y)(l.encoding);if(void 0===e)e=this.volumeType===v.c.IMAGE?"jpeg":"npz";else if(!G.has(e))throw Error("Invalid encoding: "+JSON.stringify(e)+".");this.encoding=e}D(a,[{key:"getSources",value:function(a){var b=this;return this.scales.map(function(c){for(var d=c.voxelOffset,e=c.voxelSize,g=x.s.create(),k=0;3>k;++k)g[k]=Math.ceil(d[k]);return v.b.getDefaults({numChannels:b.numChannels,volumeType:b.volumeType,
+dataType:b.dataType,voxelSize:e,transform:x.k.fromTranslation(x.k.create(),x.s.multiply(x.s.create(),d,e)),baseVoxelOffset:g,upperVoxelBound:c.imageSize,volumeSourceOptions:a}).map(function(a){return b.chunkManager.getChunkSource(C,{spec:a,parameters:{baseUrls:b.baseUrls,urlPrefix:b.urlPrefix,key:b.key,channel:b.channel,resolution:c.key,encoding:b.encoding,neariso:b.neariso}})})})}},{key:"getMeshSource",value:function(){return null}},{key:"dataType",get:function(){return this.channelInfo.dataType}},
+{key:"numChannels",get:function(){return 1}},{key:"volumeType",get:function(){return this.channelInfo.volumeType}}]);return a}(),F=/^([^\/?]+)(?:\/([^\/?]+))?(?:\?(.*))?$/,L=/^((?:http|https):\/\/[^\/?]+)\/(.*)$/,I=function(a){function b(){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);D(b,[{key:"volumeCompleter",value:function(a,b){return r(a,b)}},{key:"getVolume",value:function(a,b){return k(a,b)}},{key:"description",get:function(){return"NDstore"}}]);
+return b}(f.a),O=function(a){function b(a,c,d){d=void 0===d?u.b:d;q(this,b);var e=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));e.description=a;e.hostnames=c;e.urlprefix=d;return e}n(b,a);D(b,[{key:"getVolume",value:function(a,b){return l(a,this.hostnames,b,this.urlprefix)}},{key:"volumeCompleter",value:function(a,b){return m(b,this.hostnames,a,this.urlprefix)}}]);return b}(f.a)},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");
+}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a){return new r.a({shaderError:a.shaderError,
+fragmentMain:a.fragmentMain,fragmentMainStartLine:e.a})}Object.defineProperty(f,"__esModule",{value:!0});a.d(f,"ImageUserLayer",function(){return y});h=a(18);f=a(27);var b=a(47),d=a(26),e=a(160),g=a(56),l=a(162),k=a(163),t=a(55),m=a(81),r=a(111),u=a(40),v=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),w=
+function D(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return D(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};a(171);a(172);var y=function(a){function b(a,c){q(this,b);var d=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a,c));d.opacity=Object(g.a)(.5);d.blendMode=Object(l.c)();d.fragmentMain=Object(e.c)();d.shaderError=Object(t.c)();d.registerDisposer(d.fragmentMain.changed.add(d.specificationChanged.dispatch));
+d.tabs.add("rendering",{label:"Rendering",order:-100,getter:function(){return new x(d)}});d.tabs.default="rendering";return d}n(b,a);v(b,[{key:"restoreState",value:function(a){var c=this;w(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"restoreState",this).call(this,a);this.opacity.restoreState(a.opacity);this.blendMode.restoreState(a.blend);this.fragmentMain.restoreState(a.shader);a=this.multiscaleSource;if(void 0===a)throw Error("source property must be specified");a.then(function(a){c.wasDisposed||
+(a=c.renderLayer=new e.b(a,{opacity:c.opacity,blendMode:c.blendMode,fragmentMain:c.fragmentMain,shaderError:c.shaderError,transform:c.transform}),c.addRenderLayer(a),c.shaderError.changed.dispatch(),c.isReady=!0)})}},{key:"toJSON",value:function(){var a=w(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"toJSON",this).call(this);a.type="image";a.opacity=this.opacity.toJSON();a.blend=this.blendMode.toJSON();a.shader=this.fragmentMain.toJSON();return a}}]);return b}(Object(k.a)(h.i)),x=function(a){function b(a){q(this,
+b);var d=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));d.layer=a;d.opacityWidget=d.registerDisposer(new m.a(d.layer.opacity));d.codeWidget=d.registerDisposer(c(d.layer));a=d.element;a.classList.add("image-dropdown");var e=d.opacityWidget,g=document.createElement("div");g.className="image-dropdown-top-row";e.promptElement.textContent="Opacity";e=document.createElement("div");e.style.flex="1";var k=document.createElement("a"),l=document.createElement("button");l.type="button";l.textContent=
+"?";l.className="help-link";k.appendChild(l);k.title="Documentation on image layer rendering";k.target="_blank";k.href="https://github.com/google/neuroglancer/blob/master/src/neuroglancer/sliceview/image_layer_rendering.md";l=document.createElement("button");l.innerHTML="&square;";l.className="maximize-button";l.title="Show larger editor view";d.registerEventListener(l,"click",function(){new A(d.layer)});g.appendChild(d.opacityWidget.element);g.appendChild(e);g.appendChild(l);g.appendChild(k);a.appendChild(g);
+a.appendChild(d.codeWidget.element);d.codeWidget.textEditor.refresh();d.visibility.changed.add(function(){d.visible&&d.codeWidget.textEditor.refresh()});return d}n(b,a);return b}(u.b),A=function(a){function b(a){q(this,b);var d=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));d.layer=a;d.codeWidget=d.registerDisposer(c(d.layer));d.content.classList.add("image-layer-shader-overlay");d.content.appendChild(d.codeWidget.element);d.codeWidget.textEditor.refresh();return d}n(b,a);return b}(b.a);
+Object(f.e)("image",y);Object(f.f)(d.c.IMAGE,y)},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,
+{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a,b,c,d){var e=x.s.transformMat4(x.s.create(),a,b);a=Object(D.c)(c.voxelFromSpatial(U,e));return void 0!==d?(b=document.createElement("span"),b.className="neuroglancer-voxel-coordinates-link",b.textContent=a,b.title="Center view on voxel coordinates "+a+".",b.addEventListener("click",function(){d(e)}),b):document.createTextNode(a)}function b(a,b,d,e,g){switch(b.type){case k.c.AXIS_ALIGNED_BOUNDING_BOX:case k.c.LINE:a.appendChild(c(b.pointA,
+d,e,g));a.appendChild(document.createTextNode("\u2013"));a.appendChild(c(b.pointB,d,e,g));break;case k.c.POINT:a.appendChild(c(b.point,d,e,g));break;case k.c.ELLIPSOID:a.appendChild(c(b.center,d,e,g)),b=Object(x.p)(U,b.radii,d),e.voxelFromSpatial(b,b),a.appendChild(document.createTextNode("\u00b1"+Object(D.b)(b)))}}function d(a,b){var c=x.s.create();switch(a.type){case k.c.AXIS_ALIGNED_BOUNDING_BOX:case k.c.LINE:x.s.add(c,a.pointA,a.pointB);x.s.scale(c,c,.5);break;case k.c.POINT:x.s.copy(c,a.point);
+break;case k.c.ELLIPSOID:x.s.copy(c,a.center)}return x.s.transformMat4(c,c,b)}function e(a){var b;a=a.segmentationState.value;null!=a&&a.segmentSelectionState.hasSelectedSegment&&(b=[a.segmentSelectionState.selectedSegment.clone()]);return b}function g(a,b){return x.s.transformMat4(x.s.create(),a.position,b.globalToObject)}f.c=b;f.b=function(a){return{color:a.annotationColor,fillOpacity:a.annotationFillOpacity}};f.a=function(a){return function(a){function b(a){for(var c=[],d=0;d<arguments.length;++d)c[d-
+0]=arguments[d];q(this,b);var e,g=p(this,(e=b.__proto__||Object.getPrototypeOf(b)).call.apply(e,[].concat([this],$jscomp.arrayFromIterable(c))));g.annotationLayerState=g.registerDisposer(new v.d);g.selectedAnnotation=g.registerDisposer(new S(g.annotationLayerState.addRef()));g.annotationColor=new w.a(x.s.fromValues(1,1,0));g.annotationFillOpacity=Object(u.a)(0);g.selectedAnnotation.changed.add(g.specificationChanged.dispatch);g.annotationColor.changed.add(g.specificationChanged.dispatch);g.tabs.add("annotations",
+{label:"Annotations",order:10,getter:function(){return new Q(g,g.selectedAnnotation.addRef(),g.manager.voxelSize.addRef(),function(a){return g.manager.setSpatialCoordinates(a)})}});g.annotationLayerState.changed.add(function(){var a=g.annotationLayerState.value;if(void 0!==a){var b=new t.a(g.manager.chunkManager,a.addRef());Object(r.b)(a,g.manager.layerSelectedValues.mouseState);g.addRenderLayer(new t.e(b));g.addRenderLayer(new t.d(b.addRef()));if(b.source instanceof m.b){var c=g.registerDisposer(new m.a(b.source.addRef()));
+g.registerDisposer(Object(v.h)(a.filterBySegmentation,function(a,b){b||(g.addRenderLayer(c.addRef()),a.registerDisposer(function(){return g.removeRenderLayer(c)}))}))}}});return g}n(b,a);P(b,[{key:"restoreState",value:function(a){M(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"restoreState",this).call(this,a);this.selectedAnnotation.restoreState(a.selectedAnnotation);this.annotationColor.restoreState(a.annotationColor);this.annotationFillOpacity.restoreState(a.annotationFillOpacity)}},
+{key:"toJSON",value:function(){var a=M(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"toJSON",this).call(this);a.selectedAnnotation=this.selectedAnnotation.toJSON();a.annotationColor=this.annotationColor.toJSON();a.annotationFillOpacity=this.annotationFillOpacity.toJSON();return a}},{key:"initializeAnnotationLayerViewTab",value:function(a){a}}]);return b}(a)};h=a(284);a.n(h);h=a(10);var l=a.n(h),k=a(28),t=a(72),m=a(96),r=a(101),u=a(56),v=a(9);h=a(139);var w=a(164);f=a(1);var y=a(8),x=
+a(2),A=a(4),z=a(7),D=a(167),E=a(14),G=a(29),C=a(108),B=a(286),F=a(81),L=a(40),I=a(109),O=a(168),M=function X(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return X(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},P=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,
+d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),N=function(a){function b(a,c){q(this,b);var d=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));d.reference=a;d.annotationLayer=c;d.element=document.createElement("div");d.addSegmentWidget=d.registerDisposer(new O.a);d.debouncedUpdateView=l()(function(){return d.updateView()},0);d.element.className="neuroglancer-annotation-segment-list";var e=d.addSegmentWidget;e.element.style.display="inline-block";e.element.title=
+"Associate segments";d.element.appendChild(e.element);d.registerDisposer(c.segmentationState.changed.add(d.debouncedUpdateView));d.registerDisposer(function(){return d.unregisterSegmentationState()});d.registerDisposer(d.addSegmentWidget.valuesEntered.add(function(a){var b=d.reference.value;null!=b&&(a=[].concat($jscomp.arrayFromIterable(b.segments||[]),$jscomp.arrayFromIterable(a)),b=Object.assign({},b,{segments:a}),d.annotationLayer.source.update(d.reference,b),d.annotationLayer.source.commit(d.reference))}));
+d.registerDisposer(a.changed.add(d.debouncedUpdateView));d.updateView();return d}n(b,a);P(b,[{key:"unregisterSegmentationState",value:function(){var a=this.segmentationState;null!=a&&(a.visibleSegments.changed.remove(this.debouncedUpdateView),a.segmentColorHash.changed.remove(this.debouncedUpdateView),a.segmentSelectionState.changed.remove(this.debouncedUpdateView),this.segmentationState=void 0)}},{key:"updateView",value:function(){var a=this,b=this.annotationLayer.segmentationState.value;b!==this.segmentationState&&
+(this.unregisterSegmentationState(),this.segmentationState=b,null!=b&&(b.visibleSegments.changed.add(this.debouncedUpdateView),b.segmentColorHash.changed.add(this.debouncedUpdateView),b.segmentSelectionState.changed.add(this.debouncedUpdateView)));for(var c=this.element,d=this.addSegmentWidget.element.nextElementSibling;null!==d;){var e=d.nextElementSibling;c.removeChild(d);d=e}c.style.display="none";var g=this.reference.value;if(null!=g&&(d=g.segments,null!==b&&(c.style.display="",void 0!==d&&0!==
+d.length))){var k=b?b.segmentColorHash:void 0;d.forEach(function(d,e){0!==e&&c.appendChild(document.createTextNode(" "));e=document.createElement("span");e.title="Double click to toggle segment visibility, control+click to disassociate segment from annotation.";e.className="neuroglancer-annotation-segment-item";e.textContent=d.toString();void 0!==b&&(e.style.backgroundColor=k.computeCssColor(d),e.addEventListener("mouseenter",function(){b.segmentSelectionState.set(d)}),e.addEventListener("mouseleave",
+function(){b.segmentSelectionState.set(null)}),e.addEventListener("dblclick",function(a){a.ctrlKey||(b.visibleSegments.has(d)?b.visibleSegments.delete(d):b.visibleSegments.add(d))}));e.addEventListener("click",function(b){b.ctrlKey&&(b=(g.segments||[]).filter(function(a){return!E.a.equal(d,a)}),b=Object.assign({},g,{segments:b?b:void 0}),a.annotationLayer.source.update(a.reference,b),a.annotationLayer.source.commit(a.reference))});c.appendChild(e)})}}}]);return b}(f.a),S=function(a){function b(a){q(this,
+b);var c=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.annotationLayerState=a;c.changed=new z.a;c.referenceChanged=function(){c.validate();c.changed.dispatch()};c.validate=function(){var a=c.updateAnnotationLayer(),b=c.annotationLayer;if(void 0!==b){var d=c.value_;if(void 0!==d){var e=c.reference_;void 0!==e&&e.id!==d.id?d.id=e.id:void 0===e&&(e=c.reference_=b.source.getReference(d.id),e.changed.add(c.referenceChanged));if(null===e.value){c.unbindReference();c.value=void 0;return}}else c.unbindReference()}a&&
+c.changed.dispatch()};c.registerDisposer(a);c.registerDisposer(a.changed.add(c.validate));c.updateAnnotationLayer();c.reference_=void 0;c.value_=void 0;return c}n(b,a);P(b,[{key:"updateAnnotationLayer",value:function(){var a=this.annotationLayerState.value;if(a===this.annotationLayer)return!1;this.unbindLayer();this.annotationLayer=a;void 0!==a&&a.source.changed.add(this.validate);return!0}},{key:"unbindLayer",value:function(){void 0!==this.annotationLayer&&(this.annotationLayer.source.changed.remove(this.validate),
+this.annotationLayer=void 0)}},{key:"disposed",value:function(){this.unbindLayer();this.unbindReference();M(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"disposed",this).call(this)}},{key:"unbindReference",value:function(){var a=this.reference_;void 0!==a&&(a.changed.remove(this.referenceChanged),this.reference_=void 0)}},{key:"toJSON",value:function(){var a=this.value_;if(void 0!==a)return 0===a.partIndex?a.id:a}},{key:"reset",value:function(){this.value=void 0}},{key:"restoreState",
+value:function(a){void 0===a?this.value=void 0:"string"===typeof a?this.value={id:a,partIndex:0}:(Object(A.t)(a),this.value={id:Object(A.v)(a,"id",A.A),partIndex:Object(A.v)(a,"partIndex",A.x)})}},{key:"reference",get:function(){return this.reference_}},{key:"value",get:function(){return this.value_},set:function(a){this.value_=a;var b=this.reference_;void 0!==b&&(void 0!==a&&b.id===a.id||this.unbindReference());this.validate();this.changed.dispatch()}},{key:"validValue",get:function(){return this.annotationLayer&&
+this.value_}}]);return b}(f.a),U=x.s.create(),Z=function(a){function c(a,b,d,e,g){q(this,c);var l=p(this,(c.__proto__||Object.getPrototypeOf(c)).call(this));l.layer=a;l.state=b;l.annotationLayer=d;l.voxelSize=e;l.setSpatialCoordinates=g;l.annotationListContainer=document.createElement("ul");l.annotationListElements=new Map;l.updated=!1;l.element.classList.add("neuroglancer-annotation-layer-view");l.annotationListContainer.classList.add("neuroglancer-annotation-list");l.registerDisposer(b);l.registerDisposer(e);
+l.registerDisposer(d);b=function(){l.updated=!1;l.updateView()};l.registerDisposer(d.source.changed.add(b));l.registerDisposer(l.visibility.changed.add(function(){return l.updateView()}));l.registerDisposer(d.transform.changed.add(b));l.updateView();b=document.createElement("div");b.className="neuroglancer-annotation-toolbox";a.initializeAnnotationLayerViewTab(l);a=l.registerDisposer(new F.a(l.annotationLayer.fillOpacity));a.promptElement.textContent="Fill opacity";l.element.appendChild(a.element);
+a=l.registerDisposer(new B.a(l.annotationLayer.color));a.element.title="Change annotation display color";b.appendChild(a.element);d.source.readonly||(d=document.createElement("button"),d.textContent=Object(k.g)(k.c.POINT).icon,d.title="Annotate point",d.addEventListener("click",function(){l.layer.tool.value=new aa(l.layer,{})}),b.appendChild(d),d=document.createElement("button"),d.textContent=Object(k.g)(k.c.AXIS_ALIGNED_BOUNDING_BOX).icon,d.title="Annotate bounding box",d.addEventListener("click",
+function(){l.layer.tool.value=new ba(l.layer,{})}),b.appendChild(d),d=document.createElement("button"),d.textContent=Object(k.g)(k.c.LINE).icon,d.title="Annotate line",d.addEventListener("click",function(){l.layer.tool.value=new ka(l.layer,{})}),b.appendChild(d),d=document.createElement("button"),d.textContent=Object(k.g)(k.c.ELLIPSOID).icon,d.title="Annotate ellipsoid",d.addEventListener("click",function(){l.layer.tool.value=new fa(l.layer,{})}),b.appendChild(d));l.element.appendChild(b);l.element.appendChild(l.annotationListContainer);
+l.annotationListContainer.addEventListener("mouseleave",function(){l.annotationLayer.hoverState.value=void 0});l.registerDisposer(l.annotationLayer.hoverState.changed.add(function(){return l.updateHoverView()}));l.registerDisposer(l.state.changed.add(function(){return l.updateSelectionView()}));return l}n(c,a);P(c,[{key:"updateSelectionView",value:function(){var a=this.state.value;if(void 0!==a)var b=a.id;a=this.previousSelectedId;b!==a&&(void 0!==a&&(a=this.annotationListElements.get(a),void 0!==
+a&&a.classList.remove("neuroglancer-annotation-selected")),void 0!==b&&(a=this.annotationListElements.get(b),void 0!==a&&(a.classList.add("neuroglancer-annotation-selected"),a.scrollIntoView())),this.previousSelectedId=b)}},{key:"updateHoverView",value:function(){var a=this.annotationLayer.hoverState.value;if(void 0!==a)var b=a.id;a=this.previousHoverId;b!==a&&(void 0!==a&&(a=this.annotationListElements.get(a),void 0!==a&&a.classList.remove("neuroglancer-annotation-hover")),void 0!==b&&(a=this.annotationListElements.get(b),
+void 0!==a&&a.classList.add("neuroglancer-annotation-hover")),this.previousHoverId=b)}},{key:"updateView",value:function(){var a=this;if(this.visible&&!this.updated){var b=this.annotationLayer,c=this.annotationListContainer,e=this.annotationListElements,g=b.source;Object(y.a)(c);this.annotationListElements.clear();b=b.objectToGlobal;var k={};g=$jscomp.makeIterator(g);for(var l=g.next();!l.done;k={annotation:k.annotation},l=g.next())k.annotation=l.value,l=this.makeAnnotationListElement(k.annotation,
+b),c.appendChild(l),e.set(k.annotation.id,l),l.addEventListener("mouseenter",function(b){return function(){a.annotationLayer.hoverState.value={id:b.annotation.id,partIndex:0}}}(k)),l.addEventListener("click",function(b){return function(){a.state.value={id:b.annotation.id,partIndex:0}}}(k)),l.addEventListener("mouseup",function(b){return function(c){2===c.button&&a.setSpatialCoordinates(d(b.annotation,a.annotationLayer.objectToGlobal))}}(k));this.previousHoverId=this.previousSelectedId=void 0;this.updated=
+!0;this.updateHoverView();this.updateSelectionView()}}},{key:"makeAnnotationListElement",value:function(a,c){var d=document.createElement("li");d.title="Click to select, right click to recenter view.";var e=document.createElement("div");e.className="neuroglancer-annotation-icon";e.textContent=Object(k.g)(a.type).icon;d.appendChild(e);e=document.createElement("div");e.className="neuroglancer-annotation-position";b(e,a,c,this.voxelSize,this.setSpatialCoordinates);d.appendChild(e);a.description&&(c=
+document.createElement("div"),c.className="neuroglancer-annotation-description",c.textContent=a.description,d.appendChild(c));return d}}]);return c}(L.b),H=function(a){function c(a,b,d){q(this,c);var e=p(this,(c.__proto__||Object.getPrototypeOf(c)).call(this));e.state=a;e.voxelSize=b;e.setSpatialCoordinates=d;e.valid=!1;e.mouseEntered=!1;e.element.classList.add("neuroglancer-annotation-details");e.registerDisposer(a);e.registerDisposer(b);e.registerDisposer(e.state.changed.add(function(){e.valid=
+!1;e.updateView()}));e.registerDisposer(e.visibility.changed.add(function(){return e.updateView()}));e.state.changed.add(function(){e.valid=!1;e.updateView()});e.element.addEventListener("mouseenter",function(){e.mouseEntered=!0;void 0!==e.hoverState&&(e.hoverState.value=e.state.value)});e.element.addEventListener("mouseleave",function(){e.mouseEntered=!1;void 0!==e.hoverState&&(e.hoverState.value=void 0)});e.updateView();return e}n(c,a);P(c,[{key:"updateView",value:function(){var a=this;if(this.visible){if(this.element.style.display=
+null,!this.valid){var c=this.element;Object(y.a)(c);this.valid=!0;var d=this.state.reference;if(void 0!==d){var e=this.state.value,g=d.value;if(null!=g){var l=this.state.annotationLayerState.value;this.hoverState=l.hoverState;this.mouseEntered&&(this.hoverState.value=e);var m=l.objectToGlobal,r=this.voxelSize,f=Object(k.g)(g.type),t=document.createElement("div");t.className="neuroglancer-annotation-details-title";var u=document.createElement("div");u.className="neuroglancer-annotation-details-icon";
+u.textContent=f.icon;var h=document.createElement("div");h.className="neuroglancer-annotation-details-title-text";h.textContent=""+f.description;t.appendChild(u);t.appendChild(h);l.source.readonly||(f=Object(I.a)("\ud83d\uddd1","Delete annotation"),f.addEventListener("click",function(){var a=l.source.getReference(e.id);try{l.source.delete(a)}finally{a.dispose()}}),t.appendChild(f));f=Object(C.a)();f.title="Hide annotation details";f.addEventListener("click",function(){a.state.value=void 0});t.appendChild(f);
+c.appendChild(t);t=document.createElement("div");t.className="neuroglancer-annotation-details-position";b(t,g,m,r,this.setSpatialCoordinates);c.appendChild(t);g.type===k.c.AXIS_ALIGNED_BOUNDING_BOX?(t=document.createElement("div"),t.className="neuroglancer-annotation-details-volume",t.textContent=Object(D.a)(g.pointA,g.pointB,m),c.appendChild(t),t=Object(x.p)(U,x.s.subtract(U,g.pointA,g.pointB),m),m=document.createElement("div"),m.className="neuroglancer-annotation-details-volume-in-voxels",r=r.voxelFromSpatial(U,
+t),m.textContent=""+Object(D.b)(r),c.appendChild(m)):g.type===k.c.LINE&&(f=Object(x.p)(U,x.s.subtract(U,g.pointA,g.pointB),m),m=document.createElement("div"),m.className="neuroglancer-annotation-details-length",t=Object(D.d)(x.s.length(f)),u="",r.valid&&(r=x.s.length(r.voxelFromSpatial(U,f)),u=", "+Math.round(r)+" vx"),m.textContent=t+u,c.appendChild(m));r=this.segmentListWidget;void 0!==r&&r.reference!==d&&(r.dispose(),this.unregisterDisposer(r),r=this.segmentListWidget=void 0);void 0===r&&(this.segmentListWidget=
+r=this.registerDisposer(new N(d,l)));c.appendChild(r.element);var v=document.createElement("textarea");v.value=g.description||"";v.rows=3;v.className="neuroglancer-annotation-details-description";v.placeholder="Description";l.source.readonly?v.readOnly=!0:v.addEventListener("change",function(){var a=v.value;l.source.update(d,Object.assign({},g,{description:a?a:void 0}));l.source.commit(d)});c.appendChild(v)}}}}else this.element.style.display="none",this.hoverState=void 0}}]);return c}(L.b),Q=function(a){function b(a,
+c,d,e){q(this,b);var g=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));g.layer=a;g.state=c;g.voxelSize=d;g.setSpatialCoordinates=e;g.stack=g.registerDisposer(new L.a(function(a){return new Z(g.layer,g.state.addRef(),a.addRef(),g.voxelSize.addRef(),g.setSpatialCoordinates)},g.visibility));g.detailsTab=g.registerDisposer(new H(g.state,g.voxelSize.addRef(),g.setSpatialCoordinates));g.registerDisposer(c);g.registerDisposer(d);a=g.element;a.classList.add("neuroglancer-annotations-tab");g.stack.element.classList.add("neuroglancer-annotations-stack");
+a.appendChild(g.stack.element);a.appendChild(g.detailsTab.element);a=function(){g.detailsTab.visibility.value=void 0!==g.state.validValue&&g.visible?G.b.VISIBLE:G.b.IGNORED};g.registerDisposer(g.state.changed.add(a));g.registerDisposer(g.visibility.changed.add(a));a=function(){g.stack.selected=g.state.annotationLayerState.value};g.registerDisposer(g.state.annotationLayerState.changed.add(a));a();return g}n(b,a);return b}(L.b);a=function(a){function b(a,c){q(this,b);var d=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));
+d.layer=a;if(void 0===a.annotationLayerState)throw Error("Invalid layer for annotation tool.");d.annotationDescription=Object(A.v)(c,"description",A.y);return d}n(b,a);P(b,[{key:"annotationLayer",get:function(){return this.layer.annotationLayerState.value}}]);return b}(h.a);var aa=function(a){function b(a,c){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a,c))}n(b,a);P(b,[{key:"trigger",value:function(a){var b=this.annotationLayer;void 0!==b&&a.active&&(a={id:"",description:"",
+segments:e(b),point:x.s.transformMat4(x.s.create(),a.position,b.globalToObject),type:k.c.POINT},b=b.source.add(a,!0),this.layer.selectedAnnotation.value={id:b.id},b.dispose())}},{key:"toJSON",value:function(){return"annotatePoint"}},{key:"description",get:function(){return"annotate point"}}]);return b}(a);a=function(a){function b(){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);P(b,[{key:"trigger",value:function(a){var b=this,c=this.annotationLayer;if(void 0!==
+c&&a.active){var d=function(){var d=b.inProgressAnnotation,e=d.reference,g=b.getUpdatedAnnotation(e.value,a,c);d.annotationLayer.source.update(e,g);b.layer.selectedAnnotation.value={id:e.id}};if(void 0===this.inProgressAnnotation){var e=c.source.add(this.getInitialAnnotation(a,c),!1);this.layer.selectedAnnotation.value={id:e.id};var g=a.changed.add(d);this.inProgressAnnotation={annotationLayer:c,reference:e,disposer:function(){g();e.dispose()}}}else d(),this.inProgressAnnotation.annotationLayer.source.commit(this.inProgressAnnotation.reference),
+this.inProgressAnnotation.disposer(),this.inProgressAnnotation=void 0}}},{key:"disposed",value:function(){this.deactivate();M(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"disposed",this).call(this)}},{key:"deactivate",value:function(){void 0!==this.inProgressAnnotation&&(this.inProgressAnnotation.annotationLayer.source.delete(this.inProgressAnnotation.reference),this.inProgressAnnotation.disposer(),this.inProgressAnnotation=void 0)}}]);return b}(a);f=function(a){function b(){q(this,
+b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);P(b,[{key:"getInitialAnnotation",value:function(a,b){a=g(a,b);return{id:"",type:this.annotationType,description:"",pointA:a,pointB:a}}},{key:"getUpdatedAnnotation",value:function(a,b,c){b=g(b,c);return Object.assign({},a,{pointB:b})}}]);return b}(a);var ba=function(a){function b(){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);P(b,[{key:"toJSON",value:function(){return"annotateBoundingBox"}},
+{key:"description",get:function(){return"annotate bounding box"}}]);return b}(f);ba.prototype.annotationType=k.c.AXIS_ALIGNED_BOUNDING_BOX;var ka=function(a){function b(){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);P(b,[{key:"getInitialAnnotation",value:function(a,c){a=M(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"getInitialAnnotation",this).call(this,a,c);a.segments=e(c);return a}},{key:"getUpdatedAnnotation",value:function(a,c,d){a=
+M(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"getUpdatedAnnotation",this).call(this,a,c,d);var g=a.segments;void 0!==g&&0<g.length&&(g.length=1);(d=e(d))&&g&&(d=d.filter(function(a){return-1===g.findIndex(function(b){return E.a.equal(a,b)})}));a.segments=[].concat($jscomp.arrayFromIterable(g||[]),$jscomp.arrayFromIterable(d||[]))||void 0;return a}},{key:"toJSON",value:function(){return"annotateLine"}},{key:"description",get:function(){return"annotate line"}}]);return b}(f);ka.prototype.annotationType=
+k.c.LINE;var fa=function(a){function b(){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);P(b,[{key:"getInitialAnnotation",value:function(a,b){a=g(a,b);return{type:k.c.ELLIPSOID,id:"",description:"",segments:e(b),center:a,radii:x.s.fromValues(0,0,0)}}},{key:"getUpdatedAnnotation",value:function(a,b,c){var d=x.s.transformMat4(x.s.create(),a.center,c.objectToGlobal);d=x.s.distance(d,b.position);b=x.i.create();b[0]=b[4]=b[8]=1/(d*d);c=Object(x.j)(x.i.create(),
+c.objectToGlobal);x.i.multiply(b,b,c);x.i.transpose(c,c);x.i.multiply(b,c,b);return Object.assign({},a,{radii:x.s.fromValues(1/Math.sqrt(b[0]),1/Math.sqrt(b[4]),1/Math.sqrt(b[8]))})}},{key:"toJSON",value:function(){return"annotateSphere"}},{key:"description",get:function(){return"annotate ellipsoid"}}]);return b}(a);Object(h.b)("annotatePoint",function(a,b){return new aa(a,b)});Object(h.b)("annotateBoundingBox",function(a,b){return new ba(a,b)});Object(h.b)("annotateLine",function(a,b){return new ka(a,
+b)});Object(h.b)("annotateSphere",function(a,b){return new fa(a,b)})},function(h,f,a){f.a=function(){return Object(q.a)("\u274c")};var q=a(109)},function(h,f,a){f.a=function(a,f){var h=document.createElement("div"),c=document.createElement("div");c.textContent=a;h.className="neuroglancer-icon-button";h.appendChild(c);void 0!==f&&(h.title=f);return h};h=a(285);a.n(h)},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||
+"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}f.a=function(a){return function(a){function e(a){for(var b=[],d=0;d<arguments.length;++d)b[d-0]=arguments[d];if(!(this instanceof e))throw new TypeError("Cannot call a class as a function");
+var g,k=q(this,(g=e.__proto__||Object.getPrototypeOf(e)).call.apply(g,[].concat([this],$jscomp.arrayFromIterable(b))));k.transform=new n.a;k.transform.changed.add(k.specificationChanged.dispatch);k.tabs.add("transform",{label:"Transform",order:100,getter:function(){return new c.a(k.transform)}});k.transform.restoreState(b[1].transform);return k}p(e,a);b(e,[{key:"toJSON",value:function(){var a=d(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"toJSON",this).call(this);a.transform=this.transform.toJSON();
+return a}}]);return e}(a)};var n=a(58),c=a(289),b=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),d=function g(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return g(a,b,c)}else{if("value"in d)return d.value;b=d.get;
+return void 0===b?void 0:b.call(c)}}},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,
+b):a.__proto__=b)}a.d(f,"a",function(){return g});h=a(291);a.n(h);h=a(292);a.n(h);h=a(169);a.n(h);h=a(170);a.n(h);h=a(48);var n=a.n(h);h=a(10);var c=a.n(h);h=a(1);var b=a(8),d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),e=function k(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,
+b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return k(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};a(293)(n.a);var g=function(a){function g(a){if(!(this instanceof g))throw new TypeError("Cannot call a class as a function");var b=q(this,(g.__proto__||Object.getPrototypeOf(g)).call(this));b.state=a;b.changingValue=!1;b.debouncedValueUpdater=c()(function(){b.changingValue=!0;try{b.state.fragmentMain.value=b.textEditor.getValue()}finally{b.changingValue=
+!1}},500);b.textEditor=n()(function(a){},{value:b.state.fragmentMain.value,mode:"glsl",gutters:["CodeMirror-lint-markers"]});b.textEditor.on("change",function(){b.setValidState(void 0);b.debouncedValueUpdater()});b.registerDisposer(b.state.fragmentMain.changed.add(function(){b.changingValue||b.textEditor.setValue(b.state.fragmentMain.value)}));b.element.classList.add("neuroglancer-shader-code-widget");b.registerDisposer(b.state.shaderError.changed.add(function(){b.updateErrorState()}));b.updateErrorState();
+return b}p(g,a);d(g,[{key:"updateErrorState",value:function(){var a=this,b=this.state.shaderError.value;void 0===b?this.setValidState(void 0):null!==b?(this.textEditor.setOption("lint",{getAnnotations:function(){if("ShaderCompilationError"===b.name){var c=b.source.split("\n").indexOf(a.state.fragmentMainStartLine)+2;return b.errorMessages.map(function(a){return{message:a.message,severity:"error",from:n.a.Pos(void 0===a.line?0:a.line-c)}})}return"ShaderLinkError"===b.name?[{message:b.log,severity:"error",
+from:n.a.Pos(0)}]:[{message:b.message,severity:"error",from:n.a.Pos(0)}]}}),this.setValidState(!1)):(this.textEditor.setOption("lint",void 0),this.setValidState(!0))}},{key:"setValidState",value:function(a){var b=this.element;b.classList.remove("invalid-input");b.classList.remove("valid-input");!0===a?b.classList.add("valid-input"):!1===a&&b.classList.add("invalid-input")}},{key:"disposed",value:function(){this.debouncedValueUpdater.flush();this.debouncedValueUpdater=void 0;Object(b.b)(this.element);
+this.textEditor=void 0;e(g.prototype.__proto__||Object.getPrototypeOf(g.prototype),"disposed",this).call(this)}},{key:"element",get:function(){return this.textEditor.getWrapperElement()}}]);return g}(h.a)},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a){return a-Math.floor(a)}a.d(f,"b",function(){return l});a.d(f,"a",function(){return m});var n=a(113),c=a(114),b=a(149),d=a(7),e=a(21),g=function(){function a(a,b){for(var c=
+0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),l=function(){function a(b){q(this,a);this.prefix=b;this.aName=this.prefix+"_a";this.bName=this.prefix+"_b"}g(a,[{key:"defineShader",value:function(a){var b=this.aName,d=this.bName;a.addUniform("highp vec4",b,4);a.addUniform("highp float",d,4);a.addFragmentCode(e.n);a.addFragmentCode(c.d);a.addFragmentCode(e.h);
+for(var g="\nvec3 "+this.prefix+"(uint64_t x) {\n  vec2 v;\n  float primeModulus = float("+n.b+");\n",k=0;2>k;++k){var l=2*k,m=2*k;g+="\n  v["+k+"] = computeHash(x,\n                        "+b+"["+m+"], "+b+"["+(m+1)+"],\n                        "+d+"["+l+"], "+d+"["+(l+1)+"],\n                        primeModulus, 1.0 / 256.0);\n"}a.addFragmentCode(g+"\n  vec3 hsv = vec3(v.x, 0.5 + v.y * 0.5, 1.0);\n  return hsvToRgb(hsv);\n}\n")}},{key:"enable",value:function(a,b,c){a.uniform4fv(b.uniform(this.aName),
+c.a_);a.uniform1fv(b.uniform(this.bName),c.b_)}}]);return a}(),k=new Float32Array(2),t=new Float32Array(3),m=function(){function a(b){q(this,a);this.a_=new Float32Array(16);this.b_=new Float32Array(4);this.changed=new d.a;null==b?(this.hashFunctions=Array(2),this.randomize_()):this.hashFunctions=b;this.computeGPUCoefficients_()}g(a,[{key:"compute",value:function(a,c){var d=c.low;c=c.high;for(var e=this.hashFunctions,g=0;2>g;++g)k[g]=p(e[g].compute(d,c)/256);Object(b.a)(a,k[0],.5+.5*k[1],1);return a}},
+{key:"computeCssColor",value:function(a){this.compute(t,a);return"rgb("+100*t[0]+"%,"+100*t[1]+"%,"+100*t[2]+"%)"}},{key:"debugCompute",value:function(a,b){var c=b.low;b=b.high;for(var d=this.b_,e=n.b,g=0;2>g;++g){for(var k=2*g,l=2*g,m=new Float32Array(2),r=0;4>r;++r)m[0]+=this.a_[4*l+r]*(c>>8*r&255),m[1]+=this.a_[4*(l+1)+r]*(b>>8*r&255);l=(m[0]+m[1])%e;r=l*l%e;var f=r*d[k+1]%e,t=(d[k]+l+f)%e;console.log("b = "+d[k]+", sums="+m[0]+" "+m[1]+", dotResult="+l+", "+("prod = "+l*l+" dotResult2="+r+", y="+
+f+", ")+("modResult="+t));a[g]=p(1/256*t)}return a}},{key:"randomize_",value:function(){for(var a=0;2>a;++a)this.hashFunctions[a]=n.a.generate()}},{key:"randomize",value:function(){this.randomize_();this.computeGPUCoefficients_();this.changed.dispatch()}},{key:"toString",value:function(){return"new SegmentColorHash(["+this.hashFunctions+"])"}},{key:"computeGPUCoefficients_",value:function(){for(var a=this.hashFunctions,b=this.a_,c=this.b_,d=0;2>d;++d){var e=a[d],g=2*d,k=8*d;c[g]=1*e.b;c[g+1]=1*e.c;
+for(g=0;4>g;++g)b[k+g]=1*e.a0[g],b[k+4+g]=1*e.a1[g]}}}],[{key:"getDefault",value:function(){return new a([new n.a(Float32Array.of(609,2364,3749,2289),Float32Array.of(2840,1186,3660,1833),1718,1109),new n.a(Float32Array.of(3466,3835,3345,2040),Float32Array.of(3382,901,18,3444),1534,1432)])}}]);return a}()},function(h,f,a){a.d(f,"a",function(){return p});var q=function(){function a(a,b){for(var c=0;c<b.length;c++){var e=b[c];e.enumerable=e.enumerable||!1;e.configurable=!0;"value"in e&&(e.writable=!0);
+Object.defineProperty(a,e.key,e)}}return function(c,b,d){b&&a(c.prototype,b);d&&a(c,d);return c}}();f.b=4093;var p=function(){function a(c,b,d,e){if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");this.a0=c;this.a1=b;this.b=d;this.c=e}q(a,[{key:"computeDotProduct",value:function(a,b){var c=this.a0,e=this.a1;return c[0]*(a&255)+c[1]*(a>>8&255)+c[2]*(a>>16&255)+c[3]*(a>>24&255)+(e[0]*(b&255)+e[1]*(b>>8&255)+e[2]*(b>>16&255)+e[3]*(b>>24&255))}},{key:"compute",value:function(a,
+b){var c=this.b,e=this.c;a=this.computeDotProduct(a,b);return(a+a*a%4093*e+c)%4093}},{key:"toString",value:function(){return"new HashFunction(Float32Array.of("+this.a0+"), "+("Float32Array.of("+this.a1+"), "+this.b+", "+this.c+")")}}],[{key:"generate",value:function(){function c(){return Math.floor(4093*Math.random())}return new a(Float32Array.of(c(),c(),c(),c()),Float32Array.of(c(),c(),c(),c()),c(),c())}}]);return a}()},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");
+}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return t});
+a.d(f,"c",function(){return m});a.d(f,"b",function(){return r});var c=a(113),b=a(65);h=a(1);var d=a(21),e=a(76),g=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),l=function v(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==
+a)return v(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},k=[d.q,d.n,d.e,d.i,"\nfloat computeHash(uint64_t x, vec4 a0, vec4 a1, float b, float c, float modulus, float scalar) {\n  x.low = unnormalizeUint8(x.low);\n  x.high = unnormalizeUint8(x.high);\n  float dotResult = imod(exactDot(a0, x.low) + exactDot(a1, x.high), modulus);\n  float dotResult2 = imod(dotResult * dotResult, modulus);\n  float y = imod(dotResult2 * c, modulus);\n  float modResult = imod(dotResult + y + b, modulus);\n  return fract(modResult * scalar);\n}\n"];
+f.d=k;var t=function(a){function b(a,c){q(this,b);var d=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));d.gl=a;d.hashTable=c;d.hashFunctions=null;d.generation=-1;d.texture=null;c=c.hashFunctions.length;d.a=new Float32Array(16*c);d.b=new Float32Array(4*c+5);d.texture=a.createTexture();return d}n(b,a);g(b,[{key:"computeCoefficients",value:function(){var a=this.hashTable,b=a.hashFunctions;if(this.hashFunctions!==b){this.hashFunctions=b;for(var d=this.a,e=this.b,g=b.length,k=a.width,l=[1/k,
+1/a.height],m=0;2>m;++m)e[4*g+m]=c.b,e[4*g+3+m]=l[m];e[4*g+2]=1/(a.entryStride*k);for(k=0;k<g;++k)for(l=b[k],m=0;2>m;++m){var r=l[m],f=4*k+2*m,t=4*(4*k+2*m);e[f]=r.b+(0===m?.5/a.entryStride:.5);e[f+1]=r.c;for(f=0;4>f;++f)d[t+f]=r.a0[f],d[t+4+f]=r.a1[f]}}}},{key:"copyToGPU",value:function(){this.computeCoefficients();var a=this.hashTable,b=a.generation;if(this.generation!==b){this.generation=b;var c=a.width,d=a.height,g=this.gl;b=this.texture;g.activeTexture(g.TEXTURE0+g.tempTextureUnit);g.bindTexture(g.TEXTURE_2D,
+b);g.pixelStorei(g.UNPACK_ALIGNMENT,1);Object(e.b)(g);var k=g.RGBA8,l=g.RGBA;a.tableWithMungedEmptyKey(function(b){g.texImage2D(g.TEXTURE_2D,0,k,c*a.entryStride,d,0,l,g.UNSIGNED_BYTE,new Uint8Array(b.buffer))});g.bindTexture(g.TEXTURE_2D,null)}}},{key:"disposed",value:function(){this.gl.deleteTexture(this.texture);this.texture=null;this.hashTable=this.gl=void 0;this.hashFunctions=null;l(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"disposed",this).call(this)}}],[{key:"get",value:function(a,
+b){var c=this;return a.memoize.get(b,function(){return new c(a,b)})}}]);return b}(h.a),m=function(){function a(c,d){d=void 0===d?b.c:d;q(this,a);this.prefix=c;this.numAlternatives=d;$jscomp.initSymbol();this.textureUnitSymbol=Symbol.for("gpuhashtable:"+this.prefix);this.aName=this.prefix+"_a";this.bName=this.prefix+"_b";this.samplerName=this.prefix+"_sampler"}g(a,[{key:"defineShader",value:function(a){var b=this.aName,c=this.bName,d=this.samplerName,e=this.numAlternatives;a.addUniform("highp vec4",
+b,4*e);a.addUniform("highp float",c,4*e+5);a.addTextureSampler2D(d,this.textureUnitSymbol);a.addFragmentCode(k);for(var g="",l=0;l<e;++l){for(var m=0;2>m;++m){var r=4*l+2*m,f=4*l+2*m;g+="\nfloat "+this.prefix+"_computeHash_"+l+"_"+m+"(uint64_t x) {\n  float primeModulus = "+c+"["+(4*e+m)+"];\n  float scalar = "+c+"["+(4*e+3+m)+"];\n  return computeHash(x,\n                     "+b+"["+f+"], "+b+"["+(f+1)+"],\n                     "+c+"["+r+"], "+c+"["+(r+1)+"],\n                     primeModulus, scalar);\n}\n"}g+=
+"\nvec2 "+this.prefix+"_computeHash_"+l+"(uint64_t x) {\n  vec2 v;\n  v[0] = "+this.prefix+"_computeHash_"+l+"_0(x);\n  v[1] = "+this.prefix+"_computeHash_"+l+"_1(x);\n  return v;\n}\n"}g+="\nbool "+this.hasFunctionName+"(uint64_t x) {\n  float highOffset = "+c+"["+(4*e+2)+"];\n";for(b=0;b<e;++b)g+="\n  {\n    vec2 v = "+this.prefix+"_computeHash_"+b+"(x);\n    vec4 lowResult = texture("+d+", v);\n    vec4 highResult = texture("+d+", vec2(v.x + highOffset, v.y));\n    if (lowResult == x.low && highResult == x.high) {\n      return true;\n    }\n  }\n";
+a.addFragmentCode(g+"\n  return false;\n}\n")}},{key:"enable",value:function(a,b,c){c.copyToGPU();var d=b.textureUnit(this.textureUnitSymbol);a.activeTexture(a.TEXTURE0+d);a.bindTexture(a.TEXTURE_2D,c.texture);a.uniform4fv(b.uniform(this.aName),c.a);a.uniform1fv(b.uniform(this.bName),c.b)}},{key:"disable",value:function(a,b){b=b.textureUnit(this.textureUnitSymbol);a.activeTexture(a.TEXTURE0+b);a.bindTexture(a.TEXTURE_2D,null)}},{key:"hasFunctionName",get:function(){return this.prefix+"_has"}}]);return a}(),
+r=function(a){function b(){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);g(b,[{key:"defineShader",value:function(a){l(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"defineShader",this).call(this,a);for(var c=this.samplerName,d=this.numAlternatives,e="\nbool "+this.getFunctionName+"(uint64_t x, out uint64_t value) {\n  float highOffset = "+this.bName+"["+(4*d+2)+"];\n",g=0;g<d;++g)e+="\n  {\n    vec2 v = "+this.prefix+"_computeHash_"+g+"(x);\n    vec4 lowResult = texture("+
+c+", v);\n    vec4 highResult = texture("+c+", vec2(v.x + highOffset, v.y));\n    if (lowResult == x.low && highResult == x.high) {\n      value.low = texture("+c+", vec2(v.x + 2.0 * highOffset, v.y));\n      value.high = texture("+c+", vec2(v.x + 3.0 * highOffset, v.y));\n      return true;\n    }\n  }\n";a.addFragmentCode(e+"\n  return false;\n}\n")}},{key:"getFunctionName",get:function(){return this.prefix+"_get"}}]);return b}(m)},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
+return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function n(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function c(){return new m.c([],function(a){return Object(v.a)(a,
+v.y)})}function b(a){return Object(E.a)(a.dataType,a.numComponents)}function d(a){return a.map(function(a){return Object(z.c)(new z.b,a.dataType,a.numComponents)})}function e(a,b){return a.memoize.getUncounted({type:"single_mesh:getMeshInfo",parameters:b},function(){return a.rpc.promiseInvoke(t.a,{chunkManager:a.addCounterpartRef(),parameters:b})})}a.d(f,"b",function(){return L});f.e=b;a.d(f,"d",function(){return M});a.d(f,"c",function(){return Z});f.f=function(a,b){return e(a,b).then(function(c){return a.getChunkSource(S,
+{parameters:Object.assign({},b,{info:c})})})};var g=a(30);h=a(23);var l=a(58),k=a(59),t=a(177),m=a(9),r=a(50),u=a(2),v=a(4),w=a(22),y=a(29),x=a(55),A=a(140),z=a(116),D=a(24),E=a(21),G=a(15),C=function Q(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return Q(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},B=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];
+d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();f.a="//NEUROGLANCER_SINGLE_MESH_LAYER_FRAGMENT_MAIN_START";var F=a(104),L=function aa(){n(this,aa);this.shaderError=Object(x.c)();var a=void 0;this.fragmentMain=new m.c(void 0===a?"void main() {\n  emitGray();\n}\n":a,v.A);this.attributeNames=c();this.objectToDataTransform=new l.a};$jscomp.initSymbol();var I=Symbol("SingleMeshShaderManager.vertexAttributeTextureUnit"),
+O=Object(z.c)(new z.b,r.b.FLOAT32,3),M=function(){function a(b,c,d){n(this,a);this.attributeNames=b;this.attributeInfo=c;this.fragmentMain=d;this.tempLightVec=new Float32Array(4);this.tempPickID=new Float32Array(4);this.textureAccessHelper=new z.a("vertexData");this.indexBufferHelper=new A.a("VertexIndex")}B(a,[{key:"defineAttributeAccess",value:function(a,c){var d=this.textureAccessHelper;d.defineShader(a);a.addVertexCode(d.getAccessor("readVertexPosition","uVertexAttributeSampler[0]",r.b.FLOAT32,
+3));a.addVertexCode(d.getAccessor("readVertexNormal","uVertexAttributeSampler[1]",r.b.FLOAT32,3));var e=2,g="\nvec3 vertexPosition = readVertexPosition("+c+");\nvec3 vertexNormal = readVertexNormal("+c+");\n",k=this.attributeNames;this.attributeInfo.forEach(function(l,m){if(void 0!==k[m]){var r=b(l);a.addVarying("highp "+r,"vCustom"+m);a.addFragmentCode("\n#define "+k[m]+" vCustom"+m+"\n");a.addVertexCode(d.getAccessor("readAttribute"+m,"uVertexAttributeSampler["+e+"]",l.dataType,l.numComponents));
+g+="vCustom"+m+" = readAttribute"+m+"("+c+");\n";e+=1}});a.addTextureSampler2D("uVertexAttributeSampler",I,e);a.addVertexMain(g)}},{key:"defineShader",value:function(a){a.require(A.b);this.indexBufferHelper.defineShader(a);a.addVarying("highp float","vLightingFactor");a.addUniform("highp vec4","uLightDirection");a.addUniform("highp vec4","uColor");a.addUniform("highp mat4","uModelMatrix");a.addUniform("highp mat4","uProjection");a.addUniform("highp vec4","uPickID");a.addVarying("highp vec4","vPickID");
+a.addVertexCode(E.b);a.addVertexCode(E.c);a.addVertexMain("\nfloat vertexIndex = getVertexIndex();\nuint32_t triangleIndex;\ndivmod(getPrimitiveIndex(), 3.0, triangleIndex);\nuint32_t pickID; pickID.value = uPickID;\nvPickID = add(pickID, triangleIndex).value;\n");a.addFragmentCode("\nvoid emitPremultipliedRGBA(vec4 color) {\n  emit(vec4(color.rgb * vLightingFactor, color.a), vPickID);\n}\nvoid emitRGBA(vec4 color) {\n  color = clamp(color, 0.0, 1.0);\n  color.xyz *= color.a;\n  emitPremultipliedRGBA(color);\n}\nvoid emitRGB(vec3 color) {\n  emitRGBA(vec4(color, 1.0));\n}\nvoid emitGray() {\n  emitRGB(vec3(1.0, 1.0, 1.0));\n}\n");
+a.addFragmentCode(F);this.defineAttributeAccess(a,"vertexIndex");a.addVertexMain("\ngl_Position = uProjection * (uModelMatrix * vec4(vertexPosition, 1.0));\nvec3 normal = normalize((uModelMatrix * vec4(vertexNormal, 0.0)).xyz);\nvLightingFactor = abs(dot(normal, uLightDirection.xyz)) + uLightDirection.w;\n");a.setFragmentMainFunction("//NEUROGLANCER_SINGLE_MESH_LAYER_FRAGMENT_MAIN_START\n"+this.fragmentMain)}},{key:"beginLayer",value:function(a,b,c){var d=c.dataToDevice,e=c.lightDirection,g=c.ambientLighting;
+c=c.directionalLighting;a.uniformMatrix4fv(b.uniform("uProjection"),!1,d);d=this.tempLightVec;u.s.scale(d,e,c);d[3]=g;a.uniform4fv(b.uniform("uLightDirection"),d)}},{key:"setPickID",value:function(a,b,c){a.uniform4fv(b.uniform("uPickID"),Object(E.r)(this.tempPickID,c))}},{key:"beginObject",value:function(a,b,c){a.uniformMatrix4fv(b.uniform("uModelMatrix"),!1,c)}},{key:"getShader",value:function(a,b){var c=this,d={attributeNames:this.attributeNames,attributeInfo:this.attributeInfo,fragmentMain:this.fragmentMain};
+return a.memoize.get("single_mesh/SingleMeshShaderManager:"+Object(w.a)(b)+":"+Object(v.g)(d),function(){var d=new D.a(a);d.require(b);c.defineShader(d);return d.build()})}},{key:"bindVertexData",value:function(a,b,c){this.textureAccessHelper.setupTextureLayout(a,b,c);var d=b.textureUnit(I)+a.TEXTURE0,e=function(b){a.activeTexture(d++);a.bindTexture(a.TEXTURE_2D,b)};e(c.vertexTexture);e(c.normalTexture);var g=this.attributeNames;c.vertexAttributeTextures.forEach(function(a,b){void 0!==g[b]&&e(a)})}},
+{key:"disableVertexData",value:function(a,b){for(var c=2,d=this.attributeInfo.length,e=this.attributeNames,g=0;g<d;++g)void 0!==e[g]&&++c;b=b.textureUnit(I)+a.TEXTURE0;for(d=0;d<c;++d)a.activeTexture(b++),a.bindTexture(a.TEXTURE_2D,null)}},{key:"drawFragment",value:function(a,b,c,d){d.ensure(c.numIndices).bind(b);this.bindVertexData(a,b,c.vertexData);this.indexBufferHelper.bind(c.indexBuffer,b);a.drawArrays(a.TRIANGLES,0,c.numIndices)}},{key:"endLayer",value:function(a,b){Object(A.c)(a,b);this.indexBufferHelper.disable(b);
+this.disableVertexData(a,b)}}]);return a}(),P=function(){function a(){n(this,a)}B(a,[{key:"copyToGPU",value:function(a,b){var c=this;Object(z.d)(this,a,1,this.vertexPositions.length/3);var d=function(b,d){var e=a.createTexture();a.bindTexture(a.TEXTURE_2D,e);Object(z.f)(a,c,d,b);return e};this.vertexTexture=d(this.vertexPositions,O);this.normalTexture=d(this.vertexNormals,O);this.vertexAttributeTextures=this.vertexAttributes.map(function(a,c){return d(a,b[c])});a.bindTexture(a.TEXTURE_2D,null)}},
+{key:"freeGPUMemory",value:function(a){a.deleteTexture(this.vertexTexture);a.deleteTexture(this.normalTexture);for(var b=this.vertexAttributeTextures,c=$jscomp.makeIterator(b),d=c.next();!d.done;d=c.next())a.deleteTexture(d.value);b.length=0}}]);return a}(),N=function(a){function b(a,c){n(this,b);a=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a));var d=a.vertexData=new P;d.vertexPositions=c.vertexPositions;d.vertexNormals=c.vertexNormals;d.vertexAttributes=c.vertexAttributes;c=a.indices=
+c.indices;a.numIndices=c.length;return a}p(b,a);B(b,[{key:"copyToGPU",value:function(a){C(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"copyToGPU",this).call(this,a);this.vertexData.copyToGPU(a,this.source.attributeTextureFormats);this.indexBuffer=Object(A.e)(a,this.indices)}},{key:"freeGPUMemory",value:function(a){C(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"freeGPUMemory",this).call(this,a);this.vertexData.freeGPUMemory(a);this.indexBuffer.dispose()}}]);return b}(h.b),
+S=function(a){function b(){n(this,b);var a=q(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments));a.attributeTextureFormats=d(a.info.vertexAttributes);return a}p(b,a);B(b,[{key:"getChunk",value:function(a){return new N(this,a)}},{key:"info",get:function(){return this.parameters.info}}]);return b}(Object(h.f)(h.e,t.d)),U=function(a){function b(){n(this,b);return q(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}p(b,a);return b}(Object(y.c)(G.b)),Z=function(a){function b(a,
+c){n(this,b);var d=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));d.source=a;d.displayState=c;d.shaders=new Map;d.sharedObject=d.registerDisposer(new U);d.fallbackFragmentMain="void main() {\n  emitGray();\n}\n";d.countingBuffer=d.registerDisposer(Object(A.d)(d.gl));d.displayState.shaderError.value=void 0;var e=function(){d.shaderManager=void 0;d.displayState.shaderError.value=void 0;d.disposeShaders();d.redrawNeeded.dispatch()};d.registerDisposer(c.fragmentMain.changed.add(e));d.registerDisposer(c.attributeNames.changed.add(e));
+d.registerDisposer(c.objectToDataTransform.changed.add(function(){d.redrawNeeded.dispatch()}));d.displayState.shaderError.value=void 0;c=d.sharedObject;c.visibility.add(d.visibility);c.RPC_TYPE_ID=t.c;c.initializeCounterpart(a.chunkManager.rpc,{chunkManager:a.chunkManager.rpcId,source:a.addCounterpartRef()});d.setReady(!0);return d}p(b,a);B(b,[{key:"disposeShaders",value:function(){for(var a=this.shaders,b=$jscomp.makeIterator(a.values()),c=b.next();!c.done;c=b.next())c=c.value,null!==c&&c.dispose();
+a.clear()}},{key:"disposed",value:function(){this.disposeShaders();C(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"disposed",this).call(this)}},{key:"makeShaderManager",value:function(a){a=void 0===a?this.displayState.fragmentMain.value:a;return new M(this.displayState.attributeNames.value,this.source.info.vertexAttributes,a)}},{key:"getShader",value:function(a){var b=this.shaders,c=b.get(a);if(void 0===c){c=null;var d=this.shaderManager;void 0===d&&(d=this.shaderManager=this.makeShaderManager());
+var e=this.displayState.fragmentMain.value;try{c=d.getShader(this.gl,a),this.fallbackFragmentMain=e,this.displayState.shaderError.value=null}catch(Ba){if(this.displayState.shaderError.value=Ba,d=this.fallbackFragmentMain,d!==e){d=this.shaderManager=this.makeShaderManager(d);try{c=d.getShader(this.gl,a)}catch(Za){}}}b.set(a,c)}return c}},{key:"draw",value:function(a){if(a.emitColor||!a.alreadyEmittedPickID){var b=this.source.chunks.get(t.b);if(void 0!==b&&b.state===g.d.GPU_MEMORY){var c=this.getShader(a.emitter);
+if(null!==c){var d=this.gl,e=this.shaderManager;c.bind();e.beginLayer(d,c,a);var k=a.pickIDs;e.beginObject(d,c,this.displayState.objectToDataTransform.transform);a.emitPickID&&e.setPickID(d,c,k.register(this,b.numIndices/3));e.drawFragment(d,c,b,this.countingBuffer);e.endLayer(d,c)}}}}},{key:"drawPicking",value:function(a){this.draw(a)}},{key:"transformPickedValue",value:function(a,b){a=this.source.chunks.get(t.b);if(void 0!==a){b*=3;var c=a.indices;if(!(b>=c.length)){var d=c[b],e=[],g=this.displayState.attributeNames.value;
+a.vertexData.vertexAttributes.forEach(function(a,b){b=g[b];void 0!==b&&e.push(b+"="+a[d].toPrecision(6))});return e.join(", ")}}}},{key:"isTransparent",get:function(){return null!==this.displayState.fragmentMain.value.match(/emitRGBA|emitPremultipliedRGBA/)}},{key:"gl",get:function(){return this.source.gl}}]);return b}(k.a)},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b,c){c=Math.ceil(c/b);a.dataWidth=b;a.textureHeight=
+c;a.textureAccessCoefficients=Float32Array.of(1/b,1/(b*c),b)}a.d(f,"b",function(){return g});f.c=function(a,b,d){d=void 0===d?1:d;switch(b){case c.b.UINT8:if(1>d||4<d)break;a.texelsPerElement=1;a.textureInternalFormat=t[d];a.textureFormat=l[d];a.texelType=WebGL2RenderingContext.UNSIGNED_BYTE;a.arrayElementsPerTexel=d;a.arrayConstructor=Uint8Array;return a;case c.b.UINT16:if(1>d||2<d)break;a.texelsPerElement=1;a.textureInternalFormat=t[2*d];a.textureFormat=l[2*d];a.texelType=WebGL2RenderingContext.UNSIGNED_BYTE;
+a.arrayElementsPerTexel=2*d;a.arrayConstructor=Uint8Array;return a;case c.b.UINT64:if(1!==d)break;a.texelsPerElement=2;a.textureInternalFormat=WebGL2RenderingContext.RGBA8;a.textureFormat=WebGL2RenderingContext.RGBA;a.texelType=WebGL2RenderingContext.UNSIGNED_BYTE;a.arrayElementsPerTexel=4;a.arrayConstructor=Uint8Array;return a;case c.b.UINT32:if(1!==d)break;a.texelsPerElement=1;a.textureInternalFormat=WebGL2RenderingContext.RGBA8;a.textureFormat=WebGL2RenderingContext.RGBA;a.texelType=WebGL2RenderingContext.UNSIGNED_BYTE;
+a.arrayElementsPerTexel=4;a.arrayConstructor=Uint8Array;return a;case c.b.FLOAT32:if(!(1>d||4<d))return a.texelsPerElement=1,a.textureInternalFormat=m[d],a.textureFormat=l[d],a.texelType=WebGL2RenderingContext.FLOAT,a.arrayElementsPerTexel=d,a.arrayConstructor=Float32Array,a}throw Error("No supported texture format for "+c.b[b]+"["+d+"].");};f.e=function(a,b,c,d,e,g){b=b.maxTextureSize;var k=d*e*g;if(!(c*d<=b&&e*g<=b))if(c*d*e<=b&&g<=b)d*=e;else if(d=Math.ceil(k/b),d*c>b)throw Error("Chunk data size exceeds maximum texture size: "+
+c+" * "+k);p(a,d,k)};f.d=function(a,b,c,d){b=b.maxTextureSize;var e=Math.ceil(d/b);if(e*c>b)throw Error("Number of elements exceeds maximum texture size: "+c+" * "+d);p(a,e,d)};f.f=function(a,b,c,e){var g=c.arrayConstructor,k=c.textureInternalFormat,l=c.textureFormat,m=c.texelsPerElement,r=b.dataWidth;b=b.textureHeight;var f=r*b*c.arrayElementsPerTexel*m;e.constructor!==g&&(e=new g(e.buffer,e.byteOffset,e.byteLength/g.BYTES_PER_ELEMENT));e=Object(n.b)(e,f);a.pixelStorei(WebGL2RenderingContext.UNPACK_ALIGNMENT,
+1);Object(d.b)(a);a.texImage2D(a.TEXTURE_2D,0,k,r*m,b,0,l,c.texelType,e)};a.d(f,"a",function(){return r});var n=a(43),c=a(50),b=a(21),d=a(76),e=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),g=function v(){q(this,v)},l=[-1,WebGL2RenderingContext.RED,WebGL2RenderingContext.RG,WebGL2RenderingContext.RGB,WebGL2RenderingContext.RGBA],
+k=["","r","rg","rgb","rgba"],t=[-1,WebGL2RenderingContext.R8,WebGL2RenderingContext.RG8,WebGL2RenderingContext.RGB8,WebGL2RenderingContext.RGBA8],m=[-1,WebGL2RenderingContext.R32F,WebGL2RenderingContext.RG32F,WebGL2RenderingContext.RGB32F,WebGL2RenderingContext.RGBA32F],r=function(){function a(b){q(this,a);this.key=b;this.uniformName="uTextureAccessCoefficients_"+this.key;this.readTextureValue="readTextureValue_"+this.key}e(a,[{key:"defineShader",value:function(a){a.addUniform("highp vec3",this.uniformName)}},
+{key:"getReadTextureValueCode",value:function(a){for(var b=this.uniformName,c="\nvoid "+this.readTextureValue+"(highp sampler2D sampler, float index",d=0;d<a;++d)c+=", out vec4 output"+d;c+=") {\n  float offset = "+.5/a+";\n  float xCoord = fract((index + offset) * "+b+".x);\n  vec2 texCoords = vec2(xCoord,\n                        (index - (xCoord - 0.5 - offset * "+b+".x) * "+b+".z) *\n                        "+b+".y);\n";for(d=0;d<a;++d)c+="\n  output"+d+" = texture(sampler,\n                        vec2(texCoords.x +\n                             "+
+b+".x * "+(d/a).toFixed(8)+",\n                             texCoords.y));\n";return c+"\n}\n"}},{key:"getAccessor",value:function(a,d,e,g){g=void 0===g?1:g;var l=Object(b.a)(e,g),m=[];m.push(this.getReadTextureValueCode(e===c.b.UINT64?2:1));a="\n"+l+" "+a+"(float index) {\n";switch(e){case c.b.UINT8:m.push(b.o);a+="\n  "+l+" result;\n  vec4 temp;\n  "+this.readTextureValue+"("+d+", index, temp);\n  result.value = temp."+k[g]+";\n  return result;\n";break;case c.b.UINT16:m.push(b.l);a+="\n  "+l+" result;\n  vec4 temp;\n  "+
+this.readTextureValue+"("+d+", index, temp);\n  result.value = temp."+k[2*g]+";\n  return result;\n";break;case c.b.UINT32:m.push(b.m);a+="\n  "+l+" result;\n  "+this.readTextureValue+"("+d+", index, result.value);\n  return result;\n";break;case c.b.UINT64:m.push(b.n);a+="\n  "+l+" result;\n  "+this.readTextureValue+"("+d+", index, result.low, result.high);\n  return result;\n";break;case c.b.FLOAT32:m.push(b.f),a+="\n  vec4 temp;\n  "+this.readTextureValue+"("+d+", index, temp);\n  return temp."+
+k[g]+";\n"}m.push(a+"\n}\n");return m}},{key:"setupTextureLayout",value:function(a,b,c){a.uniform3fv(b.uniform(this.uniformName),c.textureAccessCoefficients)}}]);return a}()},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+
+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a){a.addOutputBuffer("vec4","v4f_fragData"+C.COLOR,C.COLOR);a.addOutputBuffer("vec4","v4f_fragData"+C.Z,C.Z);a.addOutputBuffer("vec4","v4f_fragData"+C.PICK,C.PICK);a.addFragmentCode(B)}function b(a){a.addOutputBuffer("vec4","v4f_fragData0",0);a.addOutputBuffer("vec4","v4f_fragData1",1);a.addFragmentCode(F)}
+function d(a){a.addOutputBuffer("vec4","v4f_fragColor",null);a.setFragmentMain("\nvec4 v0 = getValue0();\nvec4 v1 = getValue1();\nvec4 accum = vec4(v0.rgb, v1.r);\nfloat revealage = v0.a;\n\nv4f_fragColor = vec4(accum.rgb / accum.a, revealage);\n")}a.d(f,"a",function(){return C});f.c=c;f.d=b;a.d(f,"b",function(){return N});var e=a(144),g=a(18),l=a(145),k=a(322),t=a(59);h=a(146);var m=a(44),r=a(35),u=a(25),v=a(2),w=a(80),y=a(184);f=a(29);var x=a(98),A=a(21),z=a(53),D=a(15),E=function(){function a(a,
+b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),G=function U(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return U(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};a(45);a(323);var C;(function(a){a[a.COLOR=
+0]="COLOR";a[a.Z=1]="Z";a[a.PICK=2]="PICK";a[a.NUM_TEXTURES=3]="NUM_TEXTURES"})(C||(C={}));var B=[A.k,"\nvoid emit(vec4 color, vec4 pickId) {\n  v4f_fragData"+C.COLOR+" = color;\n  v4f_fragData"+C.Z+" = packFloat01ToFixedPoint(1.0 - gl_FragCoord.z);\n  v4f_fragData"+C.PICK+" = pickId;\n}\n"],F=["\nfloat computeOITWeight(float alpha) {\n  float a = min(1.0, alpha) * 8.0 + 0.01;\n  float b = -gl_FragCoord.z * 0.95 + 1.0;\n  return a * a * a * b * b * b;\n}\n","\nvoid emit(vec4 color, vec4 pickId) {\n  float weight = computeOITWeight(color.a);\n  vec4 accum = color * weight;\n  v4f_fragData0 = vec4(accum.rgb, color.a);\n  v4f_fragData1 = vec4(accum.a, 0.0, 0.0, 0.0);\n}\n"],
+L=v.s.create(),I=v.s.create(),O=v.u.create(),M=v.k.create(),P=function(a){function b(){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);return b}(Object(f.c)(D.b)),N=function(a){function f(a,b,h){q(this,f);var n=p(this,(f.__proto__||Object.getPrototypeOf(f)).call(this,a,b,h));n.sliceViews=function(){var a=new Map;return n.registerDisposer(new y.a(function(b,c){b=c.visibility.add(n.visibility);a.set(c,b);n.scheduleRedraw()},function(b,c){b=a.get(c);a.delete(c);
+b();c.dispose();n.scheduleRedraw()}))}();n.projectionMat=v.k.create();n.inverseProjectionMat=v.k.create();n.modelViewMat=v.k.create();n.width=0;n.height=0;n.pickIDs=new l.a;n.axesLineHelper=n.registerDisposer(e.a.get(n.gl));n.sliceViewRenderHelper=n.registerDisposer(m.d.get(n.gl,c));n.offscreenFramebuffer=n.registerDisposer(new x.b(n.gl,{colorBuffers:Object(x.e)(n.gl,C.NUM_TEXTURES),depthBuffer:new x.a(n.gl)}));n.offscreenCopyHelper=n.registerDisposer(x.c.get(n.gl));n.transparencyCopyHelper=n.registerDisposer(x.c.get(n.gl,
+d,2));n.scaleBarCopyHelper=n.registerDisposer(x.c.get(n.gl));n.scaleBarTexture=n.registerDisposer(new z.b(n.gl));n.nanometersPerPixel=1;n.registerDisposer(n.navigationState.changed.add(function(){n.viewportChanged()}));a=n.sharedObject=n.registerDisposer(new P);a.RPC_TYPE_ID=k.c;a.initializeCounterpart(h.rpc,{});a.visibility.add(n.visibility);n.visibleLayerTracker=Object(g.l)(n.viewer.layerManager,t.a,n.viewer.visibleLayerRoles,n,function(a){var b=a.backend;if(b)return b.rpc.invoke(k.a,{layer:b.rpcId,
+view:n.sharedObject.rpcId}),function(){b.rpc.invoke(k.b,{layer:b.rpcId,view:n.sharedObject.rpcId})}});Object(u.c)(b,"translate-via-mouse-drag",function(a){Object(w.a)(a.detail,function(a,b,c){a=n.width;var d=n.height,e=n.viewer.navigationState.position,g=e.spatialCoordinates;v.s.transformMat4(L,g,n.projectionMat);L[0]=2*b/a;L[1]=-2*c/d;v.s.transformMat4(g,L,n.inverseProjectionMat);e.changed.dispatch()})});Object(u.c)(b,"rotate-via-mouse-drag",function(a){Object(w.a)(a.detail,function(a,b,c){n.navigationState.pose.rotateRelative(v.e[1],
+-b/4*Math.PI/180);n.navigationState.pose.rotateRelative(v.e[0],c/4*Math.PI/180);n.viewer.navigationState.changed.dispatch()})});h.showSliceViewsCheckbox&&(b=n.registerDisposer(new r.c(h.showSliceViews)),b.element.className="perspective-panel-show-slice-views neuroglancer-noselect",a=document.createElement("label"),a.className="perspective-panel-show-slice-views neuroglancer-noselect",a.appendChild(document.createTextNode("Slices")),a.appendChild(b.element),n.element.appendChild(a));n.registerDisposer(h.orthographicProjection.changed.add(function(){return n.scheduleRedraw()}));
+n.registerDisposer(h.showScaleBar.changed.add(function(){return n.scheduleRedraw()}));n.registerDisposer(h.scaleBarOptions.changed.add(function(){return n.scheduleRedraw()}));n.registerDisposer(h.showSliceViews.changed.add(function(){return n.scheduleRedraw()}));n.registerDisposer(h.showAxisLines.changed.add(function(){return n.scheduleRedraw()}));n.registerDisposer(h.crossSectionBackgroundColor.changed.add(function(){return n.scheduleRedraw()}));return n}n(f,a);E(f,[{key:"isReady",value:function(){if(!this.visible)return!1;
+for(var a=$jscomp.makeIterator(this.sliceViews),b=a.next();!b.done;b=a.next()){b=$jscomp.makeIterator(b.value);var c=b.next().value;if((b.next().value||this.viewer.showSliceViews.value)&&!c.isReady())return!1}a=this.visibleLayerTracker.getVisibleLayers();a=$jscomp.makeIterator(a);for(b=a.next();!b.done;b=a.next())if(!b.value.isReady())return!1;return!0}},{key:"updateProjectionMatrix",value:function(){var a=this.projectionMat,b=this.width/this.height,c=Math.PI/4;this.viewer.orthographicProjection.value?
+(c=100/(1/Math.tan(c/2)),v.k.ortho(a,-b*c,b*c,-c,c,10,5E3),this.nanometersPerPixel=1/(2*a[0])*this.navigationState.zoomFactor.value,this.nanometersPerPixel=2*b*c/this.width*this.navigationState.zoomFactor.value):v.k.perspective(a,c,b,10,5E3);b=this.modelViewMat;this.navigationState.toMat4(b);v.s.set(L,1,-1,-1);v.k.scale(b,b,L);c=v.s.set(L,0,0,100);v.k.translate(b,b,c);v.k.invert(M,b);v.k.multiply(a,a,M);v.k.invert(this.inverseProjectionMat,a)}},{key:"viewportChanged",value:function(){this.context.scheduleRedraw()}},
+{key:"onResize",value:function(){var a=this.element,b=a.clientHeight;if(a.clientWidth!==this.width||b!==this.height)this.width=this.element.clientWidth,this.height=this.element.clientHeight,this.viewportChanged()}},{key:"disposed",value:function(){for(var a=$jscomp.makeIterator(this.sliceViews.keys()),b=a.next();!b.done;b=a.next())b.value.dispose();this.sliceViews.clear();G(f.prototype.__proto__||Object.getPrototypeOf(f.prototype),"disposed",this).call(this)}},{key:"updateMouseState",value:function(a){a.pickedRenderLayer=
+null;if(!this.navigationState.valid)return!1;var b=a.position,c=this.offscreenFramebuffer,d=this.width,e=this.height;if(!c.hasSize(d,e))return!1;var g=this.mouseX,k=e-this.mouseY,l=c.readPixel(C.Z,g,k);l=1-Object(A.s)(l);if(1===l)return!1;b[0]=2*g/d-1;b[1]=2*k/e-1;b[2]=2*l-1;v.s.transformMat4(b,b,this.inverseProjectionMat);this.pickIDs.setMouseState(a,c.readPixelAsUint32(C.PICK,g,k));return!0}},{key:"draw",value:function(){if(this.navigationState.valid){this.onResize();var a=this.width,d=this.height;
+if(0!==a&&0!==d){for(var e=this.viewer.showSliceViews.value,g=$jscomp.makeIterator(this.sliceViews),k=g.next();!k.done;k=g.next()){k=$jscomp.makeIterator(k.value);var l=k.next().value;(k.next().value||e)&&l.updateRendering()}e=this.gl;this.offscreenFramebuffer.bind(a,d);e.disable(e.SCISSOR_TEST);this.gl.clearColor(0,0,0,0);e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT);e.enable(e.DEPTH_TEST);g=this.projectionMat;this.updateProjectionMatrix();k=v.s.create();Object(v.p)(k,v.e[2],this.modelViewMat);
+v.s.normalize(k,k);l=this.pickIDs;l.clear();g={dataToDevice:g,lightDirection:k,ambientLighting:.2,directionalLighting:.8,pickIDs:l,emitter:c,emitColor:!0,emitPickID:!0,alreadyEmittedPickID:!1,viewportWidth:a,viewportHeight:d};k=this.visibleLayerTracker.getVisibleLayers();var m=!1,r=!1,f=$jscomp.makeIterator(k);for(l=f.next();!l.done;l=f.next())l=l.value,l.isTransparent?m=!0:l.isAnnotation?r=!0:l.draw(g);this.drawSliceViews(g);if(r){e.enable(WebGL2RenderingContext.BLEND);e.depthFunc(WebGL2RenderingContext.LEQUAL);
+e.blendFunc(WebGL2RenderingContext.SRC_ALPHA,WebGL2RenderingContext.ONE_MINUS_SRC_ALPHA);e.drawBuffers([e.COLOR_ATTACHMENT0,e.NONE,e.NONE]);g.emitPickID=!1;r=$jscomp.makeIterator(k);for(l=r.next();!l.done;l=r.next())l=l.value,l.isAnnotation&&l.draw(g);e.depthFunc(WebGL2RenderingContext.LESS);e.disable(WebGL2RenderingContext.BLEND);e.drawBuffers([e.COLOR_ATTACHMENT0,e.COLOR_ATTACHMENT1,e.COLOR_ATTACHMENT2]);g.emitPickID=!0}this.viewer.showAxisLines.value&&this.drawAxisLines();if(m){e.depthMask(!1);
+e.enable(WebGL2RenderingContext.BLEND);m=this.transparentConfiguration;m.bind(a,d);this.gl.clearColor(0,0,0,1);e.clear(WebGL2RenderingContext.COLOR_BUFFER_BIT);g.emitter=b;e.blendFuncSeparate(WebGL2RenderingContext.ONE,WebGL2RenderingContext.ONE,WebGL2RenderingContext.ZERO,WebGL2RenderingContext.ONE_MINUS_SRC_ALPHA);g.emitPickID=!1;r=$jscomp.makeIterator(k);for(l=r.next();!l.done;l=r.next())l=l.value,l.isTransparent&&l.draw(g);e.disable(WebGL2RenderingContext.DEPTH_TEST);this.offscreenFramebuffer.bindSingle(C.COLOR);
+e.blendFunc(WebGL2RenderingContext.ONE_MINUS_SRC_ALPHA,WebGL2RenderingContext.SRC_ALPHA);this.transparencyCopyHelper.draw(m.colorBuffers[0].texture,m.colorBuffers[1].texture);e.depthMask(!0);e.disable(WebGL2RenderingContext.BLEND);e.enable(WebGL2RenderingContext.DEPTH_TEST);this.offscreenFramebuffer.bind(a,d)}e.drawBuffers([e.NONE,e.COLOR_ATTACHMENT1,e.COLOR_ATTACHMENT2]);g.emitter=c;g.emitPickID=!0;g.emitColor=!1;e.enable(WebGL2RenderingContext.POLYGON_OFFSET_FILL);e.polygonOffset(-1,-1);d=$jscomp.makeIterator(k);
+for(l=d.next();!l.done;l=d.next())k=l.value,g.alreadyEmittedPickID=!k.isTransparent&&!k.isAnnotation,k.draw(g);e.disable(WebGL2RenderingContext.POLYGON_OFFSET_FILL);this.viewer.showScaleBar.value&&this.viewer.orthographicProjection.value&&(e.drawBuffers([e.COLOR_ATTACHMENT0]),e.disable(WebGL2RenderingContext.DEPTH_TEST),e.enable(WebGL2RenderingContext.BLEND),e.blendFunc(WebGL2RenderingContext.SRC_ALPHA,WebGL2RenderingContext.ONE_MINUS_SRC_ALPHA),d=this.scaleBarTexture,g=this.viewer.scaleBarOptions.value,
+k=d.dimensions,k.targetLengthInPixels=Math.min(g.maxWidthFraction*a,g.maxWidthInPixels*g.scaleFactor),k.nanometersPerPixel=this.nanometersPerPixel,d.update(g),e.viewport(g.leftPixelOffset*g.scaleFactor,g.bottomPixelOffset*g.scaleFactor,d.width,d.height),this.scaleBarCopyHelper.draw(d.texture),e.disable(WebGL2RenderingContext.BLEND));this.offscreenFramebuffer.unbind();this.setGLViewport();this.offscreenCopyHelper.draw(this.offscreenFramebuffer.colorBuffers[C.COLOR].texture)}}}},{key:"drawSliceViews",
+value:function(a){var b=this.sliceViewRenderHelper,c=a.lightDirection,d=a.ambientLighting,e=a.directionalLighting;a=a.dataToDevice;for(var g=this.viewer.showSliceViews.value,k=$jscomp.makeIterator(this.sliceViews),l=k.next();!l.done;l=k.next()){var m=$jscomp.makeIterator(l.value);l=m.next().value;if((m.next().value||g)&&0!==l.width&&0!==l.height&&l.hasValidViewport){m=Math.abs(v.s.dot(c,l.viewportAxes[2]));m=d+m*e;var r=M;v.k.identity(r);r[0]=l.width/2;r[5]=-l.height/2;v.k.multiply(r,l.viewportToData,
+r);v.k.multiply(r,a,r);var f=O,t=this.viewer.crossSectionBackgroundColor.value;f[0]=t[0];f[1]=t[1];f[2]=t[2];f[3]=1;b.draw(l.offscreenFramebuffer.colorBuffers[0].texture,r,v.u.fromValues(m,m,m,1),O,0,0,1,1)}}}},{key:"drawAxisLines",value:function(){var a=this.viewer.navigationState.position.spatialCoordinates;v.s.transformMat4(L,a,this.projectionMat);L[0]=.5;v.s.transformMat4(I,L,this.inverseProjectionMat);var b=v.s.distance(I,a);L[0]=0;L[1]=.5;v.s.transformMat4(I,L,this.inverseProjectionMat);var c=
+v.s.distance(I,a);a=this.gl;v.k.identity(M);b=Math.min(b,c);M[0]=b;M[5]=b;M[10]=b;b=this.navigationState.position.spatialCoordinates;M[12]=b[0];M[13]=b[1];M[14]=b[2];M[15]=1;v.k.multiply(M,this.projectionMat,M);a.drawBuffers([a.COLOR_ATTACHMENT0]);this.axesLineHelper.draw(M,!1)}},{key:"zoomByMouse",value:function(a){this.navigationState.zoomBy(a)}},{key:"navigationState",get:function(){return this.viewer.navigationState}},{key:"transparentConfiguration",get:function(){var a=this.transparentConfiguration_;
+void 0===a&&(a=this.transparentConfiguration_=this.registerDisposer(new x.b(this.gl,{colorBuffers:Object(x.e)(this.gl,2,this.gl.RGBA32F,this.gl.RGBA,this.gl.FLOAT),depthBuffer:this.offscreenFramebuffer.depthBuffer.addRef()})));return a}}]);return f}(h.a)},function(h,f,a){function q(a){return Object(b.a)(a.dataTransfer.types,"neuroglancer-layer\x00")}function p(a){if(void 0!==g&&g.manager.rootLayers===a.rootLayers)return g}function n(a,b,c){if(a.shiftKey)return"copy";if(a.ctrlKey)return"move";a=void 0===
+c?!1:c;a=void 0===a?!1:a;c=p(b);b=void 0===c?"copy":a||c.manager!==b?"link":"move";return b}f.e=function(a,c){a.dataTransfer.setData(Object(b.b)("neuroglancer-layer\x00",c.layers.map(function(a){return{name:a.name,visible:a.visible}})),JSON.stringify({layers:c.layers.map(function(a){return a.toJSON()}),layout:c.layoutSpec}));void 0!==g&&g.disposer();var d,e=function(){c.manager.unregisterDisposer(e);for(var a=$jscomp.makeIterator(c.layers),b=a.next();!b.done;b=a.next())b.value.dispose();c.manager.dispose();
+g===d&&(g=void 0)};g=d={manager:c.manager.addRef(),layers:c.layers.map(function(a){return a.addRef()}),layoutSpec:c.layoutSpec,disposer:e}};f.a=function(a){if(void 0!==g){if(a&&"move"===a.dataTransfer.dropEffect){var b=new Set(g.layers);g.manager.layerManager.filter(function(a){return!b.has(a)})}g.disposer()}};f.c=q;f.d=n;f.f=function(a,c,d){return Object(b.e)(a,n(a,c,void 0===d?!1:d))};f.b=function(a,b,e,g,f){var k=p(b),m=!f&&void 0!==k&&k.manager===b;if(!e&&void 0!==k){var r=new l;r.manager=b;r.numSourceLayers=
+k.layers.length;r.sourceManager=k.manager;r.moveSupported=m;r.layers=new Map;r.layoutSpec=k.layoutSpec;if(!f&&k.manager===b)if(g)k.layers.forEach(function(a,b){r.layers.set(a,b)});else return;k.layers.forEach(function(a,c){!f&&b.layerManager.has(a)||r.layers.set(a.addRef(),c)});return r}a=q(a);if(void 0!==a)try{var t=Object(d.a)(a.parameters,function(a,e){var g=Object(d.v)(a,"name",d.A);a=Object(d.v)(a,"visible",d.l);g=new c.b(g,null,b);g.visible=a;return[g,e]}),h=new l;h.numSourceLayers=t.length;
+h.moveSupported=m;h.manager=b;h.dragType=a.dragType;h.layers=new Map(t);return h}catch(z){}};var c=a(27),b=a(119),d=a(4),e=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),g,l=function(){function a(){if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");}e(a,[{key:"finalize",value:function(a){var b=
+this.dragType;if(void 0!==b)try{var c=JSON.parse(a.dataTransfer.getData(b)),d=c.layers,e=c.layout;if(!Array.isArray(d)||this.numSourceLayers!==d.length)throw Error("Invalid layer drop data");this.layoutSpec=e;for(var g=$jscomp.makeIterator(this.layers),k=g.next();!k.done;k=g.next()){var l=$jscomp.makeIterator(k.value),f=l.next().value,t=l.next().value;this.manager.initializeLayerFromSpec(f,d[t])}}catch(D){return!1}return!0}},{key:"compatibleWithMethod",value:function(a){return this.method===a||!this.moveSupported&&
+"move"===a?!0:!1}},{key:"method",get:function(){return void 0!==this.sourceManager?this.manager===this.sourceManager?"move":"link":"copy"}}]);return a}()},function(h,f,a){f.b=function(a,b){b=JSON.stringify(b);b=Object(q.b)((new TextEncoder).encode(b));return a+b};f.a=function(a,b){a=$jscomp.makeIterator(a);for(var c=a.next();!c.done;c=a.next()){c=c.value;a:{var e=b;if(c.startsWith(e))try{var g=c.substring(e.length);var l=(new TextDecoder).decode(Object(q.a)(g));var k=JSON.parse(l);break a}catch(t){k=
+void 0;break a}k=void 0}e=k;if(void 0!==e)return{parameters:e,dragType:c}}};f.e=function(a,b){return n=a.dataTransfer.dropEffect=b};f.c=function(){return n};f.d=function(a){a.draggable=!0;return Object(p.c)(a,"dragstart",function(a){a.stopPropagation();a.preventDefault()})};var q=a(166),p=a(1),n},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
+return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"b",function(){return w});a.d(f,"c",function(){return y});a.d(f,"a",function(){return x});var c=a(31),b=a(187),d=a(180);h=
+a(1);var e=a(8),g=a(25),l=a(2),k=a(60),t=a(148),m=a(53),r=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),u=function z(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return z(a,b,c)}else{if("value"in d)return d.value;
+b=d.get;return void 0===b?void 0:b.call(c)}};a(336);a(83);f.d="neuroglancer-position";var v=g.a.fromObject({tab:{action:"tab-forward",preventDefault:!1},arrowup:{action:"adjust-up"},arrowdown:{action:"adjust-down"},wheel:{action:"adjust-via-wheel"},"shift+tab":{action:"tab-backward",preventDefault:!1},backspace:{action:"delete-backward",preventDefault:!1},escape:{action:"cancel"},mouseup0:{action:"select-all-if-was-not-focused",preventDefault:!1}}),w=function(a){function m(a,e){e=void 0===e?6:e;q(this,
+m);var r=p(this,(m.__proto__||Object.getPrototypeOf(m)).call(this));r.position=a;r.maxNumberWidth=e;r.element=document.createElement("div");r.inputContainer=document.createElement("div");r.inputElement=document.createElement("input");r.hintElement=document.createElement("input");r.tempPosition=l.s.create();r.updateHintScrollPosition=r.registerCancellable(Object(b.a)(function(){r.hintElement.scrollLeft=r.inputElement.scrollLeft}));var f=r.element,h=r.inputElement,u=r.hintElement,n=r.inputContainer;
+n.className="neuroglancer-position-widget-input-container";h.className="neuroglancer-position-widget-input";u.className="neuroglancer-position-widget-hint";r.inputFieldWidth=3*e+11;e=$jscomp.makeIterator([h,u]);for(var w=e.next();!w.done;w=e.next())w=w.value,w.spellcheck=!1,w.autocomplete="off",w.type="text",w.style.width=r.inputFieldWidth+"ch";u.disabled=!0;e=document.createElement("div");e.textContent="\u29c9";e.className="neuroglancer-copy-button neuroglancer-button";e.title="Copy position to clipboard";
+e.addEventListener("click",function(){var a=Object(d.b)(r.getPositionText());c.a.showTemporaryMessage(a?"Position copied to clipboard":"Failed to copy position to clipboard")});e.addEventListener("dragstart",function(b){b.dataTransfer.setData("neuroglancer-position",JSON.stringify(a.toJSON()));b.dataTransfer.setData("text",r.getPositionText());b.stopPropagation()});e.draggable=!0;f.appendChild(e);f.appendChild(n);n.appendChild(h);n.appendChild(u);f.className="neuroglancer-position-widget";r.registerDisposer(a.changed.add(r.registerCancellable(Object(b.a)(function(){return r.updateView()}))));
+r.registerDisposer(new k.b(h,v)).allShortcutsAreGlobal=!0;r.registerDisposer(new t.a(h,v));r.registerEventListener(h,"change",function(){return r.updatePosition()});r.registerEventListener(h,"blur",function(){return r.updatePosition()});r.registerEventListener(h,"input",function(){return r.cleanInput()});r.registerEventListener(h,"keydown",r.updateHintScrollPosition);r.registerEventListener(h,"copy",function(a){var b=h.value.substring(h.selectionStart,h.selectionEnd);b=b.trim().replace(/\s+/g," ");
+a.clipboardData.setData("text/plain",b);a.stopPropagation();a.preventDefault()});var x=!1;r.registerEventListener(h,"mousedown",function(){x=document.activeElement===h});r.registerDisposer(Object(g.c)(h,"select-all-if-was-not-focused",function(a){x||(h.selectionStart=0,h.selectionEnd=h.value.length,h.selectionDirection="forward",a.preventDefault())}));r.registerDisposer(Object(g.c)(h,"tab-forward",function(a){var b=Math.min(h.selectionStart,h.selectionEnd),c=h.value.substring(b).match(/^([^,\s]*)((?:\s+)|(?:\s*,\s*))?([^,\s]*)/);
+null!==c&&void 0!==c[2]&&(h.selectionStart=b+c[1].length+c[2].length,h.selectionEnd=h.selectionStart+c[3].length,h.selectionDirection="forward",a.preventDefault())}));r.registerDisposer(Object(g.c)(h,"tab-backward",function(a){var b=h.value.substring(0,Math.max(h.selectionStart,h.selectionEnd)).match(/([^,\s]*)((?:\s+)|(?:\s*,\s*))?([^,\s]*)$/);null!==b&&void 0!==b[2]&&(h.selectionStart=b.index,h.selectionEnd=h.selectionStart+b[1].length,h.selectionDirection="forward",a.preventDefault())}));r.registerDisposer(Object(g.c)(h,
+"delete-backward",function(a){if(h.selectionStart===h.selectionEnd&&h.selectionStart===h.value.length){var b=h.value.match(/^(.*)(?![\s])(?:(?:\s+)|(?:\s*,\s*))$/);null!==b&&(h.value=b[1],r.cleanInput(),a.preventDefault())}}));r.registerDisposer(Object(g.c)(h,"cancel",function(){r.updateView();r.inputElement.blur()}));r.registerDisposer(Object(g.c)(h,"adjust-via-wheel",function(a){a=a.detail;var b=a.deltaY;0!==b&&r.adjustFromCursor(Math.ceil((h.scrollLeft+a.offsetX-h.clientLeft)/(h.scrollWidth/r.inputFieldWidth)),
+-Math.sign(b))}));r.registerDisposer(Object(g.c)(h,"adjust-up",function(){r.adjustFromCursor(void 0,1)}));r.registerDisposer(Object(g.c)(h,"adjust-down",function(){r.adjustFromCursor(void 0,-1)}));r.updateView();return r}n(m,a);r(m,[{key:"adjustFromCursor",value:function(a,b){var c=this.inputElement;void 0===a&&(a="forward"===c.selectionDirection?c.selectionEnd:c.selectionStart);void 0!==this.cleanInput()&&(a=c.value.substring(0,a).split(",").length-1,this.updatePosition(),c=this.tempPosition,this.position.getVoxelCoordinates(c)&&
+(c[a]+=b,this.position.setVoxelCoordinates(c),this.updateView()))}},{key:"cleanInput",value:function(){var a=this.inputElement.selectionStart,b=/(-?\d+(?:\.(?:\d+)?)?)/.source,c=/((?:\s+(?![\s,]))|(?:\s*,\s*))/.source,d=/([\[\]{}()\s]*)/.source;b=this.inputElement.value.match(new RegExp("^"+d+"(?![\\s])"+b+"?"+("(?:"+c+b+"?(?:"+c+b+"?)?)?")+(d+"$")));if(null!==b){var e="  ",g="x ",k=2,m=b[1].length;c=function(b,c,d){if(void 0!==b){var l=m+b.length;void 0===c&&(c=b,d=" ".repeat(c.length));a>=m&&(k=
+a===l?e.length+c.length:e.length+Math.min(c.length,a-m));e+=c;g+=d;m=l}};c(b[2]);c(b[3],",   ","  y ");c(b[4]);c(b[5],",   ","  z ");c(b[6]);this.hintElement.value=g;this.inputElement.value!==e&&(this.inputElement.value=e,this.inputElement.selectionEnd=k,this.inputElement.selectionStart=k);this.updateHintScrollPosition();return void 0!==b[2]&&void 0!==b[4]&&void 0!==b[6]?{position:l.s.set(this.tempPosition,parseFloat(b[2]),parseFloat(b[4]),parseFloat(b[6]))}:{}}this.hintElement.value=""}},{key:"updatePosition",
+value:function(){var a=this.cleanInput();void 0!==a&&void 0!==a.position&&this.position.setVoxelCoordinates(a.position)}},{key:"getPositionText",value:function(){var a=this.tempPosition;return this.position.getVoxelCoordinates(a)?Math.floor(a[0])+", "+Math.floor(a[1])+", "+Math.floor(a[2]):"<unspecified position>"}},{key:"updateView",value:function(){var a=this.tempPosition;if(this.position.getVoxelCoordinates(a)){var b=this.inputElement;a="  "+Math.floor(a[0])+",   "+Math.floor(a[1])+",   "+Math.floor(a[2]);
+var c=a.indexOf(","),d=a.indexOf(",",c+1)-c-4;c="x "+" ".repeat(c-2)+"  y "+" ".repeat(d)+"  z";d=b.selectionStart;var e=b.selectionEnd,g=b.selectionDirection;b.value=a;b.setSelectionRange(d,e,g);this.hintElement.value=c+" ".repeat(a.length-c.length);this.updateHintScrollPosition()}else this.inputElement.value="",this.hintElement.value=""}},{key:"disposed",value:function(){Object(e.b)(this.element);u(m.prototype.__proto__||Object.getPrototypeOf(m.prototype),"disposed",this).call(this)}}]);return m}(h.a),
+y=function(a){function c(a,d){q(this,c);var e=p(this,(c.__proto__||Object.getPrototypeOf(c)).call(this));e.element=a;e.voxelSize=d;e.dimensionsContainer=document.createElement("span");e.unitsElement=document.createElement("span");var g=e.dimensionsContainer,k=e.unitsElement;a.className="neuroglancer-voxel-size-widget";a.title="Voxel size";g.className="neuroglancer-voxel-size-dimensions-container";a.appendChild(g);a.appendChild(k);k.className="neuroglancer-voxel-size-units";e.registerDisposer(d.changed.add(e.registerCancellable(Object(b.a)(function(){return e.updateView()}))));
+e.updateView();return e}n(c,a);r(c,[{key:"updateView",value:function(){var a=this.dimensionsContainer,b=this.unitsElement;Object(e.a)(a);this.element.style.display=this.voxelSize.valid?null:"none";var c=this.voxelSize.size,d=Object(m.d)(Math.min(c[0],c[1],c[2]));b.textContent=d.unit;for(b=0;3>b;++b){for(var g=c[b]/d.lengthInNanometers,k="",l=0;2>=l&&(k=g.toFixed(l),parseFloat(k)!==g);++l);g=document.createElement("span");g.className="neuroglancer-voxel-size-dimension";g.textContent=k;a.appendChild(g)}}},
+{key:"disposed",value:function(){Object(e.b)(this.element);u(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"disposed",this).call(this)}}]);return c}(h.a),x=function(a){function c(a,d,e){q(this,c);var g=p(this,(c.__proto__||Object.getPrototypeOf(c)).call(this));g.element=a;g.mouseState=d;g.voxelSize=e;g.tempPosition=l.s.create();a.className="neuroglancer-mouse-position-widget";a=g.registerCancellable(Object(b.a)(function(){return g.updateView()}));g.registerDisposer(d.changed.add(a));g.registerDisposer(e.changed.add(a));
+return g}n(c,a);r(c,[{key:"updateView",value:function(){var a="",b=this.mouseState,c=this.voxelSize;b.active&&c.valid&&(a=this.tempPosition,c.voxelFromSpatial(a,b.position),a="x "+Math.floor(a[0])+",  y "+Math.floor(a[1])+",  z "+Math.floor(a[2]));this.element.textContent=a}},{key:"disposed",value:function(){Object(e.b)(this.element);u(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"disposed",this).call(this)}}]);return c}(h.a)},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
+return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function n(a){var b=a.viewer;return Object.assign({},Object(D.d)(b),{navigationState:b.perspectiveNavigationState,inputEventMap:b.inputEventBindings.perspectiveView,
+orthographicProjection:a.specification.orthographicProjection,showScaleBar:b.showScaleBar,rpc:b.chunkManager.rpc})}function c(a){return Object.assign({},Object(D.d)(a),{navigationState:a.navigationState,inputEventMap:a.inputEventBindings.sliceView})}function b(a,b,c){c=void 0===b?a.navigationState:new u.e(new u.g(a.navigationState.pose.position,u.f.makeRelative(a.navigationState.pose.orientation,b)),c||a.navigationState.zoomFactor);a=new w.a(a.chunkManager,a.layerManager,c);a[N]=b||z.n.create();return a}
+function d(a,c,d){return a.map(function(a){return b(c,a[N],d)})}function e(a,b){var c=a.onResize;a.onResize=function(){b.dedebounceUpdates?this.sliceView.setViewportSize(this.element.clientWidth,this.element.clientHeight):c.call(this)};return a}function g(a,b){Object(B.c)(a.element,"nehuba-rotate-via-mouse-drag",function(c){var d=a.viewer,e=a.sliceView,g=d.mouseState;if(g.updateUnconditionally()){var k=b.rotateAtViewCentre?void 0:z.s.clone(g.position);Object(F.a)(c.detail,function(a,b,c){a=e.viewportAxes;
+d.navigationState.pose.rotateAbsolute(a[1],b/4*Math.PI/180,k);d.navigationState.pose.rotateAbsolute(a[0],c/4*Math.PI/180,k)})}});return a}function l(a,b){var c=a.zoomByMouse;a.zoomByMouse=function(a){b.zoomAtViewCentre?this.navigationState.zoomBy(a):c.call(this,a)};return a}function k(a,b){var c=a.registerDisposer(new C.a),d=c.element;a.registerDisposer(new x.a(b,d));a.element.appendChild(d);var e=a.draw;a.draw=function(){e.call(this);var a=this.sliceView,b=c.dimensions;b.targetLengthInPixels=Math.min(a.width/
+4,100);b.nanometersPerPixel=a.pixelSize;c.update()};return a}function t(a){var b=a.draw;a.draw=function(){b.call(this);var c={missingImageChunks:m(this.sliceView,function(a){return a instanceof L.b}),missingChunks:m(this.sliceView),nanometersToOffsetPixels:function(b){b=z.s.transformMat4(z.s.create(),b,a.sliceView.dataToViewport);b[0]=b[0]+a.sliceView.width/2+a.element.clientLeft;b[1]=b[1]+a.sliceView.height/2+a.element.clientTop;return b}};c=new CustomEvent("sliceRenderEvent",{bubbles:!0,detail:c});
+this.element.dispatchEvent(c)}}function m(a,b){var c=a.visibleLayerList.filter(function(a){return b?b(a):!0});return 0===c.length?-1:c.map(function(b){return a.visibleLayers.get(b)}).reduce(function(a,b){return a.concat(b)},[]).filter(function(a){return a.source instanceof I.b}).map(function(a){return a}).map(function(b){var c=b.source.chunks;if(b=a.visibleChunks.get(b.chunkLayout))return b.map(function(a){return c.get(a)}).filter(function(a){return!(a&&a.state===O.d.GPU_MEMORY)}).length;console.log("visibleChunks are not defined");
+return 0}).reduce(function(a,b){return a+b},0)}a.d(f,"a",function(){return U});var r=a(183),u=a(57),v=a(117),w=a(44),y=a(78),x=a(35);h=a(1);var A=a(8),z=a(2),D=a(82),E=a(191),G=a(193),C=a(192),B=a(25),F=a(80),L=a(160),I=a(33),O=a(30),M=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),P=function H(a,b,c){null===
+a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return H(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};$jscomp.initSymbol();var N=Symbol("SliceQuat");$jscomp.initSymbol();var S=Symbol("config");f.b=S;f.c="layoutEvent";var U=function(a){function m(a,f,h,u){if(!(this instanceof m))throw new TypeError("Cannot call a class as a function");var p=q(this,(m.__proto__||Object.getPrototypeOf(m)).call(this));
+p.container=a;p.rootElement=f;p.viewer=h;u;var w=h.display.container[S];if(!w)throw Error("Are you trying to use nehuba classes directly? Use should use defined API instead");var D=w.layout||{};D.useNehubaPerspective&&!D.useNehubaPerspective.doNotRestrictUserNavigation&&Object(G.e)(h);var A=function(a){t(e(l(g(a,w),w),w));return a};D.views||(D.views="hbp-neuro");"hbp-neuro"===D.views&&(D.views={slice1:z.n.rotateX(z.n.create(),z.n.create(),-Math.PI/2),slice2:z.n.rotateY(z.n.create(),z.n.rotateX(z.n.create(),
+z.n.create(),-Math.PI/2),-Math.PI/2),slice3:z.n.rotateX(z.n.create(),z.n.create(),Math.PI)});u=D.views;var C=[u.slice1,u.slice2,u.slice3].map(function(a){return b(h,a)}),B,F=h.display,I=Object.assign({},n(a),{showSliceViews:h.showPerspectiveSliceViews,showSliceViewsCheckbox:!D.hideSliceViewsCheckbox,slicesNavigationState:h.navigationState}),L=Object.assign({},c(h),{showScaleBar:new x.b(!1,!1)}),M=Object.assign({},c(h),{showScaleBar:new x.b(!1,!1)});a=[r.b(1,r.a("column",[r.b(1,r.a("row",[r.b(1,function(a){p.registerDisposer(A(k(new y.a(F,
+a,C[0],L),h.showScaleBar)))}),r.b(1,function(a){p.registerDisposer(A(new y.a(F,a,C[1],M)))})])),r.b(1,r.a("row",[r.b(1,function(a){p.registerDisposer(A(new y.a(F,a,C[2],M)))}),r.b(1,function(a){if(D.useNehubaPerspective){var b=D.useNehubaPerspective;B=p.registerDisposer(new E.a(F,a,I,w));C.forEach(function(a){B.planarSlices.add(a.addRef())});if(b.fixedZoomPerspectiveSlices){var c=b.fixedZoomPerspectiveSlices;d(C,h,c.sliceZoom).forEach(function(a){var b=c.sliceViewportSizeMultiplier;a.setViewportSize(c.sliceViewportWidth*
+b,c.sliceViewportHeight*b);B.sliceViews.set(a,!1)})}else for(b=$jscomp.makeIterator(C),a=b.next();!a.done;a=b.next())B.sliceViews.set(a.value.addRef(),!1)}else for(B=p.registerDisposer(new v.b(F,a,I)),b=$jscomp.makeIterator(C),a=b.next();!a.done;a=b.next())B.sliceViews.set(a.value.addRef(),!1)})]))]))];r.a("row",a)(f);F.onResize();f=new CustomEvent("layoutEvent",{detail:{perspective:B&&B.element}});h.display.container.dispatchEvent(f);return p}p(m,a);M(m,[{key:"disposed",value:function(){Object(A.a)(this.rootElement);
+P(m.prototype.__proto__||Object.getPrototypeOf(m.prototype),"disposed",this).call(this)}}]);return m}(h.a);f.d="sliceRenderEvent"},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+
+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"b",function(){return k});a.d(f,"a",function(){return t});var c=a(7),b=a(14);h=a(112);var d=a(65),e=a(114),g=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&
+a(b.prototype,c);d&&a(b,d);return b}}(),l=function r(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return r(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},k=function(a){function b(){q(this,b);var a=p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments));a.hashMapShaderManager=new e.b("customColors");return a}n(b,a);g(b,[{key:"defineShader",value:function(a){var c=
+this.prefix;this.prefix=c+"_NG";l(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"defineShader",this).call(this,a);this.hashMapShaderManager.defineShader(a);a.addFragmentCode("\nvec3 "+c+"(uint64_t x) {\n  uint64_t mappedValue;\n  if ("+this.hashMapShaderManager.getFunctionName+"(x, mappedValue)) {\n    return mappedValue.low.rgb;\n  }\n  return "+this.prefix+"(x);\n}\n");this.prefix=c}},{key:"enable",value:function(a,c,d){var g=e.a.get(a,d.gpuColorMap);this.hashMapShaderManager.enable(a,
+c,g);l(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"enable",this).call(this,a,c,d)}}]);return b}(h.b),t=function(a){function e(a,b){q(this,e);a=p(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,a));a.gpuColorMap=new d.a;a.colorMap=new Map;a.changed.dispose();a.changed=b;return a}n(e,a);g(e,[{key:"setSegmentColor",value:function(a,c,d,e){var g=65536*e+256*d+c;this.colorMap.set(a,{red:c,green:d,blue:e,gpu:g});this.gpuColorMap.set(new b.a(a),new b.a(g))||this.repopulateGpuMap();
+this.changed.dispatch()}},{key:"unsetSegmentColor",value:function(a){this.colorMap.delete(a);this.repopulateGpuMap();this.changed.dispatch()}},{key:"batchUpdate",value:function(a){var b=this;a.forEach(function(a,c){var d=a.red,e=a.green;a=a.blue;b.colorMap.set(c,{red:d,green:e,blue:a,gpu:65536*a+256*e+d})});this.repopulateGpuMap();this.changed.dispatch()}},{key:"clearCustomSegmentColors",value:function(){this.colorMap.clear();this.gpuColorMap.clear();this.changed.dispatch()}},{key:"repopulateGpuMap",
+value:function(){var a=this.colorMap,c=this.gpuColorMap;c.clear();a.forEach(function(a,d){c.set(new b.a(d),new b.a(a.gpu))})}},{key:"compute",value:function(a,b){var c=this.colorMap.get(b.low);if(c){b=c.green;var d=c.blue;a[0]=c.red/255;a[1]=b/255;a[2]=d/255;return a}return l(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"compute",this).call(this,a,b)}},{key:"toString",value:function(){return"new NehubaSegmentColorHash(["+this.hashFunctions+"])"}}],[{key:"from",value:function(a){var b=
+new e(a.hashFunctions,a.changed);a.changed=new c.a;return b}},{key:"getDefault",value:function(){throw Error("NehubaSegmentColorHash is supposed to be created by `from` static method");}}]);return e}(h.a)},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==
+typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a){if(!a.showSliceViewsCheckboxValue)return w;var b=a&&a.config.layout.useNehubaPerspective.centerToOrigin,c=a&&a.config.layout.useNehubaPerspective.mesh,d=c&&c.backFaceColor||a&&a.config&&a.config.layout&&
+a.config.layout.useNehubaPerspective&&a.config.layout.useNehubaPerspective.perspectiveSlicesBackground||a&&a.crossSectionBackground,g=e.k.create(),k=c&&c.removeOctant||e.u.fromValues(0,0,0,0);if(a&&c){var l=a.slicesPose;c.removeBasedOnNavigation&&(l.toMat4(g),e.k.invert(g,g));c.flipRemovedOctant&&(k=e.u.fromValues(0,0,-(b?a.perspectiveNavigationState.zoomFactor.value:1),1),a=a.perspectiveNavigationState.pose,b=b?l.position.spatialCoordinates:e.s.fromValues(0,0,0),a=a.orientation.orientation,l=e.n.invert(e.n.create(),
+l.orientation.orientation),l=e.n.multiply(e.n.create(),l,a),l=e.k.fromQuat(e.k.create(),l),e.u.transformMat4(k,k,l),k[0]=k[0]<b[0]/100?-1:1,k[1]=k[1]<b[1]/100?-1:1,k[2]=k[2]<b[2]/100?-1:1)}return{navState:g,octant:k,backFaceColor:e.u.fromValues(d[0],d[1],d[2],1)}}a.d(f,"a",function(){return v});f.c=c;a.d(f,"b",function(){return y});var b=a(30),d=a(63),e=a(2),g=a(22),l=a(24),k=a(14),t=a(65);h=a(15);a=a(54);var m=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||
+!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),r=function A(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return A(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},u=function(a){function b(){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}
+n(b,a);m(b,[{key:"defineShader",value:function(a){r(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"defineShader",this).call(this,a);a.addVarying("highp vec4","vNavPos");a.addUniform("highp mat4","uNavState");a.addUniform("highp vec4","uOctant");a.addUniform("highp vec4","uBackFaceColor");a.setVertexMain("\nvec4 position = uModelMatrix * vec4(aVertexPosition, 1.0);\nvNavPos = uNavState * position * uOctant;\ngl_Position = uProjection * position;\nvec3 normal = (uModelMatrix * vec4(aVertexNormal, 0.0)).xyz;\nfloat lightingFactor = abs(dot(normal, uLightDirection.xyz)) + uLightDirection.w;\nvColor = vec4(lightingFactor * uColor.rgb, uColor.a);\n\t\t");
 a.setFragmentMain("\nif (vNavPos.x > 0.0 && vNavPos.y > 0.0 && vNavPos.z > 0.0) {\n  discard;\n} else {\n  if (gl_FrontFacing) emit(vColor, uPickID);\n  else emit(uBackFaceColor, uPickID);\n}\n\t\t")}},{key:"setValuesForClipping",value:function(a,b,c){this.setNavState(a,b,c.navState);this.setOctant(a,b,c.octant);this.setBackFaceColor(a,b,c.backFaceColor)}},{key:"setNavState",value:function(a,b,c){a.uniformMatrix4fv(b.uniform("uNavState"),!1,c)}},{key:"setOctant",value:function(a,b,c){a.uniform4fv(b.uniform("uOctant"),
-c)}},{key:"setBackFaceColor",value:function(a,b,c){a.uniform4fv(b.uniform("uBackFaceColor"),c)}},{key:"getShader",value:function(a,b){var c=this;return a.memoize.get("mesh/NehubaMeshShaderManager:"+Object(h.a)(b),function(){var d=new q.a(a);d.require(b);c.defineShader(d);return d.build()})}}]);return b}(a.b),A=function(a){function f(a,b,c){p(this,f);a=n(this,(f.__proto__||Object.getPrototypeOf(f)).call(this,a,b,c));a.meshShaderManager=new u;return a}m(f,a);r(f,[{key:"draw",value:function(a){var f=
-this;if(a.emitColor||!a.alreadyEmittedPickID){var h=this.gl,l=this.displayState,e=this.meshShaderManager,k=Math.min(1,l.objectAlpha.value);if(!(0>=k)){var q=this.getShader(a.emitter);q.bind();e.beginLayer(h,q,a);a.extra||console.error("Bad configuration. Nehuba mesh layer is used by neuroglancer code.");var g=c(a.extra);e.setValuesForClipping(h,q,g);var r=a.extra&&a.extra.config.layout.useNehubaPerspective.mesh,u=r&&r.surfaceParcellation;r=this.source.fragmentSource.objectChunks;var t=a.pickIDs,m=
-this.displayState.objectToDataTransform.transform,n=l.visibleSegments;var A=n instanceof z?u||a.extra.showSliceViewsCheckboxValue?n.getLoadedMeshes():0===n.size?n.getLoadedMeshes():n:n;var p=new Proxy(l,{get:function(a,b){if("visibleSegments"===b)return A;b=a[b];return"function"===typeof b?b.bind(a):b}}),E=0;Object(d.d)(p,r,function(c,r,A){a.emitColor&&e.setColor(h,q,Object(d.e)(l,c,k));a.emitPickID&&e.setPickID(h,q,t.registerUint64(f,r));a.extra.showSliceViewsCheckboxValue&&n instanceof z&&!u&&(n.has(c)?
-e.setValuesForClipping(h,q,y):e.setValuesForClipping(h,q,g));e.beginObject(h,q,m);c=$jscomp.makeIterator(A);for(r=c.next();!r.done;r=c.next())r=r.value,r.state===b.d.GPU_MEMORY&&(e.drawFragment(h,q,r),E++)});e.endLayer(h,q);a.extra.meshRendered=0<r.size;-1===a.extra.meshesLoaded&&(a.extra.meshesLoaded=0);a.extra.meshesLoaded+=r.size;-1===a.extra.meshFragmentsLoaded&&(a.extra.meshFragmentsLoaded=0);a.extra.meshFragmentsLoaded+=E;r=Array.from(r.keys());a.extra.lastMeshId=r[r.length-1]}}}}]);return f}(a.a),
-y={navState:f.j.create(),octant:f.r.fromValues(0,0,0,0),backFaceColor:f.r.fromValues(.5,.5,.5,1)},z=function(a){function b(a){p(this,b);var c=n(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.localHashTable=new t.b;c.wrapped=a;a=$jscomp.makeIterator(c.wrapped.hashTable);for(var d=a.next();!d.done;d=a.next())c.localHashTable.add(d.value);return c}m(b,a);$jscomp.initSymbol();$jscomp.initSymbolIterator();r(b,[{key:"setMeshesToLoad",value:function(a){var b=this;this.wrapped.clear();a.forEach(function(a){a=
+c)}},{key:"setBackFaceColor",value:function(a,b,c){a.uniform4fv(b.uniform("uBackFaceColor"),c)}},{key:"getShader",value:function(a,b){var c=this;return a.memoize.get("mesh/NehubaMeshShaderManager:"+Object(g.a)(b),function(){var d=new l.a(a);d.require(b);c.defineShader(d);return d.build()})}}]);return b}(a.b),v=function(a){function e(a,b,c){q(this,e);a=p(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,a,b,c));a.meshShaderManager=new u;return a}n(e,a);m(e,[{key:"draw",value:function(a){var e=
+this;if(a.emitColor||!a.alreadyEmittedPickID){var g=this.gl,k=this.displayState,l=this.meshShaderManager,m=Math.min(1,k.objectAlpha.value);if(!(0>=m)){var r=this.getShader(a.emitter);r.bind();l.beginLayer(g,r,a);a.extra||console.error("Bad configuration. Nehuba mesh layer is used by neuroglancer code.");var f=c(a.extra);l.setValuesForClipping(g,r,f);var t=a.extra&&a.extra.config.layout.useNehubaPerspective.mesh,h=t&&t.surfaceParcellation;t=this.source.fragmentSource.objectChunks;var u=a.pickIDs,v=
+this.displayState.objectToDataTransform.transform,n=k.visibleSegments;var p=n instanceof y?h||a.extra.showSliceViewsCheckboxValue?n.getLoadedMeshes():0===n.size?n.getLoadedMeshes():n:n;var q=new Proxy(k,{get:function(a,b){if("visibleSegments"===b)return p;b=a[b];return"function"===typeof b?b.bind(a):b}}),z=0;Object(d.d)(q,t,function(c,t,p){a.emitColor&&l.setColor(g,r,Object(d.e)(k,c,m));a.emitPickID&&l.setPickID(g,r,u.registerUint64(e,t));a.extra.showSliceViewsCheckboxValue&&n instanceof y&&!h&&(n.has(c)?
+l.setValuesForClipping(g,r,w):l.setValuesForClipping(g,r,f));l.beginObject(g,r,v);c=$jscomp.makeIterator(p);for(t=c.next();!t.done;t=c.next())t=t.value,t.state===b.d.GPU_MEMORY&&(l.drawFragment(g,r,t),z++)});l.endLayer(g,r);a.extra.meshRendered=0<t.size;-1===a.extra.meshesLoaded&&(a.extra.meshesLoaded=0);a.extra.meshesLoaded+=t.size;-1===a.extra.meshFragmentsLoaded&&(a.extra.meshFragmentsLoaded=0);a.extra.meshFragmentsLoaded+=z;t=Array.from(t.keys());a.extra.lastMeshId=t[t.length-1]}}}}]);return e}(a.a),
+w={navState:e.k.create(),octant:e.u.fromValues(0,0,0,0),backFaceColor:e.u.fromValues(.5,.5,.5,1)},y=function(a){function b(a){q(this,b);var c=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.localHashTable=new t.b;c.wrapped=a;a=$jscomp.makeIterator(c.wrapped.hashTable);for(var d=a.next();!d.done;d=a.next())c.localHashTable.add(d.value);return c}n(b,a);$jscomp.initSymbol();$jscomp.initSymbolIterator();m(b,[{key:"setMeshesToLoad",value:function(a){var b=this;this.wrapped.clear();a.forEach(function(a){a=
 new k.a(a);b.wrapped.add(a);b.wrapped.changed.dispatch(a,!1)})}},{key:"getLoadedMeshes",value:function(){return this.wrapped}},{key:"add_",value:function(a){a;throw Error("Unexpected member access of VisibleSegmentsWrapper");}},{key:"add",value:function(a){this.localHashTable.add(a)&&this.changed.dispatch(a,!0)}},{key:"has",value:function(a){return this.localHashTable.has(a)}},{key:Symbol.iterator,value:function(){return this.localHashTable.keys()}},{key:"delete_",value:function(a){a;throw Error("Unexpected member access of VisibleSegmentsWrapper");
 }},{key:"delete",value:function(a){this.localHashTable.delete(a)&&this.changed.dispatch(a,!1)}},{key:"clear",value:function(){this.localHashTable.clear()&&this.changed.dispatch(null,!1)}},{key:"toJSON",value:function(){for(var a=[],b=$jscomp.makeIterator(this),c=b.next();!c.done;c=b.next())a.push(c.value.toString());return a}},{key:"initializeSharedObject",value:function(a,b){b=void 0===b?a.newId():b;b;throw Error("Unexpected member access of VisibleSegmentsWrapper");}},{key:"initializeCounterpart",
 value:function(a,b){b=void 0===b?{}:b;a;b;throw Error("Unexpected member access of VisibleSegmentsWrapper");}},{key:"addCounterpartRef",value:function(){throw Error("Unexpected member access of VisibleSegmentsWrapper");}},{key:"ownerDispose",value:function(){throw Error("Unexpected member access of VisibleSegmentsWrapper");}},{key:"counterpartRefCountReachedZero",value:function(a){a;throw Error("Unexpected member access of VisibleSegmentsWrapper");}},{key:"addRef",value:function(){throw Error("Unexpected member access of VisibleSegmentsWrapper");
 }},{key:"dispose",value:function(){throw Error("Unexpected member access of VisibleSegmentsWrapper");}},{key:"refCountReachedZero",value:function(){throw Error("Unexpected member access of VisibleSegmentsWrapper");}},{key:"disposed",value:function(){throw Error("Unexpected member access of VisibleSegmentsWrapper");}},{key:"registerDisposer",value:function(a){a;throw Error("Unexpected member access of VisibleSegmentsWrapper");}},{key:"unregisterDisposer",value:function(a){a;throw Error("Unexpected member access of VisibleSegmentsWrapper");
 }},{key:"registerEventListener",value:function(a,b,c,d){a;b;c;d;throw Error("Unexpected member access of VisibleSegmentsWrapper");}},{key:"registerCancellable",value:function(a){a;throw Error("Unexpected member access of VisibleSegmentsWrapper");}},{key:"hashTable",get:function(){return this.localHashTable}},{key:"changed",get:function(){return this.wrapped.changed}},{key:"size",get:function(){return this.localHashTable.size}},{key:"rpcId",get:function(){return this.wrapped.rpcId},set:function(a){a}},
 {key:"rpc",get:function(){throw Error("Unexpected member access of VisibleSegmentsWrapper");},set:function(a){a}},{key:"isOwner",get:function(){throw Error("Unexpected member access of VisibleSegmentsWrapper");}},{key:"unreferencedGeneration",get:function(){throw Error("Unexpected member access of VisibleSegmentsWrapper");}},{key:"referencedGeneration",get:function(){throw Error("Unexpected member access of VisibleSegmentsWrapper");}},{key:"RPC_TYPE_ID",get:function(){throw Error("Unexpected member access of VisibleSegmentsWrapper");
-}},{key:"refCount",set:function(a){a},get:function(){throw Error("Unexpected member access of VisibleSegmentsWrapper");}},{key:"wasDisposed",get:function(){throw Error("Unexpected member access of VisibleSegmentsWrapper");}}]);return b}(g.b)},function(g,e,a){var p=this&&this.__extends||function(a,e){function c(){this.constructor=a}for(var b in e)e.hasOwnProperty(b)&&(a[b]=e[b]);a.prototype=null===e?Object.create(e):(c.prototype=e.prototype,new c)};g=function(a){function e(c,b){a.call(this);this.value=
-c;this.scheduler=b;this._isScalar=!0;b&&(this._isScalar=!1)}p(e,a);e.create=function(a,b){return new e(a,b)};e.dispatch=function(a){var b=a.value,c=a.subscriber;a.done?c.complete():(c.next(b),c.closed||(a.done=!0,this.schedule(a)))};e.prototype._subscribe=function(a){var b=this.value,c=this.scheduler;if(c)return c.schedule(e.dispatch,0,{done:!1,value:b,subscriber:a});a.next(b);a.closed||a.complete()};return e}(a(0).Observable);e.ScalarObservable=g},function(g,e,a){var p=this&&this.__extends||function(a,
-b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},n=a(34),m=a(32);g=a(4);var c=a(5),b={};e.combineLatest=function(){for(var a=[],b=0;b<arguments.length;b++)a[b-0]=arguments[b];b=null;"function"===typeof a[a.length-1]&&(b=a.pop());1===a.length&&m.isArray(a[0])&&(a=a[0].slice());a.unshift(this);return this.lift.call(new n.ArrayObservable(a),new d(b))};var d=function(){function a(a){this.project=a}
-a.prototype.call=function(a,b){return b.subscribe(new f(a,this.project))};return a}();e.CombineLatestOperator=d;var f=function(a){function d(b,c){a.call(this,b);this.project=c;this.active=0;this.values=[];this.observables=[]}p(d,a);d.prototype._next=function(a){this.values.push(b);this.observables.push(a)};d.prototype._complete=function(){var a=this.observables,b=a.length;if(0===b)this.destination.complete();else{this.toRespond=this.active=b;for(var d=0;d<b;d++){var f=a[d];this.add(c.subscribeToResult(this,
-f,f,d))}}};d.prototype.notifyComplete=function(a){0===--this.active&&this.destination.complete()};d.prototype.notifyNext=function(a,c,d,f,h){a=this.values;f=a[d];f=this.toRespond?f===b?--this.toRespond:this.toRespond:0;a[d]=c;0===f&&(this.project?this._tryProject(a):this.destination.next(a.slice()))};d.prototype._tryProject=function(a){try{var b=this.project.apply(this,a)}catch(r){this.destination.error(r);return}this.destination.next(b)};return d}(g.OuterSubscriber);e.CombineLatestSubscriber=f},
-function(g,e,a){function p(){for(var a=[],f=0;f<arguments.length;f++)a[f-0]=arguments[f];f=null;m.isScheduler(a[a.length-1])&&(f=a.pop());return null===f&&1===a.length&&a[0]instanceof n.Observable?a[0]:(new c.ArrayObservable(a,f)).lift(new b.MergeAllOperator(1))}var n=a(0),m=a(33),c=a(34),b=a(78);e.concat=function(){for(var a=[],b=0;b<arguments.length;b++)a[b-0]=arguments[b];return this.lift.call(p.apply(void 0,[this].concat(a)))};e.concatStatic=p},function(g,e,a){var p=this&&this.__extends||function(a,
-b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};g=a(2);var n=a(57);e.observeOn=function(a,b){void 0===b&&(b=0);return this.lift(new m(a,b))};var m=function(){function a(a,b){void 0===b&&(b=0);this.scheduler=a;this.delay=b}a.prototype.call=function(a,b){return b.subscribe(new c(a,this.scheduler,this.delay))};return a}();e.ObserveOnOperator=m;var c=function(a){function c(b,c,d){void 0===d&&(d=0);
-a.call(this,b);this.scheduler=c;this.delay=d}p(c,a);c.dispatch=function(a){a.notification.observe(a.destination);this.unsubscribe()};c.prototype.scheduleMessage=function(a){this.add(this.scheduler.schedule(c.dispatch,this.delay,new b(a,this.destination)))};c.prototype._next=function(a){this.scheduleMessage(n.Notification.createNext(a))};c.prototype._error=function(a){this.scheduleMessage(n.Notification.createError(a))};c.prototype._complete=function(){this.scheduleMessage(n.Notification.createComplete())};
-return c}(g.Subscriber);e.ObserveOnSubscriber=c;var b=function(){return function(a,b){this.notification=a;this.destination=b}}();e.ObserveOnMessage=b},function(g,e,a){function p(){for(var a=[],b=0;b<arguments.length;b++)a[b-0]=arguments[b];b=a[a.length-1];"function"===typeof b&&a.pop();return(new m.ArrayObservable(a)).lift(new h(b))}var n=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=
-b.prototype,new c)},m=a(34),c=a(32);g=a(2);var b=a(4),d=a(5),f=a(56);e.zipProto=function(){for(var a=[],b=0;b<arguments.length;b++)a[b-0]=arguments[b];return this.lift.call(p.apply(void 0,[this].concat(a)))};e.zipStatic=p;var h=function(){function a(a){this.project=a}a.prototype.call=function(a,b){return b.subscribe(new q(a,this.project))};return a}();e.ZipOperator=h;var q=function(a){function b(b,c,d){void 0===d&&(d=Object.create(null));a.call(this,b);this.iterators=[];this.active=0;this.project=
-"function"===typeof c?c:null;this.values=d}n(b,a);b.prototype._next=function(a){var b=this.iterators;c.isArray(a)?b.push(new t(a)):"function"===typeof a[f.iterator]?b.push(new k(a[f.iterator]())):b.push(new r(this.destination,this,a))};b.prototype._complete=function(){var a=this.iterators,b=a.length;if(0===b)this.destination.complete();else{this.active=b;for(var c=0;c<b;c++){var d=a[c];d.stillUnsubscribed?this.add(d.subscribe(d,c)):this.active--}}};b.prototype.notifyInactive=function(){this.active--;
-0===this.active&&this.destination.complete()};b.prototype.checkIterators=function(){for(var a,b=this.iterators,c=b.length,d=this.destination,f=0;f<c;f++)if(a=b[f],"function"===typeof a.hasValue&&!a.hasValue())return;var h=!1,l=[];for(f=0;f<c;f++){a=b[f];var e=a.next();a.hasCompleted()&&(h=!0);if(e.done){d.complete();return}l.push(e.value)}this.project?this._tryProject(l):d.next(l);h&&d.complete()};b.prototype._tryProject=function(a){try{var b=this.project.apply(this,a)}catch(z){this.destination.error(z);
-return}this.destination.next(b)};return b}(g.Subscriber);e.ZipSubscriber=q;var k=function(){function a(a){this.iterator=a;this.nextResult=a.next()}a.prototype.hasValue=function(){return!0};a.prototype.next=function(){var a=this.nextResult;this.nextResult=this.iterator.next();return a};a.prototype.hasCompleted=function(){var a=this.nextResult;return a&&a.done};return a}(),t=function(){function a(a){this.array=a;this.length=this.index=0;this.length=a.length}a.prototype[f.iterator]=function(){return this};
-a.prototype.next=function(a){a=this.index++;var b=this.array;return a<this.length?{value:b[a],done:!1}:{value:null,done:!0}};a.prototype.hasValue=function(){return this.array.length>this.index};a.prototype.hasCompleted=function(){return this.array.length===this.index};return a}(),r=function(a){function b(b,c,d){a.call(this,b);this.parent=c;this.observable=d;this.stillUnsubscribed=!0;this.buffer=[];this.isComplete=!1}n(b,a);b.prototype[f.iterator]=function(){return this};b.prototype.next=function(){var a=
-this.buffer;return 0===a.length&&this.isComplete?{value:null,done:!0}:{value:a.shift(),done:!1}};b.prototype.hasValue=function(){return 0<this.buffer.length};b.prototype.hasCompleted=function(){return 0===this.buffer.length&&this.isComplete};b.prototype.notifyComplete=function(){0<this.buffer.length?(this.isComplete=!0,this.parent.notifyInactive()):this.destination.complete()};b.prototype.notifyNext=function(a,b,c,d,f){this.buffer.push(b);this.parent.checkIterators()};b.prototype.subscribe=function(a,
-b){return d.subscribeToResult(this,this.observable,this,b)};return b}(b.OuterSubscriber)},function(g,e,a){var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var f in b)b.hasOwnProperty(f)&&(a[f]=b[f]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};g=a(2);e.map=function(a,b){if("function"!==typeof a)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return this.lift(new n(a,b))};var n=function(){function a(a,c){this.project=
-a;this.thisArg=c}a.prototype.call=function(a,c){return c.subscribe(new m(a,this.project,this.thisArg))};return a}();e.MapOperator=n;var m=function(a){function b(b,c,h){a.call(this,b);this.project=c;this.count=0;this.thisArg=h||this}p(b,a);b.prototype._next=function(a){try{var b=this.project.call(this.thisArg,a,this.count++)}catch(h){this.destination.error(h);return}this.destination.next(b)};return b}(g.Subscriber)},function(g,e,a){var p=this&&this.__extends||function(a,b){function c(){this.constructor=
-a}for(var f in b)b.hasOwnProperty(f)&&(a[f]=b[f]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};g=a(2);e.reduce=function(a,b){var c=!1;2<=arguments.length&&(c=!0);return this.lift(new n(a,b,c))};var n=function(){function a(a,c,f){void 0===f&&(f=!1);this.accumulator=a;this.seed=c;this.hasSeed=f}a.prototype.call=function(a,c){return c.subscribe(new m(a,this.accumulator,this.seed,this.hasSeed))};return a}();e.ReduceOperator=n;var m=function(a){function b(b,c,h,e){a.call(this,
-b);this.accumulator=c;this.hasSeed=e;this.index=0;this.hasValue=!1;this.acc=h;this.hasSeed||this.index++}p(b,a);b.prototype._next=function(a){this.hasValue||(this.hasValue=this.hasSeed)?this._tryReduce(a):(this.acc=a,this.hasValue=!0)};b.prototype._tryReduce=function(a){try{var b=this.accumulator(this.acc,a,this.index++)}catch(h){this.destination.error(h);return}this.acc=b};b.prototype._complete=function(){(this.hasValue||this.hasSeed)&&this.destination.next(this.acc);this.destination.complete()};
-return b}(g.Subscriber);e.ReduceSubscriber=m},function(g,e,a){function p(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function n(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function m(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,
-{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a){var b=a.match(/^([^:?]+:[^:?]+:[^:?]+)(?::([^:?]+))?(?:\?(.*))?$/);if(null===b)throw Error("Invalid Brain Maps volume key: "+JSON.stringify(a)+".");var c;void 0!==b[2]&&(c={changeStackId:b[2]});a=Object(x.e)(b[3]||"");return{volumeId:b[1],changeSpec:c,parameters:a}}function b(a){try{return Object(x.u)(a),{id:Object(x.w)(a,"id",x.B),label:Object(x.w)(a,
-"label",x.B),description:Object(x.w)(a,"description",x.z)}}catch(L){throw Error("Failed to parse project: "+L.message);}}function d(a){try{return Object(x.u)(a),Object(x.w)(a,"project",function(a){return void 0===a?[]:Object(x.a)(a,b)})}catch(L){throw Error("Error parsing project list: "+L.message);}}function f(a){return Object(x.w)(a,"changeStackId",function(a){return void 0===a?void 0:Object(x.a)(a,x.B)})}Object.defineProperty(e,"__esModule",{value:!0});a.d(e,"BrainmapsSkeletonSource",function(){return C});
-a.d(e,"VolumeInfo",function(){return H});a.d(e,"MeshInfo",function(){return D});a.d(e,"MultiscaleVolumeChunkSource",function(){return O});e.parseVolumeKey=c;a.d(e,"VolumeList",function(){return Q});e.parseChangeStackList=f;a.d(e,"BrainmapsDataSource",function(){return T});g=a(23);var h=a(205),q=a(39),k=a(85),t=a(209),r=a(61),l=a(125),u=a(19),A=a(28),y=a(40),z=a(46),B=a(3),x=a(6),v=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in
-d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),E=function(a){function b(){p(this,b);return n(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}m(b,a);return b}(Object(g.f)(Object(h.a)()(A.b),t.d)),F=function(a){function b(){p(this,b);return n(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}m(b,a);return b}(Object(g.f)(Object(h.a)()(r.c),t.a)),C=function(a){function b(){p(this,b);return n(this,
-(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}m(b,a);v(b,[{key:"skeletonVertexCoordinatesInVoxels",get:function(){return!1}}]);return b}(Object(g.f)(Object(h.a)()(l.d),t.b)),G=new Map;G.set("UINT8",u.a.UINT8);G.set("FLOAT",u.a.FLOAT32);G.set("UINT64",u.a.UINT64);var H=function L(a){p(this,L);try{Object(x.u)(a),this.numChannels=Object(x.A)(a.channelCount),this.dataType=Object(x.t)(a.channelType,G),this.voxelSize=Object(x.f)(B.p.create(),a.pixelSize,x.p),this.upperVoxelBound=Object(x.f)(B.p.create(),
-a.volumeSize,x.A)}catch(Y){throw Error("Failed to parse BrainMaps volume geometry: "+Y.message);}},D=function P(a){p(this,P);Object(x.u)(a);this.name=Object(x.w)(a,"name",x.B);this.type=Object(x.w)(a,"type",x.B)},O=function(){function a(b,c,d,f,h,l,e,k){p(this,a);this.chunkManager=b;this.instance=c;this.credentialsProvider=d;this.volumeId=f;this.changeSpec=h;this.encoding=k.encoding;try{Object(x.u)(l);var q=this.scales=Object(x.w)(l,"geometry",function(a){return Object(x.a)(a,function(a){return new H(a)})});
-if(0===q.length)throw Error("Expected at least one scale.");var g=q[0],r=this.numChannels=g.numChannels,t=this.dataType=g.dataType;b=1;for(var m=q.length;b<m;++b){var n=q[b];if(n.dataType!==t)throw Error("Scale "+b+" has data type "+u.a[n.dataType]+" "+("but scale 0 has data type "+u.a[t]+"."));if(n.numChannels!==r)throw Error("Scale "+b+" has "+n.numChannels+" channel(s) "+("but scale 0 has "+r+" channels."));}if(1===r)switch(t){case u.a.UINT64:var A=u.d.SEGMENTATION}void 0===A&&(A=void 0!==k.volumeType?
-k.volumeType:u.d.IMAGE);this.volumeType=A}catch(lb){throw Error("Failed to parse BrainMaps multiscale volume specification: "+lb.message);}try{Object(x.u)(e),this.meshes=Object(x.w)(e,"meshes",function(a){return void 0===a?[]:Object(x.a)(a,function(a){return new D(a)})})}catch(lb){throw Error("Failed to parse BrainMaps meshes specification: "+lb.message);}}v(a,[{key:"getSources",value:function(a){var b=this,c=t.c.RAW;this.dataType===u.a.UINT64?c=t.c.COMPRESSED_SEGMENTATION:this.volumeType===u.d.IMAGE&&
-this.dataType===u.a.UINT8&&1===this.numChannels&&this.encoding!==t.c.RAW&&(c=t.c.JPEG);return this.scales.map(function(d,f){return u.c.getDefaults({voxelSize:d.voxelSize,dataType:d.dataType,numChannels:d.numChannels,upperVoxelBound:d.upperVoxelBound,volumeType:b.volumeType,volumeSourceOptions:a}).map(function(a){return b.chunkManager.getChunkSource(E,{credentialsProvider:b.credentialsProvider,spec:a,parameters:{instance:b.instance,volumeId:b.volumeId,changeSpec:b.changeSpec,scaleIndex:f,encoding:c}})})})}},
-{key:"getMeshSource",value:function(){var a=this.meshes.find(function(a){return"TRIANGLES"===a.type});return void 0===a?null:this.chunkManager.getChunkSource(F,{credentialsProvider:this.credentialsProvider,parameters:{instance:this.instance,volumeId:this.volumeId,meshName:a.name,changeSpec:this.changeSpec}})}}]);return a}(),J=/^([^\/]+)\/(.*)$/,Q=function Y(a,b){p(this,Y);this.projects=new Map;this.hierarchicalVolumeIds=new Map;var c=this.projects;a=$jscomp.makeIterator(d(a));for(var f=a.next();!f.done;f=
-a.next())f=f.value,c.set(f.id,f);try{Object(x.u)(b);var h=this.volumeIds=Object(x.w)(b,"volumeId",function(a){return void 0===a?[]:Object(x.a)(a,x.B)});h.sort();for(var l=new Map,e=$jscomp.makeIterator(h),k=e.next();!k.done;k=e.next()){var q=k.value;for(b=0;;){var g=q.indexOf(":",b);-1===g?g=void 0:++g;var r=q.substring(0,b),t=l.get(r);void 0===t&&(t=new Set,l.set(r,t));t.add(q.substring(b,g));if(void 0===g)break;b=g}}for(var u=this.hierarchicalVolumeIds,m=$jscomp.makeIterator(l),n=m.next();!n.done;n=
-m.next()){var A=$jscomp.makeIterator(n.value),y=A.next().value,B=A.next().value;u.set(y,Array.from(B))}}catch(sc){throw Error("Failed to parse Brain Maps volume list reply: "+sc.message);}},T=function(a){function b(a,c){p(this,b);var d=n(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));d.instance=a;d.credentialsProvider=c;return d}m(b,a);v(b,[{key:"getMeshSource",value:function(a,b){return a.getChunkSource(F,{credentialsProvider:this.credentialsProvider,parameters:this.getMeshSourceParameters(b)})}},
-{key:"getMeshSourceParameters",value:function(a){var b=a.match(J);if(null===b)throw Error("Invalid Brainmaps mesh URL: "+a);a=c(b[1]);return{instance:this.instance,volumeId:a.volumeId,changeSpec:a.changeSpec,meshName:b[2]}}},{key:"getSkeletonSource",value:function(a,b){return a.getChunkSource(C,{credentialsProvider:this.credentialsProvider,parameters:this.getMeshSourceParameters(b)})}},{key:"getVolume",value:function(a,b,d){var f=this;b=c(b);var h=b.volumeId,l=b.changeSpec,e=b.parameters;Object(x.u)(e);
-b=Object(x.w)(e,"encoding",function(a){return void 0===a?void 0:Object(x.n)(e.encoding,t.c)});var q=Object.assign({},d,{encoding:b});return a.memoize.getUncounted({type:"brainmaps:getVolume",instance:this.instance,volumeId:h,changeSpec:l,brainmapsOptions:q},function(){return Promise.all([Object(k.b)(f.instance,f.credentialsProvider,{method:"GET",path:"/v1beta2/volumes/"+h,responseType:"json"}),Object(k.b)(f.instance,f.credentialsProvider,{method:"GET",path:"/v1beta2/objects/"+h+"/meshes",responseType:"json"})]).then(function(b){var c=
-$jscomp.makeIterator(b);b=c.next().value;c=c.next().value;return new O(a,f.instance,f.credentialsProvider,h,l,b,c,q)})})}},{key:"getVolumeList",value:function(a){var b=this;return a.memoize.getUncounted({instance:this.instance,type:"brainmaps:getVolumeList"},function(){var a=Promise.all([Object(k.b)(b.instance,b.credentialsProvider,{method:"GET",path:"/v1beta2/projects",responseType:"json"}),Object(k.b)(b.instance,b.credentialsProvider,{method:"GET",path:"/v1beta2/volumes",responseType:"json"})]).then(function(a){var b=
-$jscomp.makeIterator(a);a=b.next().value;b=b.next().value;return new Q(a,b)}),c=b.instance.description+" volume list";y.a.forPromise(a,{delay:!0,initialMessage:"Retrieving "+c+".",errorPrefix:"Error retrieving "+c+": "});return a})}},{key:"getChangeStackList",value:function(a,b){var c=this;return a.memoize.getUncounted({instance:this.instance,type:"brainmaps:getChangeStackList",volumeId:b},function(){var a=Object(k.b)(c.instance,c.credentialsProvider,{method:"GET",path:"/v1beta2/changes/"+b+"/change_stacks",
-responseType:"json"}).then(function(a){return f(a)}),d="change stacks for "+b;y.a.forPromise(a,{delay:!0,initialMessage:"Retrieving "+d+".",errorPrefix:"Error retrieving "+d+": "});return a})}},{key:"volumeCompleter",value:function(a,b){var c=this;return this.getVolumeList(b).then(function(d){var f=a.match(/^([^:]+:[^:]+:[^:]+):(.*)$/);if(null!==f){var h=f[1],l=f[2];return c.getChangeStackList(b,h).then(function(a){if(void 0===a)throw null;return{offset:h.length+1,completions:Object(z.b)(l,a)}})}var e=
-a.lastIndexOf(":")+1;f=a.substring(0,e);e=a.substring(e);var k=d.hierarchicalVolumeIds.get(f);if(void 0===k)throw null;return f?{offset:f.length,completions:Object(z.b)(e,k)}:{offset:0,completions:Object(z.c)(e,k,function(a){return a},function(a){return(a=d.projects.get(a.substring(0,a.length-1)))&&a.label})}})}},{key:"description",get:function(){return this.instance.description}}]);return b}(q.a);e.productionInstance={description:"Google Brain Maps",serverUrls:["https://brainmaps.googleapis.com"]}},
-function(g,e,a){a(29);a(200);a(201);var p=a(120),n=a(202),m=a(203);a(204);var c=a(121),b=a(122);a.d(e,"a",function(){return p});a.d(e,"b",function(){return n});a.d(e,"c",function(){return m});a.d(e,"d",function(){return c});a.d(e,"e",function(){return b})},function(g,e,a){function p(a,b,d){var c=b[0],h=b[1],e=b[2],k=b[3],g=b[4],r=b[5],l=b[6],u=b[7];b=b[8];var m=d[0],n=d[1],p=d[2],B=d[3],x=d[4],v=d[5],E=d[6],F=d[7];d=d[8];a[0]=m*c+n*k+p*l;a[1]=m*h+n*g+p*u;a[2]=m*e+n*r+p*b;a[3]=B*c+x*k+v*l;a[4]=B*h+
-x*g+v*u;a[5]=B*e+x*r+v*b;a[6]=E*c+F*k+d*l;a[7]=E*h+F*g+d*u;a[8]=E*e+F*r+d*b;return a}function n(a,b,d){a[0]=b[0]-d[0];a[1]=b[1]-d[1];a[2]=b[2]-d[2];a[3]=b[3]-d[3];a[4]=b[4]-d[4];a[5]=b[5]-d[5];a[6]=b[6]-d[6];a[7]=b[7]-d[7];a[8]=b[8]-d[8];return a}Object.defineProperty(e,"__esModule",{value:!0});e.create=function(){var a=new m.a(9);a[0]=1;a[1]=0;a[2]=0;a[3]=0;a[4]=1;a[5]=0;a[6]=0;a[7]=0;a[8]=1;return a};e.fromMat4=function(a,b){a[0]=b[0];a[1]=b[1];a[2]=b[2];a[3]=b[4];a[4]=b[5];a[5]=b[6];a[6]=b[8];
-a[7]=b[9];a[8]=b[10];return a};e.clone=function(a){var b=new m.a(9);b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];b[4]=a[4];b[5]=a[5];b[6]=a[6];b[7]=a[7];b[8]=a[8];return b};e.copy=function(a,b){a[0]=b[0];a[1]=b[1];a[2]=b[2];a[3]=b[3];a[4]=b[4];a[5]=b[5];a[6]=b[6];a[7]=b[7];a[8]=b[8];return a};e.fromValues=function(a,b,d,f,h,e,k,g,r){var c=new m.a(9);c[0]=a;c[1]=b;c[2]=d;c[3]=f;c[4]=h;c[5]=e;c[6]=k;c[7]=g;c[8]=r;return c};e.set=function(a,b,d,f,h,e,k,g,r,l){a[0]=b;a[1]=d;a[2]=f;a[3]=h;a[4]=e;a[5]=k;a[6]=
-g;a[7]=r;a[8]=l;return a};e.identity=function(a){a[0]=1;a[1]=0;a[2]=0;a[3]=0;a[4]=1;a[5]=0;a[6]=0;a[7]=0;a[8]=1;return a};e.transpose=function(a,b){if(a===b){var c=b[1],f=b[2],h=b[5];a[1]=b[3];a[2]=b[6];a[3]=c;a[5]=b[7];a[6]=f;a[7]=h}else a[0]=b[0],a[1]=b[3],a[2]=b[6],a[3]=b[1],a[4]=b[4],a[5]=b[7],a[6]=b[2],a[7]=b[5],a[8]=b[8];return a};e.invert=function(a,b){var c=b[0],f=b[1],h=b[2],e=b[3],k=b[4],g=b[5],r=b[6],l=b[7];b=b[8];var u=b*k-g*l,m=-b*e+g*r,n=l*e-k*r,p=c*u+f*m+h*n;if(!p)return null;p=1/p;
-a[0]=u*p;a[1]=(-b*f+h*l)*p;a[2]=(g*f-h*k)*p;a[3]=m*p;a[4]=(b*c-h*r)*p;a[5]=(-g*c+h*e)*p;a[6]=n*p;a[7]=(-l*c+f*r)*p;a[8]=(k*c-f*e)*p;return a};e.adjoint=function(a,b){var c=b[0],f=b[1],h=b[2],e=b[3],k=b[4],g=b[5],r=b[6],l=b[7];b=b[8];a[0]=k*b-g*l;a[1]=h*l-f*b;a[2]=f*g-h*k;a[3]=g*r-e*b;a[4]=c*b-h*r;a[5]=h*e-c*g;a[6]=e*l-k*r;a[7]=f*r-c*l;a[8]=c*k-f*e;return a};e.determinant=function(a){var b=a[3],c=a[4],f=a[5],h=a[6],e=a[7],k=a[8];return a[0]*(k*c-f*e)+a[1]*(-k*b+f*h)+a[2]*(e*b-c*h)};e.multiply=p;e.translate=
-function(a,b,d){var c=b[0],h=b[1],e=b[2],k=b[3],g=b[4],r=b[5],l=b[6],u=b[7];b=b[8];var m=d[0];d=d[1];a[0]=c;a[1]=h;a[2]=e;a[3]=k;a[4]=g;a[5]=r;a[6]=m*c+d*k+l;a[7]=m*h+d*g+u;a[8]=m*e+d*r+b;return a};e.rotate=function(a,b,d){var c=b[0],h=b[1],e=b[2],k=b[3],g=b[4],r=b[5],l=b[6],u=b[7];b=b[8];var m=Math.sin(d);d=Math.cos(d);a[0]=d*c+m*k;a[1]=d*h+m*g;a[2]=d*e+m*r;a[3]=d*k-m*c;a[4]=d*g-m*h;a[5]=d*r-m*e;a[6]=l;a[7]=u;a[8]=b;return a};e.scale=function(a,b,d){var c=d[0];d=d[1];a[0]=c*b[0];a[1]=c*b[1];a[2]=
-c*b[2];a[3]=d*b[3];a[4]=d*b[4];a[5]=d*b[5];a[6]=b[6];a[7]=b[7];a[8]=b[8];return a};e.fromTranslation=function(a,b){a[0]=1;a[1]=0;a[2]=0;a[3]=0;a[4]=1;a[5]=0;a[6]=b[0];a[7]=b[1];a[8]=1;return a};e.fromRotation=function(a,b){var c=Math.sin(b);b=Math.cos(b);a[0]=b;a[1]=c;a[2]=0;a[3]=-c;a[4]=b;a[5]=0;a[6]=0;a[7]=0;a[8]=1;return a};e.fromScaling=function(a,b){a[0]=b[0];a[1]=0;a[2]=0;a[3]=0;a[4]=b[1];a[5]=0;a[6]=0;a[7]=0;a[8]=1;return a};e.fromMat2d=function(a,b){a[0]=b[0];a[1]=b[1];a[2]=0;a[3]=b[2];a[4]=
-b[3];a[5]=0;a[6]=b[4];a[7]=b[5];a[8]=1;return a};e.fromQuat=function(a,b){var c=b[0],f=b[1],h=b[2];b=b[3];var e=c+c,k=f+f,g=h+h;c*=e;var r=f*e;f*=k;var l=h*e,u=h*k;h*=g;e*=b;k*=b;b*=g;a[0]=1-f-h;a[3]=r-b;a[6]=l+k;a[1]=r+b;a[4]=1-c-h;a[7]=u-e;a[2]=l-k;a[5]=u+e;a[8]=1-c-f;return a};e.normalFromMat4=function(a,b){var c=b[0],f=b[1],h=b[2],e=b[3],k=b[4],g=b[5],r=b[6],l=b[7],u=b[8],m=b[9],n=b[10],p=b[11],B=b[12],x=b[13],v=b[14];b=b[15];var E=c*g-f*k,F=c*r-h*k,C=c*l-e*k,G=f*r-h*g,H=f*l-e*g,D=h*l-e*r,O=u*
-x-m*B,J=u*v-n*B;u=u*b-p*B;var Q=m*v-n*x;m=m*b-p*x;n=n*b-p*v;p=E*n-F*m+C*Q+G*u-H*J+D*O;if(!p)return null;p=1/p;a[0]=(g*n-r*m+l*Q)*p;a[1]=(r*u-k*n-l*J)*p;a[2]=(k*m-g*u+l*O)*p;a[3]=(h*m-f*n-e*Q)*p;a[4]=(c*n-h*u+e*J)*p;a[5]=(f*u-c*m-e*O)*p;a[6]=(x*D-v*H+b*G)*p;a[7]=(v*C-B*D-b*F)*p;a[8]=(B*H-x*C+b*E)*p;return a};e.projection=function(a,b,d){a[0]=2/b;a[1]=0;a[2]=0;a[3]=0;a[4]=-2/d;a[5]=0;a[6]=-1;a[7]=1;a[8]=1;return a};e.str=function(a){return"mat3("+a[0]+", "+a[1]+", "+a[2]+", "+a[3]+", "+a[4]+", "+a[5]+
-", "+a[6]+", "+a[7]+", "+a[8]+")"};e.frob=function(a){return Math.sqrt(Math.pow(a[0],2)+Math.pow(a[1],2)+Math.pow(a[2],2)+Math.pow(a[3],2)+Math.pow(a[4],2)+Math.pow(a[5],2)+Math.pow(a[6],2)+Math.pow(a[7],2)+Math.pow(a[8],2))};e.add=function(a,b,d){a[0]=b[0]+d[0];a[1]=b[1]+d[1];a[2]=b[2]+d[2];a[3]=b[3]+d[3];a[4]=b[4]+d[4];a[5]=b[5]+d[5];a[6]=b[6]+d[6];a[7]=b[7]+d[7];a[8]=b[8]+d[8];return a};e.subtract=n;e.multiplyScalar=function(a,b,d){a[0]=b[0]*d;a[1]=b[1]*d;a[2]=b[2]*d;a[3]=b[3]*d;a[4]=b[4]*d;a[5]=
-b[5]*d;a[6]=b[6]*d;a[7]=b[7]*d;a[8]=b[8]*d;return a};e.multiplyScalarAndAdd=function(a,b,d,f){a[0]=b[0]+d[0]*f;a[1]=b[1]+d[1]*f;a[2]=b[2]+d[2]*f;a[3]=b[3]+d[3]*f;a[4]=b[4]+d[4]*f;a[5]=b[5]+d[5]*f;a[6]=b[6]+d[6]*f;a[7]=b[7]+d[7]*f;a[8]=b[8]+d[8]*f;return a};e.exactEquals=function(a,b){return a[0]===b[0]&&a[1]===b[1]&&a[2]===b[2]&&a[3]===b[3]&&a[4]===b[4]&&a[5]===b[5]&&a[6]===b[6]&&a[7]===b[7]&&a[8]===b[8]};e.equals=function(a,b){var c=a[0],f=a[1],h=a[2],e=a[3],k=a[4],g=a[5],r=a[6],l=a[7];a=a[8];var u=
-b[0],n=b[1],p=b[2],z=b[3],B=b[4],x=b[5],v=b[6],E=b[7];b=b[8];return Math.abs(c-u)<=m.b*Math.max(1,Math.abs(c),Math.abs(u))&&Math.abs(f-n)<=m.b*Math.max(1,Math.abs(f),Math.abs(n))&&Math.abs(h-p)<=m.b*Math.max(1,Math.abs(h),Math.abs(p))&&Math.abs(e-z)<=m.b*Math.max(1,Math.abs(e),Math.abs(z))&&Math.abs(k-B)<=m.b*Math.max(1,Math.abs(k),Math.abs(B))&&Math.abs(g-x)<=m.b*Math.max(1,Math.abs(g),Math.abs(x))&&Math.abs(r-v)<=m.b*Math.max(1,Math.abs(r),Math.abs(v))&&Math.abs(l-E)<=m.b*Math.max(1,Math.abs(l),
-Math.abs(E))&&Math.abs(a-b)<=m.b*Math.max(1,Math.abs(a),Math.abs(b))};var m=a(29);e.mul=p;e.sub=n},function(g,e,a){function p(){var a=new r.a(3);a[0]=0;a[1]=0;a[2]=0;return a}function n(a){var b=a[0],c=a[1];a=a[2];return Math.sqrt(b*b+c*c+a*a)}function m(a,b,c){var d=new r.a(3);d[0]=a;d[1]=b;d[2]=c;return d}function c(a,b,c){a[0]=b[0]-c[0];a[1]=b[1]-c[1];a[2]=b[2]-c[2];return a}function b(a,b,c){a[0]=b[0]*c[0];a[1]=b[1]*c[1];a[2]=b[2]*c[2];return a}function d(a,b,c){a[0]=b[0]/c[0];a[1]=b[1]/c[1];
-a[2]=b[2]/c[2];return a}function f(a,b){var c=b[0]-a[0],d=b[1]-a[1];a=b[2]-a[2];return Math.sqrt(c*c+d*d+a*a)}function h(a,b){var c=b[0]-a[0],d=b[1]-a[1];a=b[2]-a[2];return c*c+d*d+a*a}function q(a){var b=a[0],c=a[1];a=a[2];return b*b+c*c+a*a}function k(a,b){var c=b[0],d=b[1],f=b[2];c=c*c+d*d+f*f;0<c&&(c=1/Math.sqrt(c),a[0]=b[0]*c,a[1]=b[1]*c,a[2]=b[2]*c);return a}function t(a,b){return a[0]*b[0]+a[1]*b[1]+a[2]*b[2]}Object.defineProperty(e,"__esModule",{value:!0});e.create=p;e.clone=function(a){var b=
-new r.a(3);b[0]=a[0];b[1]=a[1];b[2]=a[2];return b};e.length=n;e.fromValues=m;e.copy=function(a,b){a[0]=b[0];a[1]=b[1];a[2]=b[2];return a};e.set=function(a,b,c,d){a[0]=b;a[1]=c;a[2]=d;return a};e.add=function(a,b,c){a[0]=b[0]+c[0];a[1]=b[1]+c[1];a[2]=b[2]+c[2];return a};e.subtract=c;e.multiply=b;e.divide=d;e.ceil=function(a,b){a[0]=Math.ceil(b[0]);a[1]=Math.ceil(b[1]);a[2]=Math.ceil(b[2]);return a};e.floor=function(a,b){a[0]=Math.floor(b[0]);a[1]=Math.floor(b[1]);a[2]=Math.floor(b[2]);return a};e.min=
-function(a,b,c){a[0]=Math.min(b[0],c[0]);a[1]=Math.min(b[1],c[1]);a[2]=Math.min(b[2],c[2]);return a};e.max=function(a,b,c){a[0]=Math.max(b[0],c[0]);a[1]=Math.max(b[1],c[1]);a[2]=Math.max(b[2],c[2]);return a};e.round=function(a,b){a[0]=Math.round(b[0]);a[1]=Math.round(b[1]);a[2]=Math.round(b[2]);return a};e.scale=function(a,b,c){a[0]=b[0]*c;a[1]=b[1]*c;a[2]=b[2]*c;return a};e.scaleAndAdd=function(a,b,c,d){a[0]=b[0]+c[0]*d;a[1]=b[1]+c[1]*d;a[2]=b[2]+c[2]*d;return a};e.distance=f;e.squaredDistance=h;
-e.squaredLength=q;e.negate=function(a,b){a[0]=-b[0];a[1]=-b[1];a[2]=-b[2];return a};e.inverse=function(a,b){a[0]=1/b[0];a[1]=1/b[1];a[2]=1/b[2];return a};e.normalize=k;e.dot=t;e.cross=function(a,b,c){var d=b[0],f=b[1];b=b[2];var h=c[0],e=c[1];c=c[2];a[0]=f*c-b*e;a[1]=b*h-d*c;a[2]=d*e-f*h;return a};e.lerp=function(a,b,c,d){var f=b[0],h=b[1];b=b[2];a[0]=f+d*(c[0]-f);a[1]=h+d*(c[1]-h);a[2]=b+d*(c[2]-b);return a};e.hermite=function(a,b,c,d,f,h){var e=h*h,l=e*(2*h-3)+1,k=e*(h-2)+h,q=e*(h-1);h=e*(3-2*h);
-a[0]=b[0]*l+c[0]*k+d[0]*q+f[0]*h;a[1]=b[1]*l+c[1]*k+d[1]*q+f[1]*h;a[2]=b[2]*l+c[2]*k+d[2]*q+f[2]*h;return a};e.bezier=function(a,b,c,d,f,h){var e=1-h,l=e*e,k=h*h,q=l*e;l*=3*h;e*=3*k;h*=k;a[0]=b[0]*q+c[0]*l+d[0]*e+f[0]*h;a[1]=b[1]*q+c[1]*l+d[1]*e+f[1]*h;a[2]=b[2]*q+c[2]*l+d[2]*e+f[2]*h;return a};e.random=function(a,b){b=b||1;var c=2*r.c()*Math.PI,d=2*r.c()-1,f=Math.sqrt(1-d*d)*b;a[0]=Math.cos(c)*f;a[1]=Math.sin(c)*f;a[2]=d*b;return a};e.transformMat4=function(a,b,c){var d=b[0],f=b[1];b=b[2];var h=
-c[3]*d+c[7]*f+c[11]*b+c[15];h=h||1;a[0]=(c[0]*d+c[4]*f+c[8]*b+c[12])/h;a[1]=(c[1]*d+c[5]*f+c[9]*b+c[13])/h;a[2]=(c[2]*d+c[6]*f+c[10]*b+c[14])/h;return a};e.transformMat3=function(a,b,c){var d=b[0],f=b[1];b=b[2];a[0]=d*c[0]+f*c[3]+b*c[6];a[1]=d*c[1]+f*c[4]+b*c[7];a[2]=d*c[2]+f*c[5]+b*c[8];return a};e.transformQuat=function(a,b,c){var d=b[0],f=b[1],h=b[2];b=c[0];var e=c[1],l=c[2];c=c[3];var k=c*d+e*h-l*f,q=c*f+l*d-b*h,g=c*h+b*f-e*d;d=-b*d-e*f-l*h;a[0]=k*c+d*-b+q*-l-g*-e;a[1]=q*c+d*-e+g*-b-k*-l;a[2]=
-g*c+d*-l+k*-e-q*-b;return a};e.rotateX=function(a,b,c,d){var f=[],h=[];f[0]=b[0]-c[0];f[1]=b[1]-c[1];f[2]=b[2]-c[2];h[0]=f[0];h[1]=f[1]*Math.cos(d)-f[2]*Math.sin(d);h[2]=f[1]*Math.sin(d)+f[2]*Math.cos(d);a[0]=h[0]+c[0];a[1]=h[1]+c[1];a[2]=h[2]+c[2];return a};e.rotateY=function(a,b,c,d){var f=[],h=[];f[0]=b[0]-c[0];f[1]=b[1]-c[1];f[2]=b[2]-c[2];h[0]=f[2]*Math.sin(d)+f[0]*Math.cos(d);h[1]=f[1];h[2]=f[2]*Math.cos(d)-f[0]*Math.sin(d);a[0]=h[0]+c[0];a[1]=h[1]+c[1];a[2]=h[2]+c[2];return a};e.rotateZ=function(a,
-b,c,d){var f=[],h=[];f[0]=b[0]-c[0];f[1]=b[1]-c[1];f[2]=b[2]-c[2];h[0]=f[0]*Math.cos(d)-f[1]*Math.sin(d);h[1]=f[0]*Math.sin(d)+f[1]*Math.cos(d);h[2]=f[2];a[0]=h[0]+c[0];a[1]=h[1]+c[1];a[2]=h[2]+c[2];return a};e.angle=function(a,b){a=m(a[0],a[1],a[2]);b=m(b[0],b[1],b[2]);k(a,a);k(b,b);b=t(a,b);return 1<b?0:-1>b?Math.PI:Math.acos(b)};e.str=function(a){return"vec3("+a[0]+", "+a[1]+", "+a[2]+")"};e.exactEquals=function(a,b){return a[0]===b[0]&&a[1]===b[1]&&a[2]===b[2]};e.equals=function(a,b){var c=a[0],
-d=a[1];a=a[2];var f=b[0],h=b[1];b=b[2];return Math.abs(c-f)<=r.b*Math.max(1,Math.abs(c),Math.abs(f))&&Math.abs(d-h)<=r.b*Math.max(1,Math.abs(d),Math.abs(h))&&Math.abs(a-b)<=r.b*Math.max(1,Math.abs(a),Math.abs(b))};var r=a(29);e.sub=c;e.mul=b;e.div=d;e.dist=f;e.sqrDist=h;e.len=n;e.sqrLen=q;g=function(){var a=p();return function(b,c,d,f,h,e){c||(c=3);d||(d=0);for(f=f?Math.min(f*c+d,b.length):b.length;d<f;d+=c)a[0]=b[d],a[1]=b[d+1],a[2]=b[d+2],h(a,a,e),b[d]=a[0],b[d+1]=a[1],b[d+2]=a[2];return b}}();
-e.forEach=g},function(g,e,a){function p(){var a=new t.a(4);a[0]=0;a[1]=0;a[2]=0;a[3]=0;return a}function n(a,b,c){a[0]=b[0]-c[0];a[1]=b[1]-c[1];a[2]=b[2]-c[2];a[3]=b[3]-c[3];return a}function m(a,b,c){a[0]=b[0]*c[0];a[1]=b[1]*c[1];a[2]=b[2]*c[2];a[3]=b[3]*c[3];return a}function c(a,b,c){a[0]=b[0]/c[0];a[1]=b[1]/c[1];a[2]=b[2]/c[2];a[3]=b[3]/c[3];return a}function b(a,b,c){a[0]=b[0]*c;a[1]=b[1]*c;a[2]=b[2]*c;a[3]=b[3]*c;return a}function d(a,b){var c=b[0]-a[0],d=b[1]-a[1],f=b[2]-a[2];a=b[3]-a[3];return Math.sqrt(c*
-c+d*d+f*f+a*a)}function f(a,b){var c=b[0]-a[0],d=b[1]-a[1],f=b[2]-a[2];a=b[3]-a[3];return c*c+d*d+f*f+a*a}function h(a){var b=a[0],c=a[1],d=a[2];a=a[3];return Math.sqrt(b*b+c*c+d*d+a*a)}function q(a){var b=a[0],c=a[1],d=a[2];a=a[3];return b*b+c*c+d*d+a*a}function k(a,b){var c=b[0],d=b[1],f=b[2];b=b[3];var h=c*c+d*d+f*f+b*b;0<h&&(h=1/Math.sqrt(h),a[0]=c*h,a[1]=d*h,a[2]=f*h,a[3]=b*h);return a}Object.defineProperty(e,"__esModule",{value:!0});e.create=p;e.clone=function(a){var b=new t.a(4);b[0]=a[0];
-b[1]=a[1];b[2]=a[2];b[3]=a[3];return b};e.fromValues=function(a,b,c,d){var f=new t.a(4);f[0]=a;f[1]=b;f[2]=c;f[3]=d;return f};e.copy=function(a,b){a[0]=b[0];a[1]=b[1];a[2]=b[2];a[3]=b[3];return a};e.set=function(a,b,c,d,f){a[0]=b;a[1]=c;a[2]=d;a[3]=f;return a};e.add=function(a,b,c){a[0]=b[0]+c[0];a[1]=b[1]+c[1];a[2]=b[2]+c[2];a[3]=b[3]+c[3];return a};e.subtract=n;e.multiply=m;e.divide=c;e.ceil=function(a,b){a[0]=Math.ceil(b[0]);a[1]=Math.ceil(b[1]);a[2]=Math.ceil(b[2]);a[3]=Math.ceil(b[3]);return a};
-e.floor=function(a,b){a[0]=Math.floor(b[0]);a[1]=Math.floor(b[1]);a[2]=Math.floor(b[2]);a[3]=Math.floor(b[3]);return a};e.min=function(a,b,c){a[0]=Math.min(b[0],c[0]);a[1]=Math.min(b[1],c[1]);a[2]=Math.min(b[2],c[2]);a[3]=Math.min(b[3],c[3]);return a};e.max=function(a,b,c){a[0]=Math.max(b[0],c[0]);a[1]=Math.max(b[1],c[1]);a[2]=Math.max(b[2],c[2]);a[3]=Math.max(b[3],c[3]);return a};e.round=function(a,b){a[0]=Math.round(b[0]);a[1]=Math.round(b[1]);a[2]=Math.round(b[2]);a[3]=Math.round(b[3]);return a};
-e.scale=b;e.scaleAndAdd=function(a,b,c,d){a[0]=b[0]+c[0]*d;a[1]=b[1]+c[1]*d;a[2]=b[2]+c[2]*d;a[3]=b[3]+c[3]*d;return a};e.distance=d;e.squaredDistance=f;e.length=h;e.squaredLength=q;e.negate=function(a,b){a[0]=-b[0];a[1]=-b[1];a[2]=-b[2];a[3]=-b[3];return a};e.inverse=function(a,b){a[0]=1/b[0];a[1]=1/b[1];a[2]=1/b[2];a[3]=1/b[3];return a};e.normalize=k;e.dot=function(a,b){return a[0]*b[0]+a[1]*b[1]+a[2]*b[2]+a[3]*b[3]};e.lerp=function(a,b,c,d){var f=b[0],h=b[1],e=b[2];b=b[3];a[0]=f+d*(c[0]-f);a[1]=
-h+d*(c[1]-h);a[2]=e+d*(c[2]-e);a[3]=b+d*(c[3]-b);return a};e.random=function(a,c){c=c||1;a[0]=t.c();a[1]=t.c();a[2]=t.c();a[3]=t.c();k(a,a);b(a,a,c);return a};e.transformMat4=function(a,b,c){var d=b[0],f=b[1],h=b[2];b=b[3];a[0]=c[0]*d+c[4]*f+c[8]*h+c[12]*b;a[1]=c[1]*d+c[5]*f+c[9]*h+c[13]*b;a[2]=c[2]*d+c[6]*f+c[10]*h+c[14]*b;a[3]=c[3]*d+c[7]*f+c[11]*h+c[15]*b;return a};e.transformQuat=function(a,b,c){var d=b[0],f=b[1],h=b[2],e=c[0],k=c[1],l=c[2];c=c[3];var q=c*d+k*h-l*f,g=c*f+l*d-e*h,r=c*h+e*f-k*d;
-d=-e*d-k*f-l*h;a[0]=q*c+d*-e+g*-l-r*-k;a[1]=g*c+d*-k+r*-e-q*-l;a[2]=r*c+d*-l+q*-k-g*-e;a[3]=b[3];return a};e.str=function(a){return"vec4("+a[0]+", "+a[1]+", "+a[2]+", "+a[3]+")"};e.exactEquals=function(a,b){return a[0]===b[0]&&a[1]===b[1]&&a[2]===b[2]&&a[3]===b[3]};e.equals=function(a,b){var c=a[0],d=a[1],f=a[2];a=a[3];var h=b[0],e=b[1],k=b[2];b=b[3];return Math.abs(c-h)<=t.b*Math.max(1,Math.abs(c),Math.abs(h))&&Math.abs(d-e)<=t.b*Math.max(1,Math.abs(d),Math.abs(e))&&Math.abs(f-k)<=t.b*Math.max(1,
-Math.abs(f),Math.abs(k))&&Math.abs(a-b)<=t.b*Math.max(1,Math.abs(a),Math.abs(b))};var t=a(29);e.sub=n;e.mul=m;e.div=c;e.dist=d;e.sqrDist=f;e.len=h;e.sqrLen=q;g=function(){var a=p();return function(b,c,d,f,h,e){c||(c=4);d||(d=0);for(f=f?Math.min(f*c+d,b.length):b.length;d<f;d+=c)a[0]=b[d],a[1]=b[d+1],a[2]=b[d+2],a[3]=b[d+3],h(a,a,e),b[d]=a[0],b[d+1]=a[1],b[d+2]=a[2],b[d+3]=a[3];return b}}();e.forEach=g},function(g,e,a){e=a(212);a="object"==typeof self&&self&&self.Object===Object&&self;e=e||a||Function("return this")();
-g.exports=e},function(g,e,a){e=a(123).Symbol;g.exports=e},function(g,e,a){function p(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function n(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function m(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&
-b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a){switch(a){case t.b.FLOAT32:return B.c;default:throw Error("Data type not supported by WebGL: ${DataType[dataType]}");}}e.f=function(a){return new k.a(void 0===a?"void main() {\n  emitDefault();\n}\n":a,u.B)};a.d(e,"c",function(){return O});a.d(e,"b",function(){return J});a.d(e,"e",function(){return Q});a.d(e,"d",function(){return P});var b=
-a(25);g=a(23);var d=a(48),f=a(50),h=a(223),q=a(63),k=a(14),t=a(42),r=a(1),l=a(3),u=a(6),A=a(27),y=a(7),z=a(30),B=a(35),x=a(31),v=a(18),E=function aa(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return aa(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},F=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in
-d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),C=a(90),G=l.j.create(),H=new Float32Array(4);e.a="//NEUROGLANCER_SKELETON_LAYER_FRAGMENT_MAIN_START";var D=function(a){function b(a){p(this,b);var c=n(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.vertexAttributes=a;c.shaders=new Map;c.shaderGeneration=-1;c.vertexAttributesKey=Object(u.g)(c.vertexAttributes);return c}m(b,a);F(b,[{key:"defineShader",value:function(a,b){a.addUniform("highp vec4",
-"uColor");a.addUniform("highp mat4","uProjection");a.addUniform("highp vec4","uPickID");var c="\ngl_Position = uProjection * vec4(aVertex0, 1.0);\n";a.addFragmentCode("\nvec4 segmentColor() {\n  return uColor;\n}\nvoid emitRGB(vec3 color) {\n  emit(vec4(color * uColor.a, uColor.a), uPickID);\n}\nvoid emitDefault() {\n  emit(uColor, uPickID);\n}\n");a.addFragmentCode(C);this.vertexAttributes.forEach(function(b,d){a.addAttribute("highp "+b.glslDataType,"aVertex"+d);0!==d&&(a.addVarying("highp "+b.glslDataType,
-"vVertex"+d),c+="vVertex"+d+" = aVertex"+d+";\n",a.addFragmentCode("#define "+b.name+" vVertex"+d+"\n"))});a.setVertexMain(c);a.setFragmentMainFunction("//NEUROGLANCER_SKELETON_LAYER_FRAGMENT_MAIN_START\n"+b)}},{key:"beginLayer",value:function(a,b,c,d){c=l.j.multiply(G,c.dataToDevice,d);a.uniformMatrix4fv(b.uniform("uProjection"),!1,c)}},{key:"getShader",value:function(a,b,c){var d=this;return this.registerDisposer(a.memoize.get("skeleton/SkeletonShaderManager:"+Object(A.a)(b)+":"+this.vertexAttributesKey+
-":"+c,function(){var f=new x.a(a);f.require(b);d.defineShader(f,c);return f.build()}))}},{key:"setColor",value:function(a,b,c){a.uniform4fv(b.uniform("uColor"),c)}},{key:"setPickID",value:function(a,b,c){a.uniform4fv(b.uniform("uPickID"),Object(v.p)(H,c))}},{key:"drawSkeleton",value:function(a,b,c){for(var d=this.vertexAttributes,f=d.length,h=c.vertexAttributeOffsets,e=0;e<f;++e){var k=d[e];c.vertexBuffer.bindToVertexAttrib(b.attribute("aVertex"+e),k.numComponents,k.webglDataType,!1,0,h[e])}c.indexBuffer.bind();
-a.drawElements(a.LINES,c.numIndices,a.UNSIGNED_INT,0)}},{key:"endLayer",value:function(a,b){for(var c=this.vertexAttributes.length,d=0;d<c;++d)a.disableVertexAttribArray(b.attribute("aVertex"+d))}}]);return b}(r.a),O=function(a){function d(a,b,e,k){p(this,d);var q=n(this,(d.__proto__||Object.getPrototypeOf(d)).call(this));q.chunkManager=a;q.source=b;q.voxelSizeObject=e;q.displayState=k;q.tempMat=l.j.create();q.redrawNeeded=new y.a;q.fallbackFragmentMain="void main() {\n  emitDefault();\n}\n";Object(f.f)(k,
-q);q.displayState.shaderError.value=void 0;q.registerDisposer(k.fragmentMain.changed.add(function(){q.displayState.shaderError.value=void 0;q.redrawNeeded.dispatch()}));a=q.sharedObject=q.registerDisposer(new f.b(a,k));a.RPC_TYPE_ID=h.a;a.initializeCounterpartWithChunkManager({source:b.addCounterpartRef()});a=q.vertexAttributes=[T];b=$jscomp.makeIterator(b.vertexAttributes);for(e=b.next();!e.done;e=b.next())k=$jscomp.makeIterator(e.value),e=k.next().value,k=k.next().value,a.push({name:e,dataType:k.dataType,
-numComponents:k.numComponents,webglDataType:c(k.dataType),glslDataType:1<k.numComponents?"vec"+k.numComponents:"float"});return q}m(d,a);F(d,[{key:"getShader",value:function(a,b,c){var d=this.displayState.fragmentMain,f=d.changed.count,h=b.shaders;b.shaderGeneration!==f&&(h.clear(),b.shaderGeneration=f);f=h.get(c);if(void 0===f){f=null;try{f=b.getShader(a,c,d.value),this.fallbackFragmentMain=d.value,this.displayState.shaderError.value=null}catch(tc){this.displayState.shaderError.value=tc;try{f=b.getShader(a,
-c,this.fallbackFragmentMain)}catch(Cb){}}h.set(c,f)}return f}},{key:"draw",value:function(a,c,d,h){void 0===h&&(h=a.emitColor?1:5);var e=this.gl,k=this.source,q=this.displayState,g=Math.min(1,q.objectAlpha.value);if(!(0>=g)){var r=this.getShader(e,d,a.emitter);if(null!==r){r.bind();var t=this.tempMat;l.j.identity(t);k.skeletonVertexCoordinatesInVoxels&&l.j.scale(t,t,this.voxelSizeObject.size);l.j.multiply(t,this.displayState.objectToDataTransform.transform,t);d.beginLayer(e,r,a,t);k=k.chunks;var m=
-a.pickIDs;e.lineWidth(h);Object(f.d)(q,k,function(h,k,l){l.state===b.d.GPU_MEMORY&&(a.emitColor&&d.setColor(e,r,Object(f.e)(q,h,g)),a.emitPickID&&d.setPickID(e,r,m.registerUint64(c,k)),d.drawSkeleton(e,r,l))});d.endLayer(e,r)}}}},{key:"visibility",get:function(){return this.sharedObject.visibility}},{key:"gl",get:function(){return this.chunkManager.chunkQueueManager.gl}}]);return d}(r.a),J=function(a){function b(a){p(this,b);var c=n(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.base=
-a;c.renderHelper=c.registerDisposer(new D(c.base.vertexAttributes));c.registerDisposer(a);c.registerDisposer(a.redrawNeeded.add(function(){c.redrawNeeded.dispatch()}));c.setReady(!0);c.registerDisposer(a.visibility.add(c.visibility));return c}m(b,a);F(b,[{key:"draw",value:function(a){this.base.draw(a,this,this.renderHelper)}},{key:"gl",get:function(){return this.base.gl}},{key:"isTransparent",get:function(){return 1>this.base.displayState.objectAlpha.value}}]);return b}(d.a),Q=function(a){function b(a){p(this,
-b);var c=n(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.base=a;c.renderHelper=c.registerDisposer(new D(c.base.vertexAttributes));c.registerDisposer(a);c.registerDisposer(a.redrawNeeded.add(function(){c.redrawNeeded.dispatch()}));c.setReady(!0);c.registerDisposer(a.visibility.add(c.visibility));return c}m(b,a);F(b,[{key:"draw",value:function(a){this.base.draw(a,this,this.renderHelper,10)}},{key:"gl",get:function(){return this.base.gl}}]);return b}(q.b),T={dataType:t.b.FLOAT32,numComponents:3,
-name:"",webglDataType:B.c,glslDataType:"vec3"},S=function(a){function b(a,c){p(this,b);a=n(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a));a.vertexAttributes=c.vertexAttributes;var d=a.indices=c.indices;a.vertexAttributeOffsets=c.vertexAttributeOffsets;a.numIndices=d.length;return a}m(b,a);F(b,[{key:"copyToGPU",value:function(a){E(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"copyToGPU",this).call(this,a);this.vertexBuffer=z.a.fromData(a,this.vertexAttributes,a.ARRAY_BUFFER,
-a.STATIC_DRAW);this.indexBuffer=z.a.fromData(a,this.indices,a.ELEMENT_ARRAY_BUFFER,a.STATIC_DRAW)}},{key:"freeGPUMemory",value:function(a){E(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"freeGPUMemory",this).call(this,a);this.vertexBuffer.dispose();this.indexBuffer.dispose()}}]);return b}(g.b),L=new Map,P=function(a){function b(){p(this,b);return n(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}m(b,a);F(b,[{key:"getChunk",value:function(a){return new S(this,a)}},
-{key:"skeletonVertexCoordinatesInVoxels",get:function(){return!0}},{key:"vertexAttributes",get:function(){return L}}]);return b}(g.e)},function(g,e,a){function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(e,"a",function(){return b});g=
-a(1);var n=a(30),m=a(127),c=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),b=function(a){function b(a){if(!(this instanceof b))throw new TypeError("Cannot call a class as a function");var c=(b.__proto__||Object.getPrototypeOf(b)).call(this);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
-c=!c||"object"!==typeof c&&"function"!==typeof c?this:c;c.gl=a;c.vertexBuffer=c.registerDisposer(n.a.fromData(a,new Float32Array([0,0,0,1,1,0,0,1,0,0,0,1,0,1,0,1,0,0,0,1,0,0,1,1]),a.ARRAY_BUFFER,a.STATIC_DRAW));c.colorBuffer=c.registerDisposer(n.a.fromData(a,new Float32Array([1,0,0,.5,1,0,0,.5,0,1,0,.5,0,1,0,.5,0,0,1,.5,0,0,1,.5]),a.ARRAY_BUFFER,a.STATIC_DRAW));c.trivialColorShader=c.registerDisposer(Object(m.c)(a));return c}p(b,a);c(b,[{key:"draw",value:function(a,b){b=void 0===b?!0:b;var c=this.trivialColorShader,
-d=this.gl;c.bind();d.uniformMatrix4fv(c.uniform("uProjectionMatrix"),!1,a);a=c.attribute("aVertexPosition");this.vertexBuffer.bindToVertexAttrib(a,4);c=c.attribute("aColor");this.colorBuffer.bindToVertexAttrib(c,4);b&&(d.colorMask(!1,!1,!1,!0),d.clearColor(0,0,0,0),d.clear(d.COLOR_BUFFER_BIT),d.colorMask(!0,!0,!0,!0),d.enable(d.BLEND),d.blendFunc(d.ONE_MINUS_DST_ALPHA,d.DST_ALPHA));d.lineWidth(1);d.drawArrays(d.LINES,0,6);b&&d.disable(d.BLEND);d.disableVertexAttribArray(a);d.disableVertexAttribArray(c)}}],
-[{key:"get",value:function(a){return a.memoize.get("SliceViewPanel:AxesLineHelper",function(){return new b(a)})}}]);return b}(g.a)},function(g,e,a){function p(a){a.setFragmentMain("gl_FragColor = getValue0();")}e.a=p;e.b=function(a,b,d){b=void 0===b?p:b;d=void 0===d?1:d;return a.memoize.get("elementWiseTextureShader:"+d+":"+Object(n.a)(b),function(){var c=new m.a(a);c.addVarying("vec2","vTexCoord");c.addUniform("sampler2D","uSampler",d);c.addInitializer(function(b){for(var c=[],f=0;f<d;++f)c[f]=f;
-a.uniform1iv(b.uniform("uSampler"),c)});for(var h=0;h<d;++h)c.addFragmentCode("\nvec4 getValue"+h+"() {\n  return texture2D(uSampler["+h+"], vTexCoord);\n}\n");c.addUniform("mat4","uProjectionMatrix");c.require(b);c.addAttribute("vec4","aVertexPosition");c.addAttribute("vec2","aTexCoord");c.setVertexMain("vTexCoord = aTexCoord; gl_Position = uProjectionMatrix * aVertexPosition;");return c.build()})};e.c=function(a){return a.memoize.get("trivialColorShader",function(){var b=new m.a(a);b.addVarying("vec4",
-"vColor");b.setFragmentMain("gl_FragColor = vColor;");b.addAttribute("vec4","aVertexPosition");b.addAttribute("vec4","aColor");b.addUniform("mat4","uProjectionMatrix");b.setVertexMain("vColor = aColor; gl_Position = uProjectionMatrix * aVertexPosition;");return b.build()})};var n=a(27),m=a(31)},function(g,e,a){a.d(e,"a",function(){return n});var p=function(){function a(a,b){for(var c=0;c<b.length;c++){var f=b[c];f.enumerable=f.enumerable||!1;f.configurable=!0;"value"in f&&(f.writable=!0);Object.defineProperty(a,
-f.key,f)}}return function(c,b,d){b&&a(c.prototype,b);d&&a(c,d);return c}}(),n=function(){function a(){if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");this.renderLayers=[null];this.values=[0,0,0];this.nextPickID=1}p(a,[{key:"clear",value:function(){this.renderLayers.length=1;this.values.length=3;this.nextPickID=1}},{key:"registerUint64",value:function(a,b,d){return this.register(a,void 0===d?1:d,b.low,b.high)}},{key:"register",value:function(a,b,d,f){var c=this.renderLayers,
-e=this.values,k=this.nextPickID;this.nextPickID+=void 0===b?1:b;b=c.length;c[b]=a;a=3*b;e[a]=k;e[a+1]=void 0===d?0:d;e[a+2]=void 0===f?0:f;return k}},{key:"setMouseState",value:function(a,b){for(var c=this.renderLayers,f=this.values,h=0,e=c.length-1;h<e;){var k=Math.ceil(h+(e-h)/2);f[3*k]>b?e=k-1:h=k}c=a.pickedRenderLayer=c[h];h*=3;b=a.pickedOffset=b-f[h];e=a.pickedValue;e.low=f[h+1];e.high=f[h+2];null!==c&&c.updateMouseState(a,e,b)}}]);return a}()},function(g,e,a){function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
-return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(e,"a",function(){return r});g=a(130);var m=a(64),c=a(22),b=a(3),d=a(51),f=a(131),h=a(227),q=function(){function a(a,b){for(var c=
-0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),k=function u(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return u(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};a(228);a(36);var t=b.p.create(),r=function(a){function e(a,
-k,g){if(!(this instanceof e))throw new TypeError("Cannot call a class as a function");var q=p(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,a,k,g.visibility));q.viewer=g;q.mouseX=0;q.mouseY=0;q.mouseStateUpdater=q.updateMouseState.bind(q);q.inputEventMap=g.inputEventMap;k.classList.add("neuroglancer-rendered-data-panel");k.classList.add("neuroglancer-panel");k.classList.add("neuroglancer-noselect");q.registerDisposer(new m.a(k));q.registerDisposer(new d.b(k,q.inputEventMap));q.registerDisposer(new f.a(k,
-q.inputEventMap));q.registerEventListener(k,"mousemove",q.onMousemove.bind(q));q.registerEventListener(k,"mouseleave",q.onMouseout.bind(q));Object(c.c)(k,"snap",function(){q.navigationState.pose.snap()});Object(c.c)(k,"zoom-in",function(){q.navigationState.zoomBy(.5)});Object(c.c)(k,"zoom-out",function(){q.navigationState.zoomBy(2)});for(a={axis:0};3>a.axis;a={axis:a.axis},++a.axis){g=b.a[a.axis];for(var r={},n=$jscomp.makeIterator([-1,1]),u=n.next();!u.done;r={sign:r.sign,tempOffset:r.tempOffset},
-u=n.next())r.sign=u.value,u=0>r.sign?"-":"+",Object(c.c)(k,"rotate-relative-"+g+u,function(a,c){return function(){q.navigationState.pose.rotateRelative(b.e[a.axis],.1*c.sign)}}(a,r)),r.tempOffset=b.p.create(),Object(c.c)(k,""+g+u,function(a,b){return function(){var c=q.navigationState,d=a.tempOffset;d[0]=0;d[1]=0;d[2]=0;d[b.axis]=a.sign;c.pose.translateVoxelsRelative(d)}}(r,a))}Object(c.c)(k,"zoom-via-wheel",function(a){a=a.detail;q.onMousemove(a);q.zoomByMouse(Object(h.a)(a))});a={};g=$jscomp.makeIterator([1,
-10]);for(r=g.next();!r.done;a={amount:a.amount},r=g.next())a.amount=r.value,Object(c.c)(k,"z+"+a.amount+"-via-wheel",function(a){return function(b){var c=b.detail;b=q.navigationState;c=0!==c.deltaY?c.deltaY:c.deltaX;t[0]=0;t[1]=0;t[2]=(0<c?-1:1)*a.amount;b.pose.translateVoxelsRelative(t)}}(a));Object(c.c)(k,"move-to-mouse-position",function(){var a=q.viewer.mouseState;if(a.updateUnconditionally()){var c=q.navigationState.pose.position;b.p.copy(c.spatialCoordinates,a.position);c.changed.dispatch()}});
-Object(c.c)(k,"snap",function(){return q.navigationState.pose.snap()});return q}n(e,a);q(e,[{key:"onMouseout",value:function(a){a=this.viewer.mouseState;a.updater=void 0;a.setActive(!1)}},{key:"onMousemove",value:function(a){var b=this.element;a.target===b&&(this.mouseX=a.offsetX-b.clientLeft,this.mouseY=a.offsetY-b.clientTop,a=this.viewer.mouseState,a.updater=this.mouseStateUpdater,a.triggerUpdate())}},{key:"disposed",value:function(){var a=this.viewer.mouseState;a.updater===this.mouseStateUpdater&&
-(a.updater=void 0,a.setActive(!1));k(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"disposed",this).call(this)}}]);return e}(g.b)},function(g,e,a){function p(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function n(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function m(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+
-typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(e,"b",function(){return h});a.d(e,"a",function(){return q});g=a(1);var c=a(7),b=a(224),d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&
-a(b,d);return b}}(),f=function t(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return t(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},h=function(a){function b(a,c,d){p(this,b);var f=n(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));f.context=a;f.element=c;f.visibility=d;f.gl=a.gl;a.addPanel(f);return f}m(b,a);d(b,[{key:"scheduleRedraw",value:function(){this.context.scheduleRedraw()}},
-{key:"setGLViewport",value:function(){var a=this.element,b=a.getBoundingClientRect(),c=this.context.canvasRect,d=a.clientLeft+b.left-c.left,f=a.clientWidth,h=a.clientHeight;b=b.top-c.top+a.clientTop+h;a=this.gl;a.enable(a.SCISSOR_TEST);b=this.context.canvas.height-b;a.viewport(d,b,f,h);a.scissor(d,b,f,h)}},{key:"disposed",value:function(){this.context.removePanel(this);f(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"disposed",this).call(this)}},{key:"visible",get:function(){return this.visibility.visible}}]);
-return b}(g.a),q=function(a){function f(a){p(this,f);var d=n(this,(f.__proto__||Object.getPrototypeOf(f)).call(this));d.container=a;d.canvas=document.createElement("canvas");d.updateStarted=new c.a;d.updateFinished=new c.a;d.panels=new Set;d.updatePending=null;d.needsRedraw=!1;var h=d.canvas;a.style.position="relative";h.style.position="absolute";h.style.top="0px";h.style.left="0px";h.style.width="100%";h.style.height="100%";h.style.zIndex="0";a.appendChild(h);d.gl=Object(b.a)(h);d.registerEventListener(window,
-"resize",d.onResize.bind(d));return d}m(f,a);d(f,[{key:"makeCanvasOverlayElement",value:function(){var a=document.createElement("div");a.style.position="absolute";a.style.top="0px";a.style.left="0px";a.style.width="100%";a.style.height="100%";a.style.zIndex="2";this.container.appendChild(a);return a}},{key:"disposed",value:function(){null!=this.updatePending&&(cancelAnimationFrame(this.updatePending),this.updatePending=null)}},{key:"addPanel",value:function(a){this.panels.add(a)}},{key:"removePanel",
-value:function(a){this.panels.delete(a);a.dispose()}},{key:"onResize",value:function(){this.scheduleRedraw();for(var a=$jscomp.makeIterator(this.panels),b=a.next();!b.done;b=a.next())b.value.onResize()}},{key:"scheduleUpdate",value:function(){null===this.updatePending&&(this.updatePending=requestAnimationFrame(this.update.bind(this)))}},{key:"scheduleRedraw",value:function(){this.needsRedraw||(this.needsRedraw=!0,this.scheduleUpdate())}},{key:"update",value:function(){this.updatePending=null;this.updateStarted.dispatch();
-if(this.needsRedraw){this.needsRedraw=!1;var a=this.gl,b=this.canvas;b.width=b.offsetWidth;b.height=b.offsetHeight;this.canvasRect=b.getBoundingClientRect();this.gl.clearColor(0,0,0,0);a.clear(a.COLOR_BUFFER_BIT|a.DEPTH_BUFFER_BIT);b=$jscomp.makeIterator(this.panels);for(var c=b.next();!c.done;c=b.next()){c=c.value;var d=c.element;c.visible&&0!==d.clientWidth&&0!==d.clientHeight&&0!==d.offsetWidth&&0!==d.offsetHeight&&(c.setGLViewport(),c.draw())}a.disable(a.SCISSOR_TEST);this.gl.clearColor(1,1,1,
-1);this.gl.colorMask(!1,!1,!1,!0);a.clear(a.COLOR_BUFFER_BIT);this.gl.colorMask(!0,!0,!0,!0)}this.updateFinished.dispatch()}}]);return f}(g.a)},function(g,e,a){function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,
-{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(e,"a",function(){return b});g=a(1);var m=a(22),c=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),b=function(a){function b(a,c){if(!(this instanceof b))throw new TypeError("Cannot call a class as a function");
-var d=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));d.target=a;d.eventMap=c;d.registerEventListener(a,"wheel",function(a){d.dispatch("wheel",a)});d.registerEventListener(a,"click",function(a){d.dispatch("click"+a.button,a)});d.registerEventListener(a,"dblclick",function(a){d.dispatch("dblclick"+a.button,a)});d.registerEventListener(a,"mousedown",function(a){d.dispatch("mousedown"+a.button,a)});d.registerEventListener(a,"mouseup",function(a){d.dispatch("mouseup"+a.button,a)});return d}
-n(b,a);c(b,[{key:"dispatch",value:function(a,b){Object(m.b)(a,b,this.eventMap)}}]);return b}(g.a)},function(g,e,a){e.b=function(a,e,g,c){for(;e<g;){var b=a[e];c(b)?++e:(--g,a[e]=a[g],a[g]=b)}return g};e.a=function(a,e){if(a.length===e)return a;e=new a.constructor(e);e.set(a);return e}},function(g,e,a){g=new (a(134).a);e.a=g},function(g,e,a){function p(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function n(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
-return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function m(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a){var c,d,f;return function(h,e){if(void 0!==d&&(void 0===c||void 0===h||c.generation!==h.generation))return void 0===
-c&&f.addConsumer(e),d;c=void 0;f=new b.c;return d=a(h,f).then(function(a){c=a;f=void 0;return a},function(a){f.isCanceled&&(d=f=void 0);throw a;})}}a.d(e,"b",function(){return h});e.c=function(a){var b=0;return c(function(c,d){return a(d).then(function(a){return{generation:++b,credentials:a}})})};a.d(e,"a",function(){return k});var b=a(26);g=a(1);var d=a(84),f=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=
-!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),h=function(a){function b(){p(this,b);return n(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}m(b,a);return b}(g.a),q=function(){function a(){p(this,a);this.providers=new Map}f(a,[{key:"register",value:function(a,b){this.providers.set(a,b)}},{key:"getCredentialsProvider",value:function(a,b){var c=this.providers.get(a);if(void 0===c)throw Error("No registered credentials provider: "+
-JSON.stringify(a));return c(b)}}]);return a}(),k=function(a){function b(){p(this,b);return n(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,new q))}m(b,a);f(b,[{key:"register",value:function(a,b){this.base.register(a,b)}}]);return b}(function(a){function b(a){p(this,b);var c=n(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.base=a;c.memoize=new d.b;return c}m(b,a);f(b,[{key:"getCredentialsProvider",value:function(a,b){var c=this;return this.memoize.get({key:a,parameters:b},function(){return c.registerDisposer(c.base.getCredentialsProvider(a,
-b).addRef())})}}]);return b}(g.a))},function(g,e,a){a.d(e,"c",function(){return p});e.a="/ocp/ca";e.b="/nd/sd";var p=function m(){if(!(this instanceof m))throw new TypeError("Cannot call a class as a function");};p.RPC_ID="ndstore/VolumeChunkSource"},function(g,e,a){function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+
-typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function m(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function c(a,b,c){Object(v.u)(a);var d=Object(v.w)(a,"Base",function(a){return new C(a)});switch(d.typeName){case "uint8blk":case "grayscale8":return new D(a,b,d,l.c.JPEG,c);case "imagetile":return new T(a,b,d);case "labels64":case "labelblk":return new D(a,
-b,d,l.c.COMPRESSED_SEGMENTATION,c);default:throw Error("DVID data type "+JSON.stringify(d.typeName)+" is not supported.");}}function b(a){try{for(var b=Object(v.v)(a,function(a){return new S(a)}),c=new Map,d=$jscomp.makeIterator(b),f=d.next();!f.done;f=d.next()){var h=$jscomp.makeIterator(f.value),e=h.next().value,k=h.next().value;c.set(e,k);for(var l=$jscomp.makeIterator(k.vnodes),g=l.next();!g.done;g=l.next()){var q=g.value;if(q!==e){var r=new S(k);c.set(q,r)}}}for(var t=$jscomp.makeIterator(c),
-m=t.next();!m.done;m=t.next()){var n=$jscomp.makeIterator(m.value),p=n.next().value;n.next().value.uuid=p}return c}catch(Ma){throw Error("Failed to parse DVID repositories info: "+Ma.message);}}function d(a,b){return a.memoize.getUncounted({type:"dvid:getServerInfo",baseUrls:b},function(){var a=Object(x.d)(Object(x.b)(b,"/api/repos/info","GET"),"json").then(function(a){return new L(a)}),c="repository info for DVID server "+b[0];y.a.forPromise(a,{initialMessage:"Retrieving "+c+".",delay:!0,errorPrefix:"Error retrieving "+
-c+": "});return a})}function f(a,b,c,d){return a.memoize.getUncounted({type:"dvid:getInstanceDetails",baseUrls:b,nodeKey:c,name:d.name},function(){var a=Object(x.d)(Object(x.b)(b,"/api/node/"+c+"/"+d.name+"/info","GET"),"json"),f="datainstance info for node "+c+" and instance "+d.name+" "+("on DVID server "+b[0]);y.a.forPromise(a,{initialMessage:"Retrieving "+f+".",delay:!0,errorPrefix:"Error retrieving "+f+": "});return a.then(function(a){a=Object(v.w)(a,"Extended",v.u);d.lowerVoxelBound=Object(v.w)(a,
-"MinPoint",function(a){return Object(v.d)(B.p.create(),a)});d.upperVoxelBound=Object(v.w)(a,"MaxPoint",function(a){return Object(v.d)(B.p.create(),a)});return d})})}function h(a,b,c,h){return d(a,b).then(function(d){d=d.getNode(c);if(void 0===d)throw Error("Invalid node: "+JSON.stringify(c)+".");d=d.dataInstances.get(h);if(!(d instanceof D||d instanceof T))throw Error("Invalid data instance "+h+".");return f(a,b,c,d)}).then(function(d){return a.memoize.getUncounted({type:"dvid:MultiscaleVolumeChunkSource",
-baseUrls:b,nodeKey:c,dataInstanceKey:h},function(){return new P(a,b,c,h,d)})})}function q(a,b){var c=b.match(Y);if(null===c)throw Error("Invalid DVID URL: "+JSON.stringify(b)+".");return h(a,[c[1]],c[2],c[3])}function k(a,b){return{offset:0,completions:Object(z.c)(b,a.dataInstances.values(),function(a){return a.name},function(a){return""+a.base.typeName})}}function t(a,b){var c=b.match(/^(?:([^\/]+)(?:\/([^\/]*))?)?$/);if(null===c)throw Error("Invalid DVID URL syntax.");if(void 0===c[2])return{offset:0,
-completions:Object(z.c)(b,a.repositories.values(),function(a){return a.uuid+"/"},function(a){return a.alias+": "+a.description})};b=c[1];a=a.getNode(b);return Object(z.a)(b.length+1,k(a,c[2]))}function r(a,b){a=a.match(/^((?:http|https):\/\/[^\/]+)\/(.*)$/);if(null===a)return Promise.reject(null);var c=a[1],f=a[2];return d(b,[c]).then(function(a){return Object(z.a)(c.length+1,t(a,f))})}Object.defineProperty(e,"__esModule",{value:!0});a.d(e,"getVolume",function(){return q});a.d(e,"volumeCompleter",
-function(){return r});a.d(e,"DataInstanceBaseInfo",function(){return C});a.d(e,"DataInstanceInfo",function(){return G});a.d(e,"VolumeDataInstanceInfo",function(){return D});a.d(e,"TileLevelInfo",function(){return O});a.d(e,"TileDataInstanceInfo",function(){return T});e.parseDataInstance=c;a.d(e,"RepositoryInfo",function(){return S});e.parseRepositoriesInfo=b;a.d(e,"ServerInfo",function(){return L});e.getServerInfo=d;e.getDataInstanceDetails=f;a.d(e,"MultiscaleVolumeChunkSource",function(){return P});
-e.getShardedVolume=h;e.completeInstanceName=k;e.completeNodeAndInstance=t;a.d(e,"DVIDDataSource",function(){return aa});g=a(23);e=a(39);var l=a(238),u=a(19),A=a(28),y=a(40),z=a(46),B=a(3),x=a(47),v=a(6),E=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),F=new Map;F.set("uint8",u.a.UINT8);F.set("uint32",u.a.UINT32);
-F.set("uint64",u.a.UINT64);var C=function(){function a(b){m(this,a);this.obj=b;Object(v.u)(b);Object(v.w)(b,"TypeName",v.B)}E(a,[{key:"typeName",get:function(){return this.obj.TypeName}}]);return a}(),G=function M(a,b,c){m(this,M);this.obj=a;this.name=b;this.base=c},H=function(a){function b(){m(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);return b}(Object(g.f)(A.b,l.d)),D=function(a){function b(a,c,d,f,h){m(this,b);d=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,
-a,c,d));d.encoding=f;a=Object(v.w)(a,"Extended",v.u);f=Object(v.w)(a,"Values",function(a){return Object(v.a)(a,v.u)});if(1>f.length)throw Error("Expected Extended.Values property to have length >= 1, but received: ${JSON.stringify(extendedValues)}.");d.numLevels=1;for(h=new Set(h);h.has(c+"_"+d.numLevels.toString());)d.numLevels+=1;d.dataType=Object(v.w)(f[0],"DataType",function(a){return Object(v.t)(a,F)});d.voxelSize=Object(v.w)(a,"VoxelSize",function(a){return Object(v.c)(B.p.create(),a,v.p)});
-d.numChannels=1;return d}n(b,a);E(b,[{key:"getSources",value:function(a,b,c){for(var d=this.encoding,f=[],h={},e=0;e<this.numLevels;h={volParameters:h.volParameters},++e){for(var k=B.p.scale(B.p.create(),this.voxelSize,Math.pow(2,e)),g=B.p.create(),q=B.p.create(),r=0;3>r;++r)g[r]=Math.floor(this.voxelSize[r]/k[r]*this.lowerVoxelBound[r]),q[r]=Math.ceil(this.voxelSize[r]/k[r]*this.upperVoxelBound[r]);r=b.dataInstanceKey;0<e&&(r+="_"+e.toString());h.volParameters={baseUrls:b.baseUrls,nodeKey:b.nodeKey,
-dataInstanceKey:r,encoding:d};k=u.c.getDefaults({voxelSize:k,dataType:this.dataType,numChannels:this.numChannels,transform:B.j.fromTranslation(B.j.create(),B.p.multiply(B.p.create(),g,k)),baseVoxelOffset:g,upperVoxelBound:B.p.subtract(B.p.create(),q,g),volumeType:this.volumeType,volumeSourceOptions:c,compressedSegmentationBlockSize:d===l.c.COMPRESSED_SEGMENTATION?B.p.fromValues(8,8,8):void 0}).map(function(b){return function(c){return a.getChunkSource(H,{spec:c,parameters:b.volParameters})}}(h));
-f.push(k)}return f}},{key:"volumeType",get:function(){return this.encoding===l.c.COMPRESSED_SEGMENTATION?u.d.SEGMENTATION:u.d.IMAGE}}]);return b}(G),O=function Ba(a){m(this,Ba);Object(v.u)(a);this.resolution=Object(v.w)(a,"Resolution",function(a){return Object(v.c)(B.p.create(),a,v.p)});this.tileSize=Object(v.w)(a,"TileSize",function(a){return Object(v.c)(B.p.create(),a,v.A)})},J=[[0,1],[0,2],[1,2]],Q=function(a){function b(){m(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,
-arguments))}n(b,a);return b}(Object(g.f)(A.b,l.a)),T=function(a){function b(a,c,d){m(this,b);c=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a,c,d));a=Object(v.w)(a,"Extended",v.u);c.levels=Object(v.w)(a,"Levels",function(a){return Object(v.v)(a,function(a){return new O(a)})});d=c.levels.get("0");if(void 0===d)throw Error("Level 0 is not defined.");c.voxelSize=d.resolution;var f=Object(v.w)(a,"MinTileCoord",function(a){return Object(v.c)(B.p.create(),a,v.s)}),h=Object(v.w)(a,"MaxTileCoord",
-function(a){return Object(v.c)(B.p.create(),a,v.s)});c.lowerVoxelBound=B.p.multiply(B.p.create(),d.tileSize,f);c.upperVoxelBound=B.p.multiply(B.p.create(),d.tileSize,h);a=Object(v.w)(a,"Encoding",function(a){return a});switch(a){case 2:c.encoding=l.b.JPEG;break;default:throw Error("Unsupported tile encoding: "+JSON.stringify(a)+".");}return c}n(b,a);E(b,[{key:"dataType",get:function(){return u.a.UINT8}},{key:"volumeType",get:function(){return u.d.IMAGE}},{key:"numChannels",get:function(){return 1}}]);
-E(b,[{key:"getSources",value:function(a,b,c){for(var d=this,f=[],h=this.numChannels,e=this.dataType,k=this.encoding,l={},g=$jscomp.makeIterator(this.levels),q=g.next();!q.done;l={levelInfo:l.levelInfo,level:l.level},q=g.next())q=$jscomp.makeIterator(q.value),l.level=q.next().value,l.levelInfo=q.next().value,q=J.map(function(f){return function(l){for(var g=B.p.clone(d.voxelSize),q=B.p.fromValues(1,1,1),r=0;2>r;++r)g[l[r]]=f.levelInfo.resolution[l[r]],q[l[r]]=f.levelInfo.tileSize[l[r]];r=B.p.create();
-for(var t=B.p.create(),m=0;3>m;++m)r[m]=Math.floor(d.voxelSize[m]/g[m]*d.lowerVoxelBound[m]),t[m]=Math.ceil(d.voxelSize[m]/g[m]*d.upperVoxelBound[m]);g=u.c.make({voxelSize:g,chunkDataSize:q,numChannels:h,dataType:e,lowerVoxelBound:r,upperVoxelBound:t,volumeSourceOptions:c});return a.getChunkSource(Q,{spec:g,parameters:{baseUrls:b.baseUrls,nodeKey:b.nodeKey,dataInstanceKey:b.dataInstanceKey,encoding:k,level:f.level,dims:l[0]+"_"+l[1]}})}}(l)),f.push(q);return f}}]);return b}(G),S=function Ua(a){m(this,
-Ua);this.errors=[];this.dataInstances=new Map;this.vnodes=new Set;if(a instanceof Ua)this.alias=a.alias,this.description=a.description,this.errors=a.errors,this.dataInstances=a.dataInstances;else{Object(v.u)(a);this.alias=Object(v.w)(a,"Alias",v.B);this.description=Object(v.w)(a,"Description",v.B);for(var b=Object(v.w)(a,"DataInstances",v.u),d=Object.keys(b),f=$jscomp.makeIterator(d),h=f.next();!h.done;h=f.next()){h=h.value;try{this.dataInstances.set(h,c(b[h],h,d))}catch(Ha){h="Failed to parse data instance "+
-JSON.stringify(h)+": "+Ha.message,console.log(h),this.errors.push(h)}}a=Object(v.w)(a,"DAG",v.u);a=Object(v.w)(a,"Nodes",v.u);a=$jscomp.makeIterator(Object.keys(a));for(h=a.next();!h.done;h=a.next())this.vnodes.add(h.value)}},L=function(){function a(c){m(this,a);this.repositories=b(c)}E(a,[{key:"getNode",value:function(a){for(var b=[],c=$jscomp.makeIterator(this.repositories.keys()),d=c.next();!d.done;d=c.next())d=d.value,d.startsWith(a)&&b.push(d);if(1!==b.length)throw Error("Node key "+JSON.stringify(a)+
-" matches "+JSON.stringify(b)+" nodes.");return this.repositories.get(b[0])}}]);return a}(),P=function(){function a(b,c,d,f,h){m(this,a);this.chunkManager=b;this.baseUrls=c;this.nodeKey=d;this.dataInstanceKey=f;this.info=h}E(a,[{key:"getSources",value:function(a){return this.info.getSources(this.chunkManager,{baseUrls:this.baseUrls,nodeKey:this.nodeKey,dataInstanceKey:this.dataInstanceKey},a)}},{key:"getMeshSource",value:function(){return null}},{key:"dataType",get:function(){return this.info.dataType}},
-{key:"numChannels",get:function(){return this.info.numChannels}},{key:"volumeType",get:function(){return this.info.volumeType}}]);return a}(),Y=/^((?:http|https):\/\/[^\/]+)\/([^\/]+)\/([^\/]+)$/,aa=function(a){function b(){m(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);E(b,[{key:"getVolume",value:function(a,b){return q(a,b)}},{key:"volumeCompleter",value:function(a,b){return r(a,b)}},{key:"description",get:function(){return"DVID"}}]);return b}(e.a)},
-function(g,e,a){function p(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function n(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function m(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,
-configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a){var c=Object(D.a)(a,D.u);if(1>c.length)throw Error("No stacks found for owner object.");a=new Map;var e=Object(D.w)(c[0],"stackId",d);c=$jscomp.makeIterator(c);for(var k=c.next();!k.done;k=c.next()){var l=k.value;k=Object(D.w)(l,"stackId",b);Object(D.u)(l);var g=Object(D.w)(l,"state",D.B);if(S.has(g)){g=Object(D.w)(l,"stats",D.u);var r=g;Object(D.u)(r);r=Object(D.w)(r,"stackBounds",D.u);var m=G.p.create();
-m[0]=Object(D.w)(r,"minX",D.q);m[1]=Object(D.w)(r,"minY",D.q);m[2]=Object(D.w)(r,"minZ",D.q);r=m;m=g;Object(D.u)(m);m=Object(D.w)(m,"stackBounds",D.u);var t=G.p.create();t[0]=Object(D.w)(m,"maxX",D.q);t[1]=Object(D.w)(m,"maxY",D.q);t[2]=Object(D.w)(m,"maxZ",D.q);m=t;t=[];g.hasOwnProperty("channelNames")&&(t=f(g));g=Object(D.w)(l,"currentVersion",h);l=Object(D.w)(l,"stackId",q);l={lowerVoxelBound:r,upperVoxelBound:m,voxelResolution:g,project:l,channels:t}}else l=void 0;void 0!==l&&(g=l.project,r=a.get(g),
-void 0===r&&(r=new Map,a.set(g,{stacks:r}),r=a.get(g)),r.stacks.set(k,l))}return{owner:e,projects:a}}function b(a){Object(D.u)(a);return Object(D.w)(a,"stack",D.B)}function d(a){Object(D.u)(a);return Object(D.w)(a,"owner",D.B)}function f(a){Object(D.u)(a);return Object(D.w)(a,"channelNames",function(a){return Object(D.a)(a,D.B)})}function h(a){Object(D.u)(a);var b=G.p.create();try{b[0]=Object(D.w)(a,"stackResolutionX",D.q),b[1]=Object(D.w)(a,"stackResolutionY",D.q),b[2]=Object(D.w)(a,"stackResolutionZ",
-D.q)}catch(Ua){b[0]=1,b[1]=1,b[2]=1}return b}function q(a){Object(D.u)(a);return Object(D.w)(a,"project",D.B)}function k(a,b){for(var c=0,d=0;2>d;d++)c<a.upperVoxelBound[d]&&(c=a.upperVoxelBound[d]);if(b>=c)return 1;for(a=0;c>b;)c/=2,a++;return a}function t(a,b,d){return a.memoize.getUncounted({type:"render:getOwnerInfo",hostnames:b,owner:d},function(){return Object(H.d)(Object(H.b)(b,"/render-ws/v1/owner/"+d+"/stacks"),"json").then(c)})}function r(a,b,c){var d=c.match(P);if(null===d)throw Error("Invalid volume path "+
-JSON.stringify(c));var f=d[1],h=d[2],e=d[3],k=d[4],l=Object(D.e)(d[5]||"");return a.memoize.getUncounted({type:"render:MultiscaleVolumeChunkSource",hostnames:b,path:c},function(){return t(a,b,f).then(function(c){return new L(a,b,c,e,h,k,l)})})}function l(a,b){var c=b.match(Y);if(null===c)throw Error("Invalid render volume path: "+JSON.stringify(b));b=c[1].split(",");return r(a,b,c[2])}function u(a,b,c){var d=c.match(/^(?:([^\/]+)(?:\/([^\/]*))?(?:\/([^\/]*))?(\/.*?)?)?$/);if(null===d||void 0===d[2])return Promise.reject(null);
-if(void 0===d[3]){var f=d[2]||"";return t(a,b,d[1]).then(function(a){a=Object(C.c)(f,a.projects,function(a){return a[0]+"/"},function(){});return{offset:d[1].length+1,completions:a}})}if(void 0===d[4]){var h=d[3]||"";return t(a,b,d[1]).then(function(a){a=a.projects.get(d[2]);if(void 0===a)return Promise.reject(null);a=Object(C.c)(h,a.stacks,function(a){return a[0]+"/"},function(a){return"("+a[1].project+")"});return{offset:d[1].length+d[2].length+2,completions:a}})}var e=d[4].substr(1)||"";return t(a,
-b,d[1]).then(function(a){a=a.projects.get(d[2]);if(void 0===a)return Promise.reject(null);a=a.stacks.get(d[3]);if(void 0===a)return Promise.reject(null);a=a.channels;if(0===a.length)return Promise.reject(null);a=Object(C.c)(e,a,function(a){return a},function(){});return{offset:d[1].length+d[2].length+d[3].length+3,completions:a}})}function A(a,b){var c=a.match(Y);if(null===c)return Promise.reject(null);a=c[1].split(",");return u(b,a,c[2]).then(function(a){return Object(C.a)(c[1].length+1,a)})}function y(a,
-b){var c=b.match(Y);if(null===c)throw Error("Invalid render point path: "+JSON.stringify(b));return z(a,[c[1]],c[2])}function z(a,b,c){var d=c.match(P);if(null===d)throw Error("Invalid point path "+JSON.stringify(c));var f=d[1],h=d[2],e=d[3],k=Object(D.e)(d[4]||"");return a.memoize.getUncounted({type:"render:MultiscaleVectorGraphicsChunkSource",hostnames:b,path:c},function(){return t(a,b,f).then(function(c){return new aa(a,b,c,e,h,k)})})}Object.defineProperty(e,"__esModule",{value:!0});a.d(e,"getVolume",
-function(){return l});a.d(e,"volumeCompleter",function(){return A});a.d(e,"MultiscaleVolumeChunkSource",function(){return L});e.computeStackHierarchy=k;e.getOwnerInfo=t;e.getShardedVolume=r;e.stackAndProjectCompleter=u;a.d(e,"MultiscaleVectorGraphicsChunkSource",function(){return aa});e.getPointMatches=y;e.getShardedPointMatches=z;a.d(e,"RenderDataSource",function(){return I});g=a(23);e=a(39);var B=a(240),x=a(92),v=a(138),E=a(19),F=a(28),C=a(46),G=a(3),H=a(47),D=a(6),O=function(){function a(a,b){for(var c=
-0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),J=new Set(["jpg"]),Q=function(a){function b(){p(this,b);return n(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}m(b,a);return b}(Object(g.f)(F.b,B.b)),T=function(a){function b(){p(this,b);return n(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}m(b,a);return b}(Object(g.f)(v.b,
-B.a)),S=new Set(["COMPLETE"]),L=function(){function a(b,c,d,f,h,e,k){p(this,a);this.chunkManager=b;this.baseUrls=c;this.ownerInfo=d;this.project=h;this.parameters=k;b=d.projects.get(h);if(void 0===b)throw Error("Specified project "+JSON.stringify(h)+" does not exist for "+("specified owner "+JSON.stringify(d.owner)));if(void 0===f){f=Array.from(b.stacks.keys());if(1!==f.length)throw Error("Dataset contains multiple stacks: "+JSON.stringify(f));f=f[0]}d=b.stacks.get(f);if(void 0===d)throw Error("Specified stack "+
-JSON.stringify(f)+" is not one of the supported stacks: "+JSON.stringify(Array.from(b.stacks.keys())));this.stack=f;this.stackInfo=d;void 0!==e&&0<e.length&&(this.channel=e);this.minIntensity=Object(D.y)(k.minIntensity);this.maxIntensity=Object(D.y)(k.maxIntensity);this.maxTileSpecsToRender=Object(D.y)(k.maxTileSpecsToRender);this.filter=Object(D.x)(k.filter);e=Object(D.z)(k.encoding);if(void 0===e)e="jpg";else if(!J.has(e))throw Error("Invalid encoding: "+JSON.stringify(e)+".");this.encoding=e;this.numLevels=
-Object(D.y)(k.numlevels);this.dims=G.p.create();k=Object(D.y)(k.tilesize);void 0===k&&(k=1024);this.dims[0]=k;this.dims[1]=k;this.dims[2]=1}O(a,[{key:"getSources",value:function(a){var b=[],c=this.numLevels;void 0===c&&(c=k(this.stackInfo,this.dims[0]));for(var d=G.p.create(),f=G.p.create(),h=0;3>h;h++)d[h]=this.stackInfo.lowerVoxelBound[h]*this.stackInfo.voxelResolution[h],f[h]=this.stackInfo.upperVoxelBound[h]*this.stackInfo.voxelResolution[h];for(h=0;h<c;h++){for(var e=G.p.clone(this.stackInfo.voxelResolution),
-l=G.p.fromValues(1,1,1),g=0;2>g;++g)e[g]*=Math.pow(2,h),l[g]=this.dims[g];g=G.p.create();for(var q=G.p.create(),r=0;3>r;r++)g[r]=Math.floor(this.stackInfo.voxelResolution[r]/e[r]*this.stackInfo.lowerVoxelBound[r]),q[r]=Math.ceil(this.stackInfo.voxelResolution[r]/e[r]*this.stackInfo.upperVoxelBound[r]);e=E.c.make({voxelSize:e,chunkDataSize:l,numChannels:this.numChannels,dataType:this.dataType,lowerClipBound:d,upperClipBound:f,lowerVoxelBound:g,upperVoxelBound:q,volumeSourceOptions:a});e=this.chunkManager.getChunkSource(Q,
-{spec:e,parameters:{baseUrls:this.baseUrls,owner:this.ownerInfo.owner,project:this.stackInfo.project,stack:this.stack,channel:this.channel,minIntensity:this.minIntensity,maxIntensity:this.maxIntensity,maxTileSpecsToRender:this.maxTileSpecsToRender,filter:this.filter,dims:this.dims[0]+"_"+this.dims[1],level:h,encoding:this.encoding}});b.push([e])}return b}},{key:"getMeshSource",value:function(){return null}},{key:"dataType",get:function(){return E.a.UINT8}},{key:"numChannels",get:function(){return 3}},
-{key:"volumeType",get:function(){return E.d.IMAGE}}]);return a}(),P=/^([^\/?]+)(?:\/([^\/?]+))?(?:\/([^\/?]+))(?:\/([^\/?]*))?(?:\?(.*))?$/,Y=/^((?:(?:(?:http|https):\/\/[^,\/]+)[^\/?])+)\/(.*)$/,aa=function(){function a(b,c,d,f,h,e){p(this,a);this.chunkManager=b;this.baseUrls=c;this.ownerInfo=d;this.project=h;this.parameters=e;b=d.projects.get(h);if(void 0===b)throw Error("Specified project "+JSON.stringify(h)+" does not exist for "+("specified owner "+JSON.stringify(d.owner)));if(void 0===f){f=
-Array.from(b.stacks.keys());if(1!==f.length)throw Error("Dataset contains multiple stacks: "+JSON.stringify(f));f=f[0]}d=b.stacks.get(f);if(void 0===d)throw Error("Specified stack "+JSON.stringify(f)+" is not one of the supported stacks: "+JSON.stringify(Array.from(b.stacks.keys())));this.stack=f;this.stackInfo=d;d=Object(D.z)(e.matchCollection);void 0===d&&(d=f);this.matchCollection=d;f=Object(D.y)(e.zoffset);void 0===f&&(f=1);this.zoffset=f;this.dims=G.p.create();e=Object(D.y)(e.tilesize);void 0===
-e&&(e=1024);this.dims[0]=e;this.dims[1]=e;this.dims[2]=1}O(a,[{key:"getSources",value:function(a){for(var b=G.p.clone(this.stackInfo.voxelResolution),c=G.p.create(),d=G.p.create(),f=0;3>f;f++)c[f]=Math.floor(this.stackInfo.voxelResolution[f]/b[f]*this.stackInfo.lowerVoxelBound[f]),d[f]=Math.ceil(this.stackInfo.voxelResolution[f]/b[f]*this.stackInfo.upperVoxelBound[f]);f=G.p.clone(d);f[0]+=Math.abs(c[0]);f[1]+=Math.abs(c[1]);f[2]=1;a=x.b.make({voxelSize:b,lowerVoxelBound:c,upperVoxelBound:d,chunkDataSize:f,
-vectorGraphicsSourceOptions:a});return[[this.chunkManager.getChunkSource(T,{spec:a,parameters:{baseUrls:this.baseUrls,owner:this.ownerInfo.owner,project:this.stackInfo.project,stack:this.stack,encoding:"points",matchCollection:this.matchCollection,zoffset:this.zoffset}})]]}}]);return a}(),I=function(a){function b(){p(this,b);return n(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}m(b,a);O(b,[{key:"getVolume",value:function(a,b){return l(a,b)}},{key:"volumeCompleter",value:function(a,
-b){return A(a,b)}},{key:"getVectorGraphicsSource",value:function(a,b){return y(a,b)}},{key:"description",get:function(){return"Render"}}]);return b}(e.a)},function(g,e,a){function p(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function n(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function m(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+
-typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(e,"a",function(){return q});a.d(e,"b",function(){return t});g=a(43);e=a(87);var c=a(92),b=a(30),d=a(15),f=function l(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return l(a,b,c)}else{if("value"in d)return d.value;b=d.get;
-return void 0===b?void 0:b.call(c)}},h=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),q=function(a){function b(a,f){f=void 0===f?{}:f;f=void 0===f.sourceOptions?{}:f.sourceOptions;p(this,b);a=n(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a.chunkManager,a.getSources(f)));a.shader=void 0;a.shaderUpdated=
-!0;a.rpcId=null;f=a.registerDisposer(new d.b);f.RPC_TYPE_ID=c.a;f.initializeCounterpart(a.chunkManager.rpc,{sources:a.sourceIds});a.rpcId=f.rpcId;return a}m(b,a);h(b,[{key:"defineShader",value:function(a){a.addFragmentCode("\nvoid emit(vec4 color) {\n  gl_FragColor = color;\n}\nvoid emitRGBA(vec4 rgba) {\n  emit(vec4(rgba.rgb, rgba.a * uOpacity));\n}\nvoid emitRGB(vec3 rgb) {\n  emit(vec4(rgb, uOpacity));\n}\nvoid emitGrayscale(float value) {\n  emit(vec4(value, value, value, uOpacity));\n}\nvoid emitTransparent() {\n  emit(vec4(0.0, 0.0, 0.0, 0.0));\n}\n")}},
-{key:"beginSlice",value:function(a){a=this.shader;a.bind();return a}}]);return b}(e.a),k=function(a){function c(a,b){p(this,c);a=n(this,(c.__proto__||Object.getPrototypeOf(c)).call(this,a,b));a.vertexPositions=b.vertexPositions;a.numPoints=Math.floor(a.vertexPositions.length/3);return a}m(c,a);h(c,[{key:"copyToGPU",value:function(a){f(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"copyToGPU",this).call(this,a);this.vertexBuffer=b.a.fromData(a,this.vertexPositions,a.ARRAY_BUFFER,a.STATIC_DRAW)}},
-{key:"freeGPUMemory",value:function(a){f(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"freeGPUMemory",this).call(this,a);this.vertexBuffer.dispose()}}]);return c}(g.b),t=function(a){function b(){p(this,b);return n(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}m(b,a);h(b,[{key:"getChunk",value:function(a){return new k(this,a)}},{key:"vectorGraphicsCoordinatesInVoxels",get:function(){return!0}}]);return b}(g.c)},function(g,e,a){function p(a,c){if("function"!==typeof c&&
-null!==c)throw new TypeError("Super expression must either be null or a function, not "+typeof c);a.prototype=Object.create(c&&c.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});c&&(Object.setPrototypeOf?Object.setPrototypeOf(a,c):a.__proto__=c)}Object.defineProperty(e,"__esModule",{value:!0});a.d(e,"OpenConnectomeDataSource",function(){return c});var n=a(135),m=["http://openconnecto.me","http://www.openconnecto.me"],c=function(a){function b(){if(!(this instanceof b))throw new TypeError("Cannot call a class as a function");
-var a=(b.__proto__||Object.getPrototypeOf(b)).call(this,"NDstore server hosted at openconnecto.me",m,n.a);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!a||"object"!==typeof a&&"function"!==typeof a?this:a}p(b,a);return b}(a(91).SingleServerDataSource)},function(g,e,a){function p(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function n(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
-return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function m(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a,b){return a.getChunkSource(z,{parameters:b})}function b(a,b,c){return a.memoize.getUncounted({type:"precomputed:MultiscaleVolumeChunkSource",
-baseUrls:b,path:c},function(){return Object(l.d)(Object(l.b)(b,c+"/info"),"json").then(function(d){return new x(a,b,c,d)})})}function d(a,b){var d=$jscomp.makeIterator(Object(l.c)(b));b=d.next().value;d=d.next().value;return c(a,{baseUrls:b,path:d,lod:0})}function f(a,c){var d=$jscomp.makeIterator(Object(l.c)(c));c=d.next().value;d=d.next().value;return b(a,c,d)}Object.defineProperty(e,"__esModule",{value:!0});a.d(e,"getMeshSource",function(){return d});a.d(e,"getVolume",function(){return f});a.d(e,
-"MultiscaleVolumeChunkSource",function(){return x});e.getShardedMeshSource=c;e.getShardedVolume=b;a.d(e,"PrecomputedDataSource",function(){return v});g=a(23);e=a(39);var h=a(243),q=a(61),k=a(19),t=a(28),r=a(3),l=a(47),u=a(6),A=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),y=function(a){function b(){p(this,
-b);return n(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}m(b,a);return b}(Object(g.f)(t.b,h.c)),z=function(a){function b(){p(this,b);return n(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}m(b,a);return b}(Object(g.f)(q.c,h.a)),B=function F(a){p(this,F);Object(u.u)(a);this.resolution=Object(u.w)(a,"resolution",function(a){return Object(u.c)(r.p.create(),a,u.p)});this.voxelOffset=Object(u.w)(a,"voxel_offset",function(a){return Object(u.d)(r.p.create(),a)});
-this.size=Object(u.w)(a,"size",function(a){return Object(u.c)(r.p.create(),a,u.A)});this.chunkSizes=Object(u.w)(a,"chunk_sizes",function(a){return Object(u.a)(a,function(a){return Object(u.c)(r.p.create(),a,u.A)})});if(0===this.chunkSizes.length)throw Error("No chunk sizes specified.");(this.encoding=Object(u.w)(a,"encoding",function(a){return Object(u.n)(a,h.b)}))===h.b.COMPRESSED_SEGMENTATION&&(this.compressedSegmentationBlockSize=Object(u.w)(a,"compressed_segmentation_block_size",function(a){return Object(u.c)(r.p.create(),
-a,u.A)}));this.key=Object(u.w)(a,"key",u.B)},x=function(){function a(b,c,d,f){p(this,a);this.chunkManager=b;this.baseUrls=c;this.path=d;Object(u.u)(f);this.dataType=Object(u.w)(f,"data_type",function(a){return Object(u.n)(a,k.a)});this.numChannels=Object(u.w)(f,"num_channels",u.A);this.volumeType=Object(u.w)(f,"type",function(a){return Object(u.n)(a,k.d)});this.mesh=Object(u.w)(f,"mesh",u.z);this.scales=Object(u.w)(f,"scales",function(a){return Object(u.a)(a,function(a){return new B(a)})})}A(a,[{key:"getMeshSource",
-value:function(){var a=this.mesh;return void 0===a?null:c(this.chunkManager,{baseUrls:this.baseUrls,path:this.path+"/"+a,lod:0})}},{key:"getSources",value:function(a){var b=this;return this.scales.map(function(c){return k.c.getDefaults({voxelSize:c.resolution,dataType:b.dataType,numChannels:b.numChannels,transform:r.j.fromTranslation(r.j.create(),r.p.multiply(r.p.create(),c.resolution,c.voxelOffset)),upperVoxelBound:c.size,volumeType:b.volumeType,chunkDataSizes:c.chunkSizes,baseVoxelOffset:c.voxelOffset,
-compressedSegmentationBlockSize:c.compressedSegmentationBlockSize,volumeSourceOptions:a}).map(function(a){return b.chunkManager.getChunkSource(y,{spec:a,parameters:{baseUrls:b.baseUrls,path:b.path+"/"+c.key,encoding:c.encoding}})})})}}]);return a}(),v=function(a){function b(){p(this,b);return n(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}m(b,a);A(b,[{key:"getVolume",value:function(a,b){return f(a,b)}},{key:"getMeshSource",value:function(a,b){return d(a,b)}},{key:"description",
-get:function(){return"Precomputed file-backed data source"}}]);return b}(e.a)},function(g,e,a){function p(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function n(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function m(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=
-Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a,b,c){return a.rpc.promiseInvoke(d.a,{chunkManager:a.addCounterpartRef(),url:b},c)}function b(a,b){return a.memoize.getUncounted({type:"nifti/getVolume",url:b},function(){return c(a,b,q.e).then(function(c){return new l(a,b,c)})})}Object.defineProperty(e,"__esModule",{value:!0});a.d(e,"getVolume",function(){return b});a.d(e,
-"MultiscaleVolumeChunkSource",function(){return l});a.d(e,"NiftiDataSource",function(){return u});g=a(23);e=a(39);var d=a(245),f=a(19),h=a(28),q=a(26),k=a(3),t=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),r=function(a){function b(){p(this,b);return n(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,
-arguments))}m(b,a);return b}(Object(g.f)(h.b,d.b)),l=function(){function a(b,c,d){p(this,a);this.chunkManager=b;this.url=c;this.info=d}t(a,[{key:"getSources",value:function(a){var b=this.info;a=f.c.withDefaultCompression({volumeType:b.volumeType,chunkDataSize:b.volumeSize,dataType:b.dataType,voxelSize:b.voxelSize,numChannels:b.numChannels,upperVoxelBound:b.volumeSize,transform:Object(k.o)(k.j.create(),b.qoffset,b.quatern,k.g,b.qfac),volumeSourceOptions:a});return[[this.chunkManager.getChunkSource(r,
-{spec:a,parameters:{url:this.url}})]]}},{key:"getMeshSource",value:function(){return null}},{key:"numChannels",get:function(){return this.info.numChannels}},{key:"dataType",get:function(){return this.info.dataType}},{key:"volumeType",get:function(){return this.info.volumeType}}]);return a}(),u=function(a){function c(){p(this,c);return n(this,(c.__proto__||Object.getPrototypeOf(c)).apply(this,arguments))}m(c,a);t(c,[{key:"getVolume",value:function(a,c){return b(a,c)}},{key:"description",get:function(){return"Single NIfTI file"}}]);
-return c}(e.a)},function(g,e,a){function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=
-b)}function m(a){return Object(f.a)(void 0===a?"void main() {\n  emitGrayscale(toNormalized(getDataValue()));\n}\n":a)}e.c=m;a.d(e,"b",function(){return t});g=a(143);var c=a(52),b=a(144),d=a(6),f=a(44),h=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),q=function l(a,b,c){null===a&&(a=Function.prototype);var d=
-Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return l(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};e.a="//NEUROGLANCER_IMAGE_RENDERLAYER_FRAGMENT_MAIN_START";var k=a(90),t=function(a){function e(a,d){var h=void 0===d?{}:d;d=void 0===h.opacity?Object(c.a)(.5):h.opacity;var k=void 0===h.blendMode?Object(b.c)():h.blendMode,l=void 0===h.fragmentMain?m():h.fragmentMain,g=void 0===h.shaderError?Object(f.b)():h.shaderError;
-h=void 0===h.sourceOptions?{}:h.sourceOptions;if(!(this instanceof e))throw new TypeError("Cannot call a class as a function");var q=p(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,a,{shaderError:g,sourceOptions:h}));q.fragmentMain=l;q.opacity=d;q.blendMode=k;q.registerDisposer(d.changed.add(function(){q.redrawNeeded.dispatch()}));q.registerDisposer(l.changed.add(function(){q.shaderUpdated=!0;q.redrawNeeded.dispatch()}));return q}n(e,a);h(e,[{key:"getShaderKey",value:function(){return"volume.ImageRenderLayer:"+
-JSON.stringify(this.fragmentMain.value)}},{key:"getValueAt",value:function(a){for(var b=$jscomp.makeIterator(this.sources),c=b.next();!c.done;c=b.next()){c=$jscomp.makeIterator(c.value);for(var d=c.next();!d.done;d=c.next())if(d=d.value.getValueAt(a),null!=d)return d}return null}},{key:"defineShader",value:function(a){q(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"defineShader",this).call(this,a);a.addUniform("highp float","uOpacity");a.addFragmentCode("\nvoid emitRGBA(vec4 rgba) {\n  emit(vec4(rgba.rgb, rgba.a * uOpacity));\n}\nvoid emitRGB(vec3 rgb) {\n  emit(vec4(rgb, uOpacity));\n}\nvoid emitGrayscale(float value) {\n  emit(vec4(value, value, value, uOpacity));\n}\nvoid emitTransparent() {\n  emit(vec4(0.0, 0.0, 0.0, 0.0));\n}\n");
-a.addFragmentCode(k);a.setFragmentMainFunction("//NEUROGLANCER_IMAGE_RENDERLAYER_FRAGMENT_MAIN_START\n"+this.fragmentMain.value)}},{key:"beginSlice",value:function(a){a=q(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"beginSlice",this).call(this,a);this.gl.uniform1f(a.uniform("uOpacity"),this.opacity.value);return a}},{key:"setGLBlendMode",value:function(a,c){var f=Object(d.n)(this.blendMode.value,b.b);if(f===b.b.ADDITIVE||0<c)a.enable(a.BLEND),b.a.get(f)(a)}}]);return e}(g.a)},function(g,
-e,a){function p(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function n(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function m(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});
-b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a){for(var b=0,c=0;3>c;++c)0>a[c]&&(b+=1<<c);return b}a.d(e,"a",function(){return B});var b=a(25);g=a(87);var d=a(19);e=a(1);var f=a(3),h=a(30),q=a(44),k=a(18),t=a(15),r=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),l=f.p.create(),
-u=f.p.create(),A=f.j.create(),y=function(a){function b(a){p(this,b);var c=n(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.outputVertexIndices=c.registerDisposer(h.a.fromData(a,new Float32Array([0,1,2,3,4,5]),a.ARRAY_BUFFER,a.STATIC_DRAW));c.vertexBasePositions=[0,0,0,1,0,0,0,1,0,1,1,0,0,0,1,1,0,1,0,1,1,1,1,1];a=[0,1,2,4,5,3,6,7];for(var d=[0,1,2,5,3,4,6,7],f=[0,1,1,4,4,7,4,7,1,5,0,1,1,4,4,7,0,2,2,5,5,7,5,7,2,6,0,2,2,5,5,7,0,3,3,6,6,7,6,7,3,4,0,3,3,6,6,7],e=[0,1,2,3,4,5,6,7,1,4,5,0,3,
-7,2,6,2,6,0,5,7,3,1,4,3,0,6,4,1,2,7,5,4,3,7,1,0,6,5,2,5,2,1,7,6,0,4,3,6,7,3,2,5,4,0,1,7,5,4,6,2,1,3,0],k=[],l=0;8>l;++l)for(var g=0;g<f.length;++g)k.push(a[e[8*d[l]+f[g]]]);c.vertexIndices=new Int32Array(k);return c}m(b,a);r(b,null,[{key:"get",value:function(a){return a.memoize.get("SliceViewShaderBuffers",function(){return new b(a)})}}]);return b}(e.a),z=function(a){function b(a){p(this,b);var c=n(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.data=c.registerDisposer(y.get(a));return c}
-m(b,a);r(b,null,[{key:"get",value:function(a){return a.memoize.get("volume.VolumeSliceVertexComputationManager",function(){return new b(a)})}}]);r(b,[{key:"defineShader",value:function(a){var b=this.data;a.addAttribute("highp float","aVertexIndexFloat");a.addUniform("highp vec3","uTranslation");a.addUniform("highp mat4","uProjectionMatrix");a.addUniform("highp vec3","uPlaneNormal");a.addUniform("highp float","uPlaneDistance");a.addUniform("highp ivec2","uVertexIndex",24);a.addUniform("highp vec3",
-"uVertexBasePosition",8);a.addInitializer(function(a){a.gl.uniform3fv(a.uniform("uVertexBasePosition"),new Float32Array(b.vertexBasePositions))});a.addUniform("highp vec3","uChunkDataSize");a.addUniform("highp vec3","uVoxelSize");a.addUniform("highp vec3","uLowerClipBound");a.addUniform("highp vec3","uUpperClipBound");a.addVarying("highp vec3","vChunkPosition");a.setVertexMain("\nvec3 chunkSize = uChunkDataSize * uVoxelSize;\nint vertexIndex = int(aVertexIndexFloat);\nfor (int e = 0; e < 4; ++e) {\n  highp ivec2 vidx = uVertexIndex[vertexIndex*4 + e];\n  highp vec3 v1 = max(uLowerClipBound, min(uUpperClipBound, chunkSize * uVertexBasePosition[vidx.x] + uTranslation));\n  highp vec3 v2 = max(uLowerClipBound, min(uUpperClipBound, chunkSize * uVertexBasePosition[vidx.y] + uTranslation));\n  highp vec3 vDir = v2 - v1;\n  highp float denom = dot(vDir, uPlaneNormal);\n  if (abs(denom) > 0.001) {\n    highp float lambda = (uPlaneDistance - dot(v1, uPlaneNormal)) / denom;\n    if ((lambda >= -0.001) && (lambda <= (1.0 + 0.001))) {\n      lambda = clamp(lambda, 0.0, 1.0);\n      highp vec3 position = v1 + lambda * vDir;\n      gl_Position = uProjectionMatrix * vec4(position, 1.0);\n      vChunkPosition = (position - uTranslation) / uVoxelSize + 0.001 * abs(uPlaneNormal);\n      break;\n    }\n  }\n}\n");
-a.addFragmentCode("\nvec3 getPositionWithinChunk () {\n  return floor(min(vChunkPosition, uChunkDataSize - 1.0));\n}\n")}},{key:"computeVerticesDebug",value:function(a,b,d,h,e,k,l,g){a=f.p.multiply(f.p.create(),a,b);var q=c(k);q=this.data.vertexIndices.subarray(48*q,48*(q+1));for(var r=[0,0],m=[f.p.create(),f.p.create()],t=f.p.create(),n=f.p.create(),p=f.p.create(),u=f.p.create(),A=f.p.fromValues(Math.abs(k[0]),Math.abs(k[1]),Math.abs(k[2])),x=new Float32Array(this.data.vertexBasePositions),B=function(a){return x.subarray(3*
-a,3*a+3)},v=0;6>v;++v)for(var y=0;4>y;++y){for(var E=0;2>E;++E)r[E]=q[2*(4*v+y)+E],f.p.multiply(m[E],a,B(r[E])),f.p.add(m[E],m[E],l),f.p.min(m[E],m[E],h),f.p.max(m[E],m[E],d);f.p.subtract(t,m[1],m[0]);E=f.p.dot(t,k);if(.001<Math.abs(E)){var C=(e-f.p.dot(m[0],k))/E;if(-.001<=C&&1.001>=C){C=Math.max(0,Math.min(1,C));f.p.scaleAndAdd(n,m[0],t,C);f.p.transformMat4(p,n,g);f.p.sub(u,n,l);f.p.divide(u,u,b);f.p.scaleAndAdd(u,u,A,.001);console.log("vertex "+v+", e = "+y+", at "+p+", "+("vChunkPosition = "+
-u+", edge dir = "+t+", denom = "+E));break}else console.log("vertex "+v+", e = "+y+", skipped, deom = "+E+", "+("vDir = "+Object(f.q)(t)+", ")+("uPlaneNormal = "+Object(f.q)(k)+", ")+("lambda="+C))}else console.log("vertex "+v+", e = "+y+", skipped, deom = "+E+", "+("vDir = "+Object(f.q)(t)+", uPlaneNormal = "+Object(f.q)(k)))}}},{key:"beginSlice",value:function(a,b){a=b.attribute("aVertexIndexFloat");this.data.outputVertexIndices.bindToVertexAttrib(a,1)}},{key:"endSlice",value:function(a,b){b=b.attribute("aVertexIndexFloat");
-a.disableVertexAttribArray(b)}},{key:"beginSource",value:function(a,b,d,h,e){var k=e.chunkLayout,g=k.globalToLocalSpatialVector(l,d.viewportAxes[2]);d=f.p.dot(k.globalToLocalSpatial(u,d.centerDataPosition),g);a.uniform3fv(b.uniform("uPlaneNormal"),g);a.uniform1f(b.uniform("uPlaneDistance"),d);g=c(g);a.uniform2iv(b.uniform("uVertexIndex"),this.data.vertexIndices.subarray(48*g,48*(g+1)));a.uniformMatrix4fv(b.uniform("uProjectionMatrix"),!1,f.j.multiply(A,h,k.transform));a.uniform3fv(b.uniform("uVoxelSize"),
-e.voxelSize);a.uniform3fv(b.uniform("uLowerClipBound"),e.lowerClipBound);a.uniform3fv(b.uniform("uUpperClipBound"),e.upperClipBound)}},{key:"setupChunkDataSize",value:function(a,b,c){a.uniform3fv(b.uniform("uChunkDataSize"),c)}},{key:"drawChunk",value:function(a,b,c){a.uniform3fv(b.uniform("uTranslation"),c);a.drawArrays(a.TRIANGLE_FAN,0,6)}}]);return b}(e.a),B=function(a){function c(a,b){var f=void 0===b?{}:b;b=void 0===f.shaderError?Object(q.b)():f.shaderError;f=void 0===f.sourceOptions?{}:f.sourceOptions;
-p(this,c);a=n(this,(c.__proto__||Object.getPrototypeOf(c)).call(this,a.chunkManager,a.getSources(f),{shaderError:b}));a.vertexComputationManager=z.get(a.gl);b=a.registerDisposer(new t.b);b.RPC_TYPE_ID=d.b;b.initializeCounterpart(a.chunkManager.rpc,{sources:a.sourceIds});a.rpcId=b.rpcId;return a}m(c,a);r(c,[{key:"getValueAt",value:function(a){for(var b=$jscomp.makeIterator(this.sources),c=b.next();!c.done;c=b.next()){c=$jscomp.makeIterator(c.value);for(var d=c.next();!d.done;d=c.next())if(d=d.value.getValueAt(a),
-null!=d)return d}return null}},{key:"getShader",value:function(){var a=this,b=this.getShaderKey()+"/"+this.chunkFormat.shaderKey;return this.gl.memoize.get(b,function(){return a.buildShader()})}},{key:"defineShader",value:function(a){this.vertexComputationManager.defineShader(a);a.addFragmentCode("\nvoid emit(vec4 color) {\n  gl_FragData[0] = color;\n}\n");this.chunkFormat.defineShader(a);a.addFragmentCode("\n"+Object(k.a)(this.dataType)+" getDataValue() { return getDataValue(0); }\n")}},{key:"beginSlice",
-value:function(a){a=this.gl;var b=this.shader;b.bind();this.vertexComputationManager.beginSlice(a,b);return b}},{key:"endSlice",value:function(a){this.vertexComputationManager.endSlice(this.gl,a)}},{key:"draw",value:function(a){var c=a.visibleLayers.get(this);if(0!==c.length&&(this.initializeShader(),void 0!==this.shader)){var d=this.gl,h=f.p.create(),e=this.beginSlice(a),k=this.vertexComputationManager,l=this.chunkFormat;l.beginDrawing(d,e);var g={};c=$jscomp.makeIterator(c);for(var q=c.next();!q.done;g=
-{chunkDataSize:g.chunkDataSize},q=c.next()){var r=q.value,m=r.spec.chunkLayout;q=r.chunks;var t=m.size;g.chunkDataSize=void 0;var n=a.visibleChunks.get(m);if(n){k.beginSource(d,e,a,a.dataToDevice,r.spec);r=r.chunkFormat;r.beginSource(d,e);m=function(a){return function(b){a.chunkDataSize=b;k.setupChunkDataSize(d,e,a.chunkDataSize)}}(g);n=$jscomp.makeIterator(n);for(var p=n.next();!p.done;p=n.next())if((p=q.get(p.value))&&p.state===b.d.GPU_MEMORY){var u=p.chunkDataSize;u!==g.chunkDataSize&&m(u);f.p.multiply(h,
-t,p.chunkGridPosition);r.bindChunk(d,e,p);k.drawChunk(d,e,h)}}}l.endDrawing(d,e);this.endSlice(e)}}},{key:"dataType",get:function(){return this.sources[0][0].spec.dataType}},{key:"chunkFormat",get:function(){return this.sources[0][0].chunkFormat}}]);return c}(g.a)},function(g,e,a){function p(a){if(Object(m.n)(a,c))return Object(m.B)(a);throw Error();}a.d(e,"b",function(){return c});e.c=function(a){return new n.a(void 0===a?"default":a,p)};var n=a(14),m=a(6),c;(function(a){a[a.DEFAULT=0]="DEFAULT";
-a[a.ADDITIVE=1]="ADDITIVE"})(c||(c={}));g=new Map;e.a=g;g.set(c.DEFAULT,function(a){a.blendFunc(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA)});g.set(c.ADDITIVE,function(a){a.blendFunc(a.SRC_ALPHA,a.ONE)})},function(g,e,a){(function(a,e){g.exports=e()})(this,function(){function a(a){return new RegExp("(^|\\s)"+a+"(?:$|\\s)\\s*")}function e(a){for(var b=a.childNodes.length;0<b;--b)a.removeChild(a.firstChild);return a}function g(a,b){return e(a).appendChild(b)}function c(a,b,c,d){a=document.createElement(a);c&&
-(a.className=c);d&&(a.style.cssText=d);if("string"==typeof b)a.appendChild(document.createTextNode(b));else if(b)for(c=0;c<b.length;++c)a.appendChild(b[c]);return a}function b(a,b,d,f){a=c(a,b,d,f);a.setAttribute("role","presentation");return a}function d(a,b){3==b.nodeType&&(b=b.parentNode);if(a.contains)return a.contains(b);do if(11==b.nodeType&&(b=b.host),b==a)return!0;while(b=b.parentNode)}function f(){try{var a=document.activeElement}catch(K){a=document.body||null}for(;a&&a.shadowRoot&&a.shadowRoot.activeElement;)a=
-a.shadowRoot.activeElement;return a}function h(b,c){var d=b.className;a(c).test(d)||(b.className+=(d?" ":"")+c)}function q(b,c){b=b.split(" ");for(var d=0;d<b.length;d++)b[d]&&!a(b[d]).test(c)&&(c+=" "+b[d]);return c}function k(a){var b=Array.prototype.slice.call(arguments,1);return function(){return a.apply(null,b)}}function t(a,b,c){b||(b={});for(var d in a)!a.hasOwnProperty(d)||!1===c&&b.hasOwnProperty(d)||(b[d]=a[d]);return b}function r(a,b,c,d,f){null==b&&(b=a.search(/[^\s\u00a0]/),-1==b&&(b=
-a.length));d=d||0;for(f=f||0;;){var w=a.indexOf("\t",d);if(0>w||w>=b)return f+(b-d);f+=w-d;f+=c-f%c;d=w+1}}function l(a,b){for(var c=0;c<a.length;++c)if(a[c]==b)return c;return-1}function u(a,b,c){for(var d=0,f=0;;){var w=a.indexOf("\t",d);-1==w&&(w=a.length);var h=w-d;if(w==a.length||f+h>=b)return d+Math.min(h,b-f);f+=w-d;f+=c-f%c;d=w+1;if(f>=b)return d}}function A(a){for(;vc.length<=a;)vc.push(y(vc)+" ");return vc[a]}function y(a){return a[a.length-1]}function z(a,b){for(var c=[],d=0;d<a.length;d++)c[d]=
-b(a[d],d);return c}function B(a,b,c){for(var d=0,f=c(b);d<a.length&&c(a[d])<=f;)d++;a.splice(d,0,b)}function x(){}function v(a,b){Object.create?a=Object.create(a):(x.prototype=a,a=new x);b&&t(b,a);return a}function E(a){return/\w/.test(a)||"\u0080"<a&&(a.toUpperCase()!=a.toLowerCase()||bg.test(a))}function F(a,b){return b?-1<b.source.indexOf("\\w")&&E(a)?!0:b.test(a):E(a)}function C(a){for(var b in a)if(a.hasOwnProperty(b)&&a[b])return!1;return!0}function G(a){return 768<=a.charCodeAt(0)&&cg.test(a)}
-function H(a,b,c){for(;(0>c?0<b:b<a.length)&&G(a.charAt(b));)b+=c;return b}function D(a,b,c){for(var d=b>c?-1:1;;){if(b==c)return b;var f=(b+c)/2;f=0>d?Math.ceil(f):Math.floor(f);if(f==b)return a(f)?b:c;a(f)?c=f:b=f+d}}function O(a,d,f){this.input=f;this.scrollbarFiller=c("div",null,"CodeMirror-scrollbar-filler");this.scrollbarFiller.setAttribute("cm-not-content","true");this.gutterFiller=c("div",null,"CodeMirror-gutter-filler");this.gutterFiller.setAttribute("cm-not-content","true");this.lineDiv=
-b("div",null,"CodeMirror-code");this.selectionDiv=c("div",null,null,"position: relative; z-index: 1");this.cursorDiv=c("div",null,"CodeMirror-cursors");this.measure=c("div",null,"CodeMirror-measure");this.lineMeasure=c("div",null,"CodeMirror-measure");this.lineSpace=b("div",[this.measure,this.lineMeasure,this.selectionDiv,this.cursorDiv,this.lineDiv],null,"position: relative; outline: none");var w=b("div",[this.lineSpace],"CodeMirror-lines");this.mover=c("div",[w],null,"position: relative");this.sizer=
-c("div",[this.mover],"CodeMirror-sizer");this.sizerWidth=null;this.heightForcer=c("div",null,null,"position: absolute; height: 30px; width: 1px;");this.gutters=c("div",null,"CodeMirror-gutters");this.lineGutter=null;this.scroller=c("div",[this.sizer,this.heightForcer,this.gutters],"CodeMirror-scroll");this.scroller.setAttribute("tabIndex","-1");this.wrapper=c("div",[this.scrollbarFiller,this.gutterFiller,this.scroller],"CodeMirror");U&&8>X&&(this.gutters.style.zIndex=-1,this.scroller.style.paddingRight=
-0);ka||Oa&&Db||(this.scroller.draggable=!0);a&&(a.appendChild?a.appendChild(this.wrapper):a(this.wrapper));this.reportedViewFrom=this.reportedViewTo=this.viewFrom=this.viewTo=d.first;this.view=[];this.externalMeasured=this.renderedView=null;this.lastWrapHeight=this.lastWrapWidth=this.viewOffset=0;this.updateLineNumbers=null;this.nativeBarWidth=this.barHeight=this.barWidth=0;this.scrollbarsClipped=!1;this.lineNumWidth=this.lineNumInnerWidth=this.lineNumChars=null;this.alignWidgets=!1;this.maxLine=
-this.cachedCharWidth=this.cachedTextHeight=this.cachedPaddingH=null;this.maxLineLength=0;this.maxLineChanged=!1;this.wheelDX=this.wheelDY=this.wheelStartX=this.wheelStartY=null;this.shift=!1;this.activeTouch=this.selForContextMenu=null;f.init(this)}function J(a,b){b-=a.first;if(0>b||b>=a.size)throw Error("There is no line "+(b+a.first)+" in the document.");for(;!a.lines;)for(var c=0;;++c){var d=a.children[c],f=d.chunkSize();if(b<f){a=d;break}b-=f}return a.lines[b]}function Q(a,b,c){var d=[],f=b.line;
-a.iter(b.line,c.line+1,function(a){a=a.text;f==c.line&&(a=a.slice(0,c.ch));f==b.line&&(a=a.slice(b.ch));d.push(a);++f});return d}function T(a,b,c){var d=[];a.iter(b,c,function(a){d.push(a.text)});return d}function S(a,b){if(b-=a.height)for(;a;a=a.parent)a.height+=b}function L(a){if(null==a.parent)return null;var b=a.parent;a=l(b.lines,a);for(var c=b.parent;c;b=c,c=c.parent)for(var d=0;c.children[d]!=b;++d)a+=c.children[d].chunkSize();return a+b.first}function P(a,b){var c=a.first;a:do{for(var d=0;d<
-a.children.length;++d){var f=a.children[d],w=f.height;if(b<w){a=f;continue a}b-=w;c+=f.chunkSize()}return c}while(!a.lines);for(d=0;d<a.lines.length;++d){f=a.lines[d].height;if(b<f)break;b-=f}return c+d}function Y(a,b){return b>=a.first&&b<a.first+a.size}function aa(a,b){return String(a.lineNumberFormatter(b+a.firstLineNumber))}function I(a,b,c){void 0===c&&(c=null);if(!(this instanceof I))return new I(a,b,c);this.line=a;this.ch=b;this.sticky=c}function M(a,b){return a.line-b.line||a.ch-b.ch}function Ba(a,
-b){return a.sticky==b.sticky&&0==M(a,b)}function Ua(a){return I(a.line,a.ch)}function pc(a,b){return 0>M(a,b)?b:a}function rc(a,b){return 0>M(a,b)?a:b}function R(a,b){if(b.line<a.first)return I(a.first,0);var c=a.first+a.size-1;if(b.line>c)return I(c,J(a,c).text.length);a=J(a,b.line).text.length;c=b.ch;b=null==c||c>a?I(b.line,a):0>c?I(b.line,0):b;return b}function tc(a,b){for(var c=[],d=0;d<b.length;d++)c[d]=R(a,b[d]);return c}function Cb(a,b,c){this.marker=a;this.from=b;this.to=c}function Ha(a,b){if(a)for(var c=
-0;c<a.length;++c){var d=a[c];if(d.marker==b)return d}}function qc(a,b){if(b.full)return null;var c=Y(a,b.from.line)&&J(a,b.from.line).markedSpans,d=Y(a,b.to.line)&&J(a,b.to.line).markedSpans;if(!c&&!d)return null;a=b.from.ch;var f=b.to.ch,h=0==M(b.from,b.to),w;if(c)for(var e=0;e<c.length;++e){var k=c[e],g=k.marker;if(null==k.from||(g.inclusiveLeft?k.from<=a:k.from<a)||!(k.from!=a||"bookmark"!=g.type||h&&k.marker.insertLeft)){var l=null==k.to||(g.inclusiveRight?k.to>=a:k.to>a);(w||(w=[])).push(new Cb(g,
-k.from,l?null:k.to))}}c=w;var K;if(d)for(w=0;w<d.length;++w)if(e=d[w],k=e.marker,null==e.to||(k.inclusiveRight?e.to>=f:e.to>f)||e.from==f&&"bookmark"==k.type&&(!h||e.marker.insertLeft))g=null==e.from||(k.inclusiveLeft?e.from<=f:e.from<f),(K||(K=[])).push(new Cb(k,g?null:e.from-f,null==e.to?null:e.to-f));d=1==b.text.length;f=y(b.text).length+(d?a:0);if(c)for(h=0;h<c.length;++h)if(w=c[h],null==w.to)(e=Ha(K,w.marker),e)?d&&(w.to=null==e.to?null:e.to+f):w.to=a;if(K)for(a=0;a<K.length;++a)h=K[a],null!=
-h.to&&(h.to+=f),null==h.from?Ha(c,h.marker)||(h.from=f,d&&(c||(c=[])).push(h)):(h.from+=f,d&&(c||(c=[])).push(h));c&&(c=Wd(c));K&&K!=c&&(K=Wd(K));a=[c];if(!d){b=b.text.length-2;var q;if(0<b&&c)for(d=0;d<c.length;++d)null==c[d].to&&(q||(q=[])).push(new Cb(c[d].marker,null,null));for(c=0;c<b;++c)a.push(q);a.push(K)}return a}function Wd(a){for(var b=0;b<a.length;++b){var c=a[b];null!=c.from&&c.from==c.to&&!1!==c.marker.clearWhenEmpty&&a.splice(b--,1)}return a.length?a:null}function ag(a,b,c){var d=null;
-a.iter(b.line,c.line+1,function(a){if(a.markedSpans)for(var b=0;b<a.markedSpans.length;++b){var c=a.markedSpans[b].marker;!c.readOnly||d&&-1!=l(d,c)||(d||(d=[])).push(c)}});if(!d)return null;a=[{from:b,to:c}];for(b=0;b<d.length;++b){c=d[b];for(var f=c.find(0),h=0;h<a.length;++h){var w=a[h];if(!(0>M(w.to,f.from)||0<M(w.from,f.to))){var e=[h,1],k=M(w.from,f.from),g=M(w.to,f.to);(0>k||!c.inclusiveLeft&&!k)&&e.push({from:w.from,to:f.from});(0<g||!c.inclusiveRight&&!g)&&e.push({from:f.to,to:w.to});a.splice.apply(a,
-e);h+=e.length-3}}}return a}function lb(a){var b=a.markedSpans;if(b){for(var c=0;c<b.length;++c)b[c].marker.detachLine(a);a.markedSpans=null}}function Xd(a,b){if(b){for(var c=0;c<b.length;++c)b[c].marker.attachLine(a);a.markedSpans=b}}function Xc(a,b){var c=a.lines.length-b.lines.length;if(0!=c)return c;c=a.find();var d=b.find(),f=M(c.from,d.from)||(a.inclusiveLeft?-1:0)-(b.inclusiveLeft?-1:0);return f?-f:(c=M(c.to,d.to)||(a.inclusiveRight?1:0)-(b.inclusiveRight?1:0))?c:b.id-a.id}function Ma(a,b){a=
-Ia&&a.markedSpans;if(a)for(var c,d=0;d<a.length;++d)if(c=a[d],c.marker.collapsed&&null==(b?c.from:c.to)&&(!f||0>Xc(f,c.marker)))var f=c.marker;return f}function sc(a,b,c,d,f){a=J(a,b);if(a=Ia&&a.markedSpans)for(b=0;b<a.length;++b){var h=a[b];if(h.marker.collapsed){var w=h.marker.find(0),e=M(w.from,c)||(h.marker.inclusiveLeft?-1:0)-(f.inclusiveLeft?-1:0),k=M(w.to,d)||(h.marker.inclusiveRight?1:0)-(f.inclusiveRight?1:0);if(!(0<=e&&0>=k||0>=e&&0<=k)&&(0>=e&&(h.marker.inclusiveRight&&f.inclusiveLeft?
-0<=M(w.to,c):0<M(w.to,c))||0<=e&&(h.marker.inclusiveRight&&f.inclusiveLeft?0>=M(w.from,d):0>M(w.from,d))))return!0}}}function Ca(a){for(var b;b=Ma(a,!0);)a=b.find(-1,!0).line;return a}function Yc(a,b){a=J(a,b);var c=Ca(a);return a==c?b:L(c)}function Yd(a,b){if(b>a.lastLine())return b;var c=J(a,b);if(!Va(a,c))return b;for(;a=Ma(c,!1);)c=a.find(1,!0).line;return L(c)+1}function Va(a,b){var c=Ia&&b.markedSpans;if(c)for(var d,f=0;f<c.length;++f)if(d=c[f],d.marker.collapsed&&(null==d.from||!d.marker.widgetNode&&
-0==d.from&&d.marker.inclusiveLeft&&Zc(a,b,d)))return!0}function Zc(a,b,c){if(null==c.to)return b=c.marker.find(1,!0),Zc(a,b.line,Ha(b.line.markedSpans,c.marker));if(c.marker.inclusiveRight&&c.to==b.text.length)return!0;for(var d,f=0;f<b.markedSpans.length;++f)if(d=b.markedSpans[f],d.marker.collapsed&&!d.marker.widgetNode&&d.from==c.to&&(null==d.to||d.to!=c.from)&&(d.marker.inclusiveLeft||c.marker.inclusiveRight)&&Zc(a,b,d))return!0}function Da(a){a=Ca(a);for(var b=0,c=a.parent,d=0;d<c.lines.length;++d){var f=
-c.lines[d];if(f==a)break;else b+=f.height}for(a=c.parent;a;c=a,a=c.parent)for(d=0;d<a.children.length&&(f=a.children[d],f!=c);++d)b+=f.height;return b}function wc(a){if(0==a.height)return 0;for(var b=a.text.length,c,d=a;c=Ma(d,!0);)c=c.find(0,!0),d=c.from.line,b+=c.from.ch-c.to.ch;for(d=a;c=Ma(d,!1);)a=c.find(0,!0),b-=d.text.length-a.from.ch,d=a.to.line,b+=d.text.length-a.to.ch;return b}function $c(a){var b=a.display;a=a.doc;b.maxLine=J(a,a.first);b.maxLineLength=wc(b.maxLine);b.maxLineChanged=!0;
-a.iter(function(a){var c=wc(a);c>b.maxLineLength&&(b.maxLineLength=c,b.maxLine=a)})}function dg(a,b,c,d){if(!a)return d(b,c,"ltr",0);for(var f=!1,h=0;h<a.length;++h){var w=a[h];if(w.from<c&&w.to>b||b==c&&w.to==b)d(Math.max(w.from,b),Math.min(w.to,c),1==w.level?"rtl":"ltr",h),f=!0}f||d(b,c,"ltr")}function Eb(a,b,c){var d;Fb=null;for(var f=0;f<a.length;++f){var h=a[f];if(h.from<b&&h.to>b)return f;h.to==b&&(h.from!=h.to&&"before"==c?d=f:Fb=f);h.from==b&&(h.from!=h.to&&"before"!=c?d=f:Fb=f)}return null!=
-d?d:Fb}function Ja(a,b){var c=a.order;null==c&&(c=a.order=eg(a.text,b));return c}function sa(a,b,c){if(a.removeEventListener)a.removeEventListener(b,c,!1);else if(a.detachEvent)a.detachEvent("on"+b,c);else{var d=(a=a._handlers)&&a[b];d&&(c=l(d,c),-1<c&&(a[b]=d.slice(0,c).concat(d.slice(c+1))))}}function ba(a,b){var c=a._handlers&&a._handlers[b]||xc;if(c.length)for(var d=Array.prototype.slice.call(arguments,2),f=0;f<c.length;++f)c[f].apply(null,d)}function ea(a,b,c){"string"==typeof b&&(b={type:b,
-preventDefault:function(){this.defaultPrevented=!0}});ba(a,c||b.type,a,b);return ad(b)||b.codemirrorIgnore}function $d(a){var b=a._handlers&&a._handlers.cursorActivity;if(b){a=a.curOp.cursorActivityHandlers||(a.curOp.cursorActivityHandlers=[]);for(var c=0;c<b.length;++c)-1==l(a,b[c])&&a.push(b[c])}}function va(a,b){return 0<(a._handlers&&a._handlers[b]||xc).length}function mb(a){a.prototype.on=function(a,b){N(this,a,b)};a.prototype.off=function(a,b){sa(this,a,b)}}function na(a){a.preventDefault?a.preventDefault():
-a.returnValue=!1}function ae(a){a.stopPropagation?a.stopPropagation():a.cancelBubble=!0}function ad(a){return null!=a.defaultPrevented?a.defaultPrevented:0==a.returnValue}function Gb(a){na(a);ae(a)}function be(a){var b=a.which;null==b&&(a.button&1?b=1:a.button&2?b=3:a.button&4&&(b=2));wa&&a.ctrlKey&&1==b&&(b=3);return b}function fg(a){if(null==bd){var b=c("span","\u200b");g(a,c("span",[b,document.createTextNode("x")]));0!=a.firstChild.offsetHeight&&(bd=1>=b.offsetWidth&&2<b.offsetHeight&&!(U&&8>X))}a=
-bd?c("span","\u200b"):c("span","\u00a0",null,"display: inline-block; width: 1px; margin-right: -1px");a.setAttribute("cm-text","");return a}function gg(a,b){2<arguments.length&&(b.dependencies=Array.prototype.slice.call(arguments,2));cd[a]=b}function yc(a){if("string"==typeof a&&nb.hasOwnProperty(a))a=nb[a];else if(a&&"string"==typeof a.name&&nb.hasOwnProperty(a.name)){var b=nb[a.name];"string"==typeof b&&(b={name:b});a=v(b,a);a.name=b.name}else{if("string"==typeof a&&/^[\w\-]+\/[\w\-]+\+xml$/.test(a))return yc("application/xml");
-if("string"==typeof a&&/^[\w\-]+\/[\w\-]+\+json$/.test(a))return yc("application/json")}return"string"==typeof a?{name:a}:a||{name:"null"}}function dd(a,b){b=yc(b);var c=cd[b.name];if(!c)return dd(a,"text/plain");a=c(a,b);if(ob.hasOwnProperty(b.name)){c=ob[b.name];for(var d in c)c.hasOwnProperty(d)&&(a.hasOwnProperty(d)&&(a["_"+d]=a[d]),a[d]=c[d])}a.name=b.name;b.helperType&&(a.helperType=b.helperType);if(b.modeProps)for(var f in b.modeProps)a[f]=b.modeProps[f];return a}function hg(a,b){a=ob.hasOwnProperty(a)?
-ob[a]:ob[a]={};t(b,a)}function Xa(a,b){if(!0===b)return b;if(a.copyState)return a.copyState(b);a={};for(var c in b){var d=b[c];d instanceof Array&&(d=d.concat([]));a[c]=d}return a}function ed(a,b){for(var c;a.innerMode;){c=a.innerMode(b);if(!c||c.mode==a)break;b=c.state;a=c.mode}return c||{mode:a,state:b}}function ce(a,b,c){return a.startState?a.startState(b,c):!0}function de(a,b,c,d){var f=[a.state.modeGen],h={};ee(a,b.text,a.doc.mode,c,function(a,b){return f.push(a,b)},h,d);var w=c.state;d=function(d){c.baseTokens=
-f;var e=a.state.overlays[d],k=1,g=0;c.state=!0;ee(a,b.text,e.mode,c,function(a,b){for(var c=k;g<a;){var d=f[k];d>a&&f.splice(k,1,a,f[k+1],d);k+=2;g=Math.min(a,d)}if(b)if(e.opaque)f.splice(c,k-c,a,"overlay "+b),k=c+2;else for(;c<k;c+=2)a=f[c+1],f[c+1]=(a?a+" ":"")+"overlay "+b},h);c.state=w;c.baseTokens=null;c.baseTokenPos=1};for(var e=0;e<a.state.overlays.length;++e)d(e);return{styles:f,classes:h.bgClass||h.textClass?h:null}}function fe(a,b,c){if(!b.styles||b.styles[0]!=a.state.modeGen){var d=Hb(a,
-L(b)),f=b.text.length>a.options.maxHighlightLength&&Xa(a.doc.mode,d.state),h=de(a,b,d);f&&(d.state=f);b.stateAfter=d.save(!f);b.styles=h.styles;h.classes?b.styleClasses=h.classes:b.styleClasses&&(b.styleClasses=null);c===a.doc.highlightFrontier&&(a.doc.modeFrontier=Math.max(a.doc.modeFrontier,++a.doc.highlightFrontier))}return b.styles}function Hb(a,b,c){var d=a.doc,f=a.display;if(!d.mode.startState)return new Ea(d,!0,b);var h=ig(a,b,c),w=h>d.first&&J(d,h-1).stateAfter,e=w?Ea.fromSaved(d,w,h):new Ea(d,
-ce(d.mode),h);d.iter(h,b,function(c){fd(a,c.text,e);var d=e.line;c.stateAfter=d==b-1||0==d%5||d>=f.viewFrom&&d<f.viewTo?e.save():null;e.nextLine()});c&&(d.modeFrontier=e.line);return e}function fd(a,b,c,d){var f=a.doc.mode;a=new ca(b,a.options.tabSize,c);a.start=a.pos=d||0;for(""==b&&ge(f,c.state);!a.eol();)gd(f,a,c.state),a.start=a.pos}function ge(a,b){if(a.blankLine)return a.blankLine(b);if(a.innerMode&&(a=ed(a,b),a.mode.blankLine))return a.mode.blankLine(a.state)}function gd(a,b,c,d){for(var f=
-0;10>f;f++){d&&(d[0]=ed(a,c).mode);var h=a.token(b,c);if(b.pos>b.start)return h}throw Error("Mode "+a.name+" failed to advance stream.");}function he(a,b,c,d){var f=a.doc,h=f.mode;b=R(f,b);var e=J(f,b.line);c=Hb(a,b.line,c);a=new ca(e.text,a.options.tabSize,c);var w;for(d&&(w=[]);(d||a.pos<b.ch)&&!a.eol();){a.start=a.pos;var k=gd(h,a,c.state);d&&w.push(new ie(a,k,Xa(f.mode,c.state)))}return d?w:new ie(a,k,c.state)}function je(a,b){if(a)for(;;){var c=a.match(/(?:^|\s+)line-(background-)?(\S+)/);if(!c)break;
-a=a.slice(0,c.index)+a.slice(c.index+c[0].length);var d=c[1]?"bgClass":"textClass";null==b[d]?b[d]=c[2]:(new RegExp("(?:^|s)"+c[2]+"(?:$|s)")).test(b[d])||(b[d]+=" "+c[2])}return a}function ee(a,b,c,d,f,h,e){var w=c.flattenSpans;null==w&&(w=a.options.flattenSpans);var k=0,g=null,l=new ca(b,a.options.tabSize,d),q=a.options.addModeClass&&[null];for(""==b&&je(ge(c,d.state),h);!l.eol();){if(l.pos>a.options.maxHighlightLength){w=!1;e&&fd(a,b,d,l.pos);l.pos=b.length;var K=null}else K=je(gd(c,l,d.state,
-q),h);if(q){var r=q[0].name;r&&(K="m-"+(K?r+" "+K:r))}if(!w||g!=K){for(;k<l.start;)k=Math.min(l.start,k+5E3),f(k,g);g=K}l.start=l.pos}for(;k<l.pos;)a=Math.min(l.pos,k+5E3),f(a,g),k=a}function ig(a,b,c){for(var d,f,h=a.doc,e=c?-1:b-(a.doc.mode.innerMode?1E3:100);b>e;--b){if(b<=h.first)return h.first;var w=J(h,b-1),k=w.stateAfter;if(k&&(!c||b+(k instanceof zc?k.lookAhead:0)<=h.modeFrontier))return b;w=r(w.text,null,a.options.tabSize);if(null==f||d>w)f=b-1,d=w}return f}function jg(a,b){a.modeFrontier=
-Math.min(a.modeFrontier,b);if(!(a.highlightFrontier<b-10)){for(var c=a.first,d=b-1;d>c;d--){var f=J(a,d).stateAfter;if(f&&(!(f instanceof zc)||d+f.lookAhead<b)){c=d+1;break}}a.highlightFrontier=Math.min(a.highlightFrontier,c)}}function ke(a,b){if(!a||/^\s*$/.test(a))return null;b=b.addModeClass?kg:lg;return b[a]||(b[a]=a.replace(/\S+/g,"cm-$&"))}function le(a,c){var d=b("span",null,null,ka?"padding-right: .1px":null);d={pre:b("pre",[d],"CodeMirror-line"),content:d,col:0,pos:0,cm:a,trailingSpace:!1,
-splitSpaces:(U||ka)&&a.getOption("lineWrapping")};c.measure={};for(var f=0;f<=(c.rest?c.rest.length:0);f++){var h=f?c.rest[f-1]:c.line,w=void 0;d.pos=0;d.addToken=mg;var k=a.display.measure;if(null!=hd)k=hd;else{var l=g(k,document.createTextNode("A\u062eA")),K=Ib(l,0,1).getBoundingClientRect();l=Ib(l,1,2).getBoundingClientRect();e(k);k=K&&K.left!=K.right?hd=3>l.right-K.right:!1}k&&(w=Ja(h,a.doc.direction))&&(d.addToken=ng(d.addToken,w));d.map=[];var r=c!=a.display.externalMeasured&&L(h);a:{var m=
-l=K=k=void 0,t=void 0,n=void 0,p=void 0;w=d;r=fe(a,h,r);var u=h.markedSpans,A=h.text,x=0;if(u)for(var B=A.length,v=0,y=1,E="",C=0;;){if(C==v){t=m=l=K=n="";k=null;C=Infinity;for(var F=[],z=void 0,G=0;G<u.length;++G){var H=u[G],D=H.marker;"bookmark"==D.type&&H.from==v&&D.widgetNode?F.push(D):H.from<=v&&(null==H.to||H.to>v||D.collapsed&&H.to==v&&H.from==v)?(null!=H.to&&H.to!=v&&C>H.to&&(C=H.to,m=""),D.className&&(t+=" "+D.className),D.css&&(n=(n?n+";":"")+D.css),D.startStyle&&H.from==v&&(l+=" "+D.startStyle),
-D.endStyle&&H.to==C&&(z||(z=[])).push(D.endStyle,H.to),D.title&&!K&&(K=D.title),D.collapsed&&(!k||0>Xc(k.marker,D))&&(k=H)):H.from>v&&C>H.from&&(C=H.from)}if(z)for(G=0;G<z.length;G+=2)z[G+1]==C&&(m+=" "+z[G]);if(!k||k.from==v)for(z=0;z<F.length;++z)me(w,0,F[z]);if(k&&(k.from||0)==v){me(w,(null==k.to?B+1:k.to)-v,k.marker,null==k.from);if(null==k.to)break a;k.to==v&&(k=!1)}}if(v>=B)break;for(F=Math.min(B,C);;){if(E){z=v+E.length;k||(G=z>F?E.slice(0,F-v):E,w.addToken(w,G,p?p+t:t,l,v+G.length==C?m:"",
-K,n));if(z>=F){E=E.slice(F-v);v=F;break}v=z;l=""}E=A.slice(x,x=r[y++]);p=ke(r[y++],w.cm.options)}}else for(k=1;k<r.length;k+=2)w.addToken(w,A.slice(x,x=r[k]),ke(r[k+1],w.cm.options))}h.styleClasses&&(h.styleClasses.bgClass&&(d.bgClass=q(h.styleClasses.bgClass,d.bgClass||"")),h.styleClasses.textClass&&(d.textClass=q(h.styleClasses.textClass,d.textClass||"")));0==d.map.length&&d.map.push(0,0,d.content.appendChild(fg(a.display.measure)));0==f?(c.measure.map=d.map,c.measure.cache={}):((c.measure.maps||
-(c.measure.maps=[])).push(d.map),(c.measure.caches||(c.measure.caches=[])).push({}))}ka&&(f=d.content.lastChild,/\bcm-tab\b/.test(f.className)||f.querySelector&&f.querySelector(".cm-tab"))&&(d.content.className="cm-tab-wrap-hack");ba(a,"renderLine",a,c.line,d.pre);d.pre.className&&(d.textClass=q(d.pre.className,d.textClass||""));return d}function og(a){var b=c("span","\u2022","cm-invalidchar");b.title="\\u"+a.charCodeAt(0).toString(16);b.setAttribute("aria-label",b.title);return b}function mg(a,b,
-d,f,h,e,k){if(b){if(a.splitSpaces){var w=a.trailingSpace;if(1<b.length&&!/  /.test(b))w=b;else{for(var l="",g=0;g<b.length;g++){var q=b.charAt(g);" "!=q||!w||g!=b.length-1&&32!=b.charCodeAt(g+1)||(q="\u00a0");l+=q;w=" "==q}w=l}}else w=b;l=w;g=a.cm.state.specialChars;q=!1;if(g.test(b)){w=document.createDocumentFragment();for(var K=0;;){g.lastIndex=K;var r=g.exec(b),m=r?r.index-K:b.length-K;if(m){var t=document.createTextNode(l.slice(K,K+m));U&&9>X?w.appendChild(c("span",[t])):w.appendChild(t);a.map.push(a.pos,
-a.pos+m,t);a.col+=m;a.pos+=m}if(!r)break;K+=m+1;"\t"==r[0]?(r=a.cm.options.tabSize,r-=a.col%r,m=w.appendChild(c("span",A(r),"cm-tab")),m.setAttribute("role","presentation"),m.setAttribute("cm-text","\t"),a.col+=r):("\r"==r[0]||"\n"==r[0]?(m=w.appendChild(c("span","\r"==r[0]?"\u240d":"\u2424","cm-invalidchar")),m.setAttribute("cm-text",r[0])):(m=a.cm.options.specialCharPlaceholder(r[0]),m.setAttribute("cm-text",r[0]),U&&9>X?w.appendChild(c("span",[m])):w.appendChild(m)),a.col+=1);a.map.push(a.pos,
-a.pos+1,m);a.pos++}}else a.col+=b.length,w=document.createTextNode(l),a.map.push(a.pos,a.pos+b.length,w),U&&9>X&&(q=!0),a.pos+=b.length;a.trailingSpace=32==l.charCodeAt(b.length-1);if(d||f||h||q||k)return b=d||"",f&&(b+=f),h&&(b+=h),f=c("span",[w],b,k),e&&(f.title=e),a.content.appendChild(f);a.content.appendChild(w)}}function ng(a,b){return function(c,d,f,h,e,w,k){f=f?f+" cm-force-border":"cm-force-border";for(var l=c.pos,g=l+d.length;;){for(var q=void 0,K=0;K<b.length&&!(q=b[K],q.to>l&&q.from<=l);K++);
-if(q.to>=g)return a(c,d,f,h,e,w,k);a(c,d.slice(0,q.to-l),f,h,null,w,k);h=null;d=d.slice(q.to-l);l=q.to}}}function me(a,b,c,d){var f=!d&&c.widgetNode;f&&a.map.push(a.pos,a.pos+b,f);!d&&a.cm.display.input.needsContentAttribute&&(f||(f=a.content.appendChild(document.createElement("span"))),f.setAttribute("cm-marker",c.id));f&&(a.cm.display.input.setUneditable(f),a.content.appendChild(f));a.pos+=b;a.trailingSpace=!1}function ne(a,b,c){for(var d=this.line=b,f;d=Ma(d,!1);)d=d.find(1,!0).line,(f||(f=[])).push(d);
-this.size=(this.rest=f)?L(y(this.rest))-c+1:1;this.node=this.text=null;this.hidden=Va(a,b)}function Ac(a,b,c){var d=[],f;for(f=b;f<c;)b=new ne(a.doc,J(a.doc,f),f),f+=b.size,d.push(b);return d}function pg(a,b){if(a=a.ownsGroup)try{var c=a.delayedCallbacks,d=0;do{for(;d<c.length;d++)c[d].call(null);for(var f=0;f<a.ops.length;f++){var h=a.ops[f];if(h.cursorActivityHandlers)for(;h.cursorActivityCalled<h.cursorActivityHandlers.length;)h.cursorActivityHandlers[h.cursorActivityCalled++].call(null,h.cm)}}while(d<
-c.length)}finally{pb=null,b(a)}}function ia(a,b){var c=a._handlers&&a._handlers[b]||xc;if(c.length){var d=Array.prototype.slice.call(arguments,2);if(pb)var f=pb.delayedCallbacks;else Jb?f=Jb:(f=Jb=[],setTimeout(qg,0));for(var h=function(a){f.push(function(){return c[a].apply(null,d)})},e=0;e<c.length;++e)h(e)}}function qg(){var a=Jb;Jb=null;for(var b=0;b<a.length;++b)a[b]()}function oe(a,b,c,d){for(var f=0;f<b.changes.length;f++){var h=b.changes[f];if("text"==h){h=a;var e=b,w=e.text.className,k=pe(h,
-e);e.text==e.node&&(e.node=k.pre);e.text.parentNode.replaceChild(k.pre,e.text);e.text=k.pre;k.bgClass!=e.bgClass||k.textClass!=e.textClass?(e.bgClass=k.bgClass,e.textClass=k.textClass,id(h,e)):w&&(e.text.className=w)}else if("gutter"==h)qe(a,b,c,d);else if("class"==h)id(a,b);else if("widget"==h){h=a;e=b;w=d;e.alignable&&(e.alignable=null);k=e.node.firstChild;for(var l;k;k=l)l=k.nextSibling,"CodeMirror-linewidget"==k.className&&e.node.removeChild(k);re(h,e,w)}}b.changes=null}function Kb(a){a.node==
-a.text&&(a.node=c("div",null,null,"position: relative"),a.text.parentNode&&a.text.parentNode.replaceChild(a.node,a.text),a.node.appendChild(a.text),U&&8>X&&(a.node.style.zIndex=2));return a.node}function pe(a,b){var c=a.display.externalMeasured;return c&&c.line==b.line?(a.display.externalMeasured=null,b.measure=c.measure,c.built):le(a,b)}function id(a,b){var d=b.bgClass?b.bgClass+" "+(b.line.bgClass||""):b.line.bgClass;d&&(d+=" CodeMirror-linebackground");if(b.background)d?b.background.className=
-d:(b.background.parentNode.removeChild(b.background),b.background=null);else if(d){var f=Kb(b);b.background=f.insertBefore(c("div",null,d),f.firstChild);a.display.input.setUneditable(b.background)}b.line.wrapClass?Kb(b).className=b.line.wrapClass:b.node!=b.text&&(b.node.className="");b.text.className=(b.textClass?b.textClass+" "+(b.line.textClass||""):b.line.textClass)||""}function qe(a,b,d,f){b.gutter&&(b.node.removeChild(b.gutter),b.gutter=null);b.gutterBackground&&(b.node.removeChild(b.gutterBackground),
-b.gutterBackground=null);if(b.line.gutterClass){var h=Kb(b);b.gutterBackground=c("div",null,"CodeMirror-gutter-background "+b.line.gutterClass,"left: "+(a.options.fixedGutter?f.fixedPos:-f.gutterTotalWidth)+"px; width: "+f.gutterTotalWidth+"px");a.display.input.setUneditable(b.gutterBackground);h.insertBefore(b.gutterBackground,b.text)}h=b.line.gutterMarkers;if(a.options.lineNumbers||h){var e=Kb(b),w=b.gutter=c("div",null,"CodeMirror-gutter-wrapper","left: "+(a.options.fixedGutter?f.fixedPos:-f.gutterTotalWidth)+
-"px");a.display.input.setUneditable(w);e.insertBefore(w,b.text);b.line.gutterClass&&(w.className+=" "+b.line.gutterClass);!a.options.lineNumbers||h&&h["CodeMirror-linenumbers"]||(b.lineNumber=w.appendChild(c("div",aa(a.options,d),"CodeMirror-linenumber CodeMirror-gutter-elt","left: "+f.gutterLeft["CodeMirror-linenumbers"]+"px; width: "+a.display.lineNumInnerWidth+"px")));if(h)for(b=0;b<a.options.gutters.length;++b)d=a.options.gutters[b],(e=h.hasOwnProperty(d)&&h[d])&&w.appendChild(c("div",[e],"CodeMirror-gutter-elt",
-"left: "+f.gutterLeft[d]+"px; width: "+f.gutterWidth[d]+"px"))}}function rg(a,b,c,d){var f=pe(a,b);b.text=b.node=f.pre;f.bgClass&&(b.bgClass=f.bgClass);f.textClass&&(b.textClass=f.textClass);id(a,b);qe(a,b,c,d);re(a,b,d);return b.node}function re(a,b,c){se(a,b.line,b,c,!0);if(b.rest)for(var d=0;d<b.rest.length;d++)se(a,b.rest[d],b,c,!1)}function se(a,b,d,f,h){if(b.widgets){var e=Kb(d),w=0;for(b=b.widgets;w<b.length;++w){var k=b[w],l=c("div",[k.node],"CodeMirror-linewidget");k.handleMouseEvents||l.setAttribute("cm-ignore-events",
-"true");var g=k,q=l,K=f;if(g.noHScroll){(d.alignable||(d.alignable=[])).push(q);var r=K.wrapperWidth;q.style.left=K.fixedPos+"px";g.coverGutter||(r-=K.gutterTotalWidth,q.style.paddingLeft=K.gutterTotalWidth+"px");q.style.width=r+"px"}g.coverGutter&&(q.style.zIndex=5,q.style.position="relative",g.noHScroll||(q.style.marginLeft=-K.gutterTotalWidth+"px"));a.display.input.setUneditable(l);h&&k.above?e.insertBefore(l,d.gutter||d.text):e.appendChild(l);ia(k,"redraw")}}}function Lb(a){if(null!=a.height)return a.height;
-var b=a.doc.cm;if(!b)return 0;if(!d(document.body,a.node)){var f="position: relative;";a.coverGutter&&(f+="margin-left: -"+b.display.gutters.offsetWidth+"px;");a.noHScroll&&(f+="width: "+b.display.wrapper.clientWidth+"px;");g(b.display.measure,c("div",[a.node],null,f))}return a.height=a.node.parentNode.offsetHeight}function Ka(a,b){for(b=b.target||b.srcElement;b!=a.wrapper;b=b.parentNode)if(!b||1==b.nodeType&&"true"==b.getAttribute("cm-ignore-events")||b.parentNode==a.sizer&&b!=a.mover)return!0}function jd(a){return a.mover.offsetHeight-
-a.lineSpace.offsetHeight}function te(a){if(a.cachedPaddingH)return a.cachedPaddingH;var b=g(a.measure,c("pre","x"));b=window.getComputedStyle?window.getComputedStyle(b):b.currentStyle;b={left:parseInt(b.paddingLeft),right:parseInt(b.paddingRight)};isNaN(b.left)||isNaN(b.right)||(a.cachedPaddingH=b);return b}function Fa(a){return 30-a.display.nativeBarWidth}function Ya(a){return a.display.scroller.clientWidth-Fa(a)-a.display.barWidth}function kd(a){return a.display.scroller.clientHeight-Fa(a)-a.display.barHeight}
-function ue(a,b,c){if(a.line==b)return{map:a.measure.map,cache:a.measure.cache};for(var d=0;d<a.rest.length;d++)if(a.rest[d]==b)return{map:a.measure.maps[d],cache:a.measure.caches[d]};for(b=0;b<a.rest.length;b++)if(L(a.rest[b])>c)return{map:a.measure.maps[b],cache:a.measure.caches[b],before:!0}}function ld(a,b){if(b>=a.display.viewFrom&&b<a.display.viewTo)return a.display.view[Za(a,b)];if((a=a.display.externalMeasured)&&b>=a.lineN&&b<a.lineN+a.size)return a}function $a(a,b){var c=L(b),d=ld(a,c);d&&
-!d.text?d=null:d&&d.changes&&(oe(a,d,c,md(a)),a.curOp.forceUpdate=!0);if(!d){var f=Ca(b);d=L(f);f=a.display.externalMeasured=new ne(a.doc,f,d);f.lineN=d;d=f.built=le(a,f);f.text=d.pre;g(a.display.lineMeasure,d.pre);d=f}a=ue(d,b,c);return{line:b,view:d,rect:null,map:a.map,cache:a.cache,before:a.before,hasHeights:!1}}function xa(a,b,d,f,h){b.before&&(d=-1);var e=d+(f||"");if(b.cache.hasOwnProperty(e))a=b.cache[e];else{b.rect||(b.rect=b.view.text.getBoundingClientRect());if(!b.hasHeights){var w=b.view,
-k=b.rect,l=a.options.lineWrapping,q=l&&Ya(a);if(!w.measure.heights||l&&w.measure.width!=q){var K=w.measure.heights=[];if(l)for(w.measure.width=q,w=w.text.firstChild.getClientRects(),l=0;l<w.length-1;l++){q=w[l];var r=w[l+1];2<Math.abs(q.bottom-r.bottom)&&K.push((q.bottom+r.top)/2-k.top)}K.push(k.bottom-k.top)}b.hasHeights=!0}K=f;w=ve(b.map,d,K);f=w.node;k=w.start;l=w.end;d=w.collapse;if(3==f.nodeType){for(var m=0;4>m;m++){for(;k&&G(b.line.text.charAt(w.coverStart+k));)--k;for(;w.coverStart+l<w.coverEnd&&
-G(b.line.text.charAt(w.coverStart+l));)++l;if(U&&9>X&&0==k&&l==w.coverEnd-w.coverStart)var t=f.parentNode.getBoundingClientRect();else{t=Ib(f,k,l).getClientRects();l=we;if("left"==K)for(q=0;q<t.length&&(l=t[q]).left==l.right;q++);else for(q=t.length-1;0<=q&&(l=t[q]).left==l.right;q--);t=l}if(t.left||t.right||0==k)break;l=k;--k;d="right"}U&&11>X&&((m=!window.screen||null==screen.logicalXDPI||screen.logicalXDPI==screen.deviceXDPI)||(null!=nd?m=nd:(K=g(a.display.measure,c("span","x")),m=K.getBoundingClientRect(),
-K=Ib(K,0,1).getBoundingClientRect(),m=nd=1<Math.abs(m.left-K.left)),m=!m),m||(m=screen.logicalXDPI/screen.deviceXDPI,K=screen.logicalYDPI/screen.deviceYDPI,t={left:t.left*m,right:t.right*m,top:t.top*K,bottom:t.bottom*K}))}else 0<k&&(d=K="right"),t=a.options.lineWrapping&&1<(m=f.getClientRects()).length?m["right"==K?m.length-1:0]:f.getBoundingClientRect();!(U&&9>X)||k||t&&(t.left||t.right)||(t=(t=f.parentNode.getClientRects()[0])?{left:t.left,right:t.left+Mb(a.display),top:t.top,bottom:t.bottom}:we);
-f=t.top-b.rect.top;k=t.bottom-b.rect.top;m=(f+k)/2;K=b.view.measure.heights;for(w=0;w<K.length-1&&!(m<K[w]);w++);d={left:("right"==d?t.right:t.left)-b.rect.left,right:("left"==d?t.left:t.right)-b.rect.left,top:w?K[w-1]:0,bottom:K[w]};t.left||t.right||(d.bogus=!0);a.options.singleCursorHeightPerLine||(d.rtop=f,d.rbottom=k);a=d;a.bogus||(b.cache[e]=a)}return{left:a.left,right:a.right,top:h?a.rtop:a.top,bottom:h?a.rbottom:a.bottom}}function ve(a,b,c){for(var d,f,h,e,w,k,l=0;l<a.length;l+=3){w=a[l];k=
-a[l+1];if(b<w)f=0,h=1,e="left";else if(b<k)f=b-w,h=f+1;else if(l==a.length-3||b==k&&a[l+3]>b)h=k-w,f=h-1,b>=k&&(e="right");if(null!=f){d=a[l+2];w==k&&c==(d.insertLeft?"left":"right")&&(e=c);if("left"==c&&0==f)for(;l&&a[l-2]==a[l-3]&&a[l-1].insertLeft;)d=a[(l-=3)+2],e="left";if("right"==c&&f==k-w)for(;l<a.length-3&&a[l+3]==a[l+4]&&!a[l+5].insertLeft;)d=a[(l+=3)+2],e="right";break}}return{node:d,start:f,end:h,collapse:e,coverStart:w,coverEnd:k}}function xe(a){if(a.measure&&(a.measure.cache={},a.measure.heights=
-null,a.rest))for(var b=0;b<a.rest.length;b++)a.measure.caches[b]={}}function ye(a){a.display.externalMeasure=null;e(a.display.lineMeasure);for(var b=0;b<a.display.view.length;b++)xe(a.display.view[b])}function Nb(a){ye(a);a.display.cachedCharWidth=a.display.cachedTextHeight=a.display.cachedPaddingH=null;a.options.lineWrapping||(a.display.maxLineChanged=!0);a.display.lineNumChars=null}function ze(){return Bc&&Cc?-(document.body.getBoundingClientRect().left-parseInt(getComputedStyle(document.body).marginLeft)):
-window.pageXOffset||(document.documentElement||document.body).scrollLeft}function Ae(){return Bc&&Cc?-(document.body.getBoundingClientRect().top-parseInt(getComputedStyle(document.body).marginTop)):window.pageYOffset||(document.documentElement||document.body).scrollTop}function od(a){var b=0;if(a.widgets)for(var c=0;c<a.widgets.length;++c)a.widgets[c].above&&(b+=Lb(a.widgets[c]));return b}function Dc(a,b,c,d,f){f||(f=od(b),c.top+=f,c.bottom+=f);if("line"==d)return c;d||(d="local");b=Da(b);b="local"==
-d?b+a.display.lineSpace.offsetTop:b-a.display.viewOffset;if("page"==d||"window"==d)a=a.display.lineSpace.getBoundingClientRect(),b+=a.top+("window"==d?0:Ae()),d=a.left+("window"==d?0:ze()),c.left+=d,c.right+=d;c.top+=b;c.bottom+=b;return c}function Be(a,b,c){if("div"==c)return b;var d=b.left;b=b.top;"page"==c?(d-=ze(),b-=Ae()):"local"!=c&&c||(c=a.display.sizer.getBoundingClientRect(),d+=c.left,b+=c.top);a=a.display.lineSpace.getBoundingClientRect();return{left:d-a.left,top:b-a.top}}function pd(a,
-b,c,d,f){d||(d=J(a.doc,b.line));var h=d;b=b.ch;d=xa(a,$a(a,d),b,f);return Dc(a,h,d,c)}function ya(a,b,c,d,f,h){function e(b,e){b=xa(a,f,b,e?"right":"left",h);e?b.left=b.right:b.right=b.left;return Dc(a,d,b,c)}function w(a,b,c){return e(c?a-1:a,1==k[b].level!=c)}d=d||J(a.doc,b.line);f||(f=$a(a,d));var k=Ja(d,a.doc.direction),l=b.ch;b=b.sticky;l>=d.text.length?(l=d.text.length,b="before"):0>=l&&(l=0,b="after");if(!k)return e("before"==b?l-1:l,"before"==b);var g=Eb(k,l,b),q=Fb;g=w(l,g,"before"==b);null!=
-q&&(g.other=w(l,q,"before"!=b));return g}function Ce(a,b){var c=0;b=R(a.doc,b);a.options.lineWrapping||(c=Mb(a.display)*b.ch);b=J(a.doc,b.line);a=Da(b)+a.display.lineSpace.offsetTop;return{left:c,right:c,top:a,bottom:a+b.height}}function qd(a,b,c,d,f){a=I(a,b,c);a.xRel=f;d&&(a.outside=!0);return a}function rd(a,b,c){var d=a.doc;c+=a.display.viewOffset;if(0>c)return qd(d.first,0,null,!0,-1);var f=P(d,c),h=d.first+d.size-1;if(f>h)return qd(d.first+d.size-1,J(d,h).text.length,null,!0,1);0>b&&(b=0);for(var e=
-J(d,f);;){h=sg(a,e,f,b,c);var w=void 0;var k=h.ch+(0<h.xRel?1:0);if(e=Ia&&e.markedSpans)for(var l=0;l<e.length;++l){var g=e[l];g.marker.collapsed&&(null==g.from||g.from<k)&&(null==g.to||g.to>k)&&(!w||0>Xc(w,g.marker))&&(w=g.marker)}if(!w)return h;h=w.find(1);if(h.line==f)return h;e=J(d,f=h.line)}}function De(a,b,c,d){d-=od(b);b=b.text.length;var f=D(function(b){return xa(a,c,b-1).bottom<=d},b,0);b=D(function(b){return xa(a,c,b).top>d},f,b);return{begin:f,end:b}}function Ee(a,b,c,d){c||(c=$a(a,b));
-d=Dc(a,b,xa(a,c,d),"line").top;return De(a,b,c,d)}function sd(a,b,c,d){return a.bottom<=c?!1:a.top>c?!0:(d?a.left:a.right)>b}function sg(a,b,c,d,f){f-=Da(b);var h=$a(a,b),e=od(b),k=0,w=b.text.length,l=!0,g=Ja(b,a.doc.direction);g&&(g=(a.options.lineWrapping?tg:ug)(a,b,c,h,g,d,f),k=(l=1!=g.level)?g.from:g.to-1,w=l?g.to:g.from-1);var q=null,K=null;g=D(function(b){var c=xa(a,h,b);c.top+=e;c.bottom+=e;if(!sd(c,d,f,!1))return!1;c.top<=f&&c.left<=d&&(q=b,K=c);return!0},k,w);var r=!1;K?(k=d-K.left<K.right-
-d,l=k==l,g=q+(l?0:1),l=l?"after":"before",k=k?K.left:K.right):(l||g!=w&&g!=k||g++,l=0==g?"after":g==b.text.length?"before":xa(a,h,g-(l?1:0)).bottom+e<=f==l?"after":"before",r=ya(a,I(c,g,l),"line",b,h),k=r.left,r=f<r.top||f>=r.bottom);g=H(b.text,g,1);return qd(c,g,l,r,d-k)}function ug(a,b,c,d,f,h,e){var k=D(function(k){k=f[k];var w=1!=k.level;return sd(ya(a,I(c,w?k.to:k.from,w?"before":"after"),"line",b,d),h,e,!0)},0,f.length-1),w=f[k];if(0<k){var l=1!=w.level;l=ya(a,I(c,l?w.from:w.to,l?"after":"before"),
-"line",b,d);sd(l,h,e,!0)&&l.top>e&&(w=f[k-1])}return w}function tg(a,b,c,d,f,h,e){e=De(a,b,d,e);c=e.begin;e=e.end;/\s/.test(b.text.charAt(e-1))&&e--;for(var k=b=null,w=0;w<f.length;w++){var l=f[w];if(!(l.from>=e||l.to<=c)){var g=xa(a,d,1!=l.level?Math.min(e,l.to)-1:Math.max(c,l.from)).right;g=g<h?h-g+1E9:g-h;if(!b||k>g)b=l,k=g}}b||(b=f[f.length-1]);b.from<c&&(b={from:c,to:b.to,level:b.level});b.to>e&&(b={from:b.from,to:e,level:b.level});return b}function ab(a){if(null!=a.cachedTextHeight)return a.cachedTextHeight;
-if(null==bb){bb=c("pre");for(var b=0;49>b;++b)bb.appendChild(document.createTextNode("x")),bb.appendChild(c("br"));bb.appendChild(document.createTextNode("x"))}g(a.measure,bb);b=bb.offsetHeight/50;3<b&&(a.cachedTextHeight=b);e(a.measure);return b||1}function Mb(a){if(null!=a.cachedCharWidth)return a.cachedCharWidth;var b=c("span","xxxxxxxxxx"),d=c("pre",[b]);g(a.measure,d);b=b.getBoundingClientRect();b=(b.right-b.left)/10;2<b&&(a.cachedCharWidth=b);return b||10}function md(a){for(var b=a.display,
-c={},d={},f=b.gutters.clientLeft,h=b.gutters.firstChild,e=0;h;h=h.nextSibling,++e)c[a.options.gutters[e]]=h.offsetLeft+h.clientLeft+f,d[a.options.gutters[e]]=h.clientWidth;return{fixedPos:td(b),gutterTotalWidth:b.gutters.offsetWidth,gutterLeft:c,gutterWidth:d,wrapperWidth:b.wrapper.clientWidth}}function td(a){return a.scroller.getBoundingClientRect().left-a.sizer.getBoundingClientRect().left}function Fe(a){var b=ab(a.display),c=a.options.lineWrapping,d=c&&Math.max(5,a.display.scroller.clientWidth/
-Mb(a.display)-3);return function(f){if(Va(a.doc,f))return 0;var h=0;if(f.widgets)for(var e=0;e<f.widgets.length;e++)f.widgets[e].height&&(h+=f.widgets[e].height);return c?h+(Math.ceil(f.text.length/d)||1)*b:h+b}}function ud(a){var b=a.doc,c=Fe(a);b.iter(function(a){var b=c(a);b!=a.height&&S(a,b)})}function cb(a,b,c,d){var f=a.display;if(!c&&"true"==(b.target||b.srcElement).getAttribute("cm-not-content"))return null;c=f.lineSpace.getBoundingClientRect();try{var h=b.clientX-c.left;var e=b.clientY-c.top}catch(Zd){return null}b=
-rd(a,h,e);var k;d&&1==b.xRel&&(k=J(a.doc,b.line).text).length==b.ch&&(d=r(k,k.length,a.options.tabSize)-k.length,b=I(b.line,Math.max(0,Math.round((h-te(a.display).left)/Mb(a.display))-d)));return b}function Za(a,b){if(b>=a.display.viewTo)return null;b-=a.display.viewFrom;if(0>b)return null;a=a.display.view;for(var c=0;c<a.length;c++)if(b-=a[c].size,0>b)return c}function Ob(a){a.display.input.showSelection(a.display.input.prepareSelection())}function Ge(a,b){void 0===b&&(b=!0);for(var c=a.doc,d={},
-f=d.cursors=document.createDocumentFragment(),h=d.selection=document.createDocumentFragment(),e=0;e<c.sel.ranges.length;e++)if(b||e!=c.sel.primIndex){var k=c.sel.ranges[e];if(!(k.from().line>=a.display.viewTo||k.to().line<a.display.viewFrom)){var w=k.empty();(w||a.options.showCursorWhenSelecting)&&He(a,k.head,f);w||vg(a,k,h)}}return d}function He(a,b,d){b=ya(a,b,"div",null,null,!a.options.singleCursorHeightPerLine);var f=d.appendChild(c("div","\u00a0","CodeMirror-cursor"));f.style.left=b.left+"px";
-f.style.top=b.top+"px";f.style.height=Math.max(0,b.bottom-b.top)*a.options.cursorHeight+"px";b.other&&(a=d.appendChild(c("div","\u00a0","CodeMirror-cursor CodeMirror-secondarycursor")),a.style.display="",a.style.left=b.other.left+"px",a.style.top=b.other.top+"px",a.style.height=.85*(b.other.bottom-b.other.top)+"px")}function Ec(a,b){return a.top-b.top||a.left-b.left}function vg(a,b,d){function f(a,b,d,f){0>b&&(b=0);b=Math.round(b);f=Math.round(f);w.appendChild(c("div",null,"CodeMirror-selected","position: absolute; left: "+
-a+"px;\n                             top: "+b+"px; width: "+(null==d?q-a:d)+"px;\n                             height: "+(f-b)+"px"))}function h(b,c,d){function h(c,d){return pd(a,I(b,c),"div",w,d)}function e(b,c,d){b=Ee(a,w,null,b);c="ltr"==c==("after"==d)?"left":"right";d="after"==d?b.begin:b.end-(/\s/.test(w.text.charAt(b.end-1))?2:1);return h(d,c)[c]}var w=J(k,b),l=w.text.length,m,t,K=Ja(w,k.direction);dg(K,c||0,null==d?l:d,function(a,b,k,w){var n="ltr"==k,p=h(a,n?"left":"right"),u=h(b-1,n?"right":
-"left"),Wa=null==c&&0==a,Na=null==d&&b==l,uc=0==w;w=!K||w==K.length-1;3>=u.top-p.top?(b=(r?Wa:Na)&&uc?g:(n?p:u).left,f(b,p.top,((r?Na:Wa)&&w?q:(n?u:p).right)-b,p.bottom)):(n?(n=r&&Wa&&uc?g:p.left,Wa=r?q:e(a,k,"before"),a=r?g:e(b,k,"after"),Na=r&&Na&&w?q:u.right):(n=r?e(a,k,"before"):g,Wa=!r&&Wa&&uc?q:p.right,a=!r&&Na&&w?g:u.left,Na=r?e(b,k,"after"):q),f(n,p.top,Wa-n,p.bottom),p.bottom<u.top&&f(g,p.bottom,null,u.top),f(a,u.top,Na-a,u.bottom));if(!m||0>Ec(p,m))m=p;0>Ec(u,m)&&(m=u);if(!t||0>Ec(p,t))t=
-p;0>Ec(u,t)&&(t=u)});return{start:m,end:t}}var e=a.display,k=a.doc,w=document.createDocumentFragment(),l=te(a.display),g=l.left,q=Math.max(e.sizerWidth,Ya(a)-e.sizer.offsetLeft)-l.right,r="ltr"==k.direction;e=b.from();b=b.to();if(e.line==b.line)h(e.line,e.ch,b.ch);else{var m=J(k,e.line);l=J(k,b.line);l=Ca(m)==Ca(l);e=h(e.line,e.ch,l?m.text.length+1:null).end;b=h(b.line,l?0:null,b.ch).start;l&&(e.top<b.top-2?(f(e.right,e.top,null,e.bottom),f(g,b.top,b.left,b.bottom)):f(e.right,e.top,b.left-e.right,
-e.bottom));e.bottom<b.top&&f(g,e.bottom,null,b.top)}d.appendChild(w)}function vd(a){if(a.state.focused){var b=a.display;clearInterval(b.blinker);var c=!0;b.cursorDiv.style.visibility="";0<a.options.cursorBlinkRate?b.blinker=setInterval(function(){return b.cursorDiv.style.visibility=(c=!c)?"":"hidden"},a.options.cursorBlinkRate):0>a.options.cursorBlinkRate&&(b.cursorDiv.style.visibility="hidden")}}function Ie(a){a.state.focused||(a.display.input.focus(),wd(a))}function Je(a){a.state.delayingBlurEvent=
-!0;setTimeout(function(){a.state.delayingBlurEvent&&(a.state.delayingBlurEvent=!1,Pb(a))},100)}function wd(a,b){a.state.delayingBlurEvent&&(a.state.delayingBlurEvent=!1);"nocursor"!=a.options.readOnly&&(a.state.focused||(ba(a,"focus",a,b),a.state.focused=!0,h(a.display.wrapper,"CodeMirror-focused"),a.curOp||a.display.selForContextMenu==a.doc.sel||(a.display.input.reset(),ka&&setTimeout(function(){return a.display.input.reset(!0)},20)),a.display.input.receivedFocus()),vd(a))}function Pb(a,b){a.state.delayingBlurEvent||
-(a.state.focused&&(ba(a,"blur",a,b),a.state.focused=!1,db(a.display.wrapper,"CodeMirror-focused")),clearInterval(a.display.blinker),setTimeout(function(){a.state.focused||(a.display.shift=!1)},150))}function Fc(a){a=a.display;for(var b=a.lineDiv.offsetTop,c=0;c<a.view.length;c++){var d=a.view[c];if(!d.hidden){if(U&&8>X){var f=d.node.offsetTop+d.node.offsetHeight;var h=f-b;b=f}else h=d.node.getBoundingClientRect(),h=h.bottom-h.top;f=d.line.height-h;2>h&&(h=ab(a));if(.005<f||-.005>f)if(S(d.line,h),
-Ke(d.line),d.rest)for(h=0;h<d.rest.length;h++)Ke(d.rest[h])}}}function Ke(a){if(a.widgets)for(var b=0;b<a.widgets.length;++b){var c=a.widgets[b],d=c.node.parentNode;d&&(c.height=d.offsetHeight)}}function xd(a,b,c){var d=c&&null!=c.top?Math.max(0,c.top):a.scroller.scrollTop;d=Math.floor(d-a.lineSpace.offsetTop);var f=c&&null!=c.bottom?c.bottom:d+a.wrapper.clientHeight;d=P(b,d);f=P(b,f);if(c&&c.ensure){var h=c.ensure.from.line;c=c.ensure.to.line;h<d?(d=h,f=P(b,Da(J(b,h))+a.wrapper.clientHeight)):Math.min(c,
-b.lastLine())>=f&&(d=P(b,Da(J(b,c))-a.wrapper.clientHeight),f=c)}return{from:d,to:Math.max(f,d+1)}}function Le(a){var b=a.display,c=b.view;if(b.alignWidgets||b.gutters.firstChild&&a.options.fixedGutter){for(var d=td(b)-b.scroller.scrollLeft+a.doc.scrollLeft,f=b.gutters.offsetWidth,h=d+"px",e=0;e<c.length;e++)if(!c[e].hidden){a.options.fixedGutter&&(c[e].gutter&&(c[e].gutter.style.left=h),c[e].gutterBackground&&(c[e].gutterBackground.style.left=h));var k=c[e].alignable;if(k)for(var w=0;w<k.length;w++)k[w].style.left=
-h}a.options.fixedGutter&&(b.gutters.style.left=d+f+"px")}}function Me(a){if(!a.options.lineNumbers)return!1;var b=a.doc;b=aa(a.options,b.first+b.size-1);var d=a.display;if(b.length!=d.lineNumChars){var f=d.measure.appendChild(c("div",[c("div",b)],"CodeMirror-linenumber CodeMirror-gutter-elt")),h=f.firstChild.offsetWidth;f=f.offsetWidth-h;d.lineGutter.style.width="";d.lineNumInnerWidth=Math.max(h,d.lineGutter.offsetWidth-f)+1;d.lineNumWidth=d.lineNumInnerWidth+f;d.lineNumChars=d.lineNumInnerWidth?
-b.length:-1;d.lineGutter.style.width=d.lineNumWidth+"px";yd(a);return!0}return!1}function zd(a,b){var c=a.display,d=ab(a.display);0>b.top&&(b.top=0);var f=a.curOp&&null!=a.curOp.scrollTop?a.curOp.scrollTop:c.scroller.scrollTop,h=kd(a),e={};b.bottom-b.top>h&&(b.bottom=b.top+h);var k=a.doc.height+jd(c),w=b.top<d;d=b.bottom>k-d;b.top<f?e.scrollTop=w?0:b.top:b.bottom>f+h&&(h=Math.min(b.top,(d?k:b.bottom)-h),h!=f&&(e.scrollTop=h));f=a.curOp&&null!=a.curOp.scrollLeft?a.curOp.scrollLeft:c.scroller.scrollLeft;
-a=Ya(a)-(a.options.fixedGutter?c.gutters.offsetWidth:0);if(c=b.right-b.left>a)b.right=b.left+a;10>b.left?e.scrollLeft=0:b.left<f?e.scrollLeft=Math.max(0,b.left-(c?0:10)):b.right>a+f-3&&(e.scrollLeft=b.right+(c?0:10)-a);return e}function Gc(a,b){null!=b&&(Hc(a),a.curOp.scrollTop=(null==a.curOp.scrollTop?a.doc.scrollTop:a.curOp.scrollTop)+b)}function qb(a){Hc(a);var b=a.getCursor();a.curOp.scrollToPos={from:b,to:b,margin:a.options.cursorScrollMargin}}function Qb(a,b,c){null==b&&null==c||Hc(a);null!=
-b&&(a.curOp.scrollLeft=b);null!=c&&(a.curOp.scrollTop=c)}function Hc(a){var b=a.curOp.scrollToPos;if(b){a.curOp.scrollToPos=null;var c=Ce(a,b.from),d=Ce(a,b.to);Ne(a,c,d,b.margin)}}function Ne(a,b,c,d){b=zd(a,{left:Math.min(b.left,c.left),top:Math.min(b.top,c.top)-d,right:Math.max(b.right,c.right),bottom:Math.max(b.bottom,c.bottom)+d});Qb(a,b.scrollLeft,b.scrollTop)}function Rb(a,b){2>Math.abs(a.doc.scrollTop-b)||(Oa||Ad(a,{top:b}),Oe(a,b,!0),Oa&&Ad(a),Sb(a,100))}function Oe(a,b,c){b=Math.min(a.display.scroller.scrollHeight-
-a.display.scroller.clientHeight,b);if(a.display.scroller.scrollTop!=b||c)a.doc.scrollTop=b,a.display.scrollbars.setScrollTop(b),a.display.scroller.scrollTop!=b&&(a.display.scroller.scrollTop=b)}function eb(a,b,c,d){b=Math.min(b,a.display.scroller.scrollWidth-a.display.scroller.clientWidth);(c?b==a.doc.scrollLeft:2>Math.abs(a.doc.scrollLeft-b))&&!d||(a.doc.scrollLeft=b,Le(a),a.display.scroller.scrollLeft!=b&&(a.display.scroller.scrollLeft=b),a.display.scrollbars.setScrollLeft(b))}function Tb(a){var b=
-a.display,c=b.gutters.offsetWidth,d=Math.round(a.doc.height+jd(a.display));return{clientHeight:b.scroller.clientHeight,viewHeight:b.wrapper.clientHeight,scrollWidth:b.scroller.scrollWidth,clientWidth:b.scroller.clientWidth,viewWidth:b.wrapper.clientWidth,barLeft:a.options.fixedGutter?c:0,docHeight:d,scrollHeight:d+Fa(a)+b.barHeight,nativeBarWidth:b.nativeBarWidth,gutterWidth:c}}function rb(a,b){b||(b=Tb(a));var c=a.display.barWidth,d=a.display.barHeight;Pe(a,b);for(b=0;4>b&&c!=a.display.barWidth||
-d!=a.display.barHeight;b++)c!=a.display.barWidth&&a.options.lineWrapping&&Fc(a),Pe(a,Tb(a)),c=a.display.barWidth,d=a.display.barHeight}function Pe(a,b){var c=a.display,d=c.scrollbars.update(b);c.sizer.style.paddingRight=(c.barWidth=d.right)+"px";c.sizer.style.paddingBottom=(c.barHeight=d.bottom)+"px";c.heightForcer.style.borderBottom=d.bottom+"px solid transparent";d.right&&d.bottom?(c.scrollbarFiller.style.display="block",c.scrollbarFiller.style.height=d.bottom+"px",c.scrollbarFiller.style.width=
-d.right+"px"):c.scrollbarFiller.style.display="";d.bottom&&a.options.coverGutterNextToScrollbar&&a.options.fixedGutter?(c.gutterFiller.style.display="block",c.gutterFiller.style.height=d.bottom+"px",c.gutterFiller.style.width=b.gutterWidth+"px"):c.gutterFiller.style.display=""}function Qe(a){a.display.scrollbars&&(a.display.scrollbars.clear(),a.display.scrollbars.addClass&&db(a.display.wrapper,a.display.scrollbars.addClass));a.display.scrollbars=new Re[a.options.scrollbarStyle](function(b){a.display.wrapper.insertBefore(b,
-a.display.scrollbarFiller);N(b,"mousedown",function(){a.state.focused&&setTimeout(function(){return a.display.input.focus()},0)});b.setAttribute("cm-not-content","true")},function(b,c){"horizontal"==c?eb(a,b):Rb(a,b)},a);a.display.scrollbars.addClass&&h(a.display.wrapper,a.display.scrollbars.addClass)}function fb(a){a.curOp={cm:a,viewChanged:!1,startHeight:a.doc.height,forceUpdate:!1,updateInput:null,typing:!1,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:!1,
-updateMaxLine:!1,scrollLeft:null,scrollTop:null,scrollToPos:null,focus:!1,id:++wg};a=a.curOp;pb?pb.ops.push(a):a.ownsGroup=pb={ops:[a],delayedCallbacks:[]}}function gb(a){pg(a.curOp,function(a){for(var b=0;b<a.ops.length;b++)a.ops[b].cm.curOp=null;a=a.ops;for(b=0;b<a.length;b++){var d=a[b],h=d.cm,e=h.display,k=h.display;!k.scrollbarsClipped&&k.scroller.offsetWidth&&(k.nativeBarWidth=k.scroller.offsetWidth-k.scroller.clientWidth,k.heightForcer.style.height=Fa(h)+"px",k.sizer.style.marginBottom=-k.nativeBarWidth+
-"px",k.sizer.style.borderRightWidth=Fa(h)+"px",k.scrollbarsClipped=!0);d.updateMaxLine&&$c(h);d.mustUpdate=d.viewChanged||d.forceUpdate||null!=d.scrollTop||d.scrollToPos&&(d.scrollToPos.from.line<e.viewFrom||d.scrollToPos.to.line>=e.viewTo)||e.maxLineChanged&&h.options.lineWrapping;d.update=d.mustUpdate&&new Ic(h,d.mustUpdate&&{top:d.scrollTop,ensure:d.scrollToPos},d.forceUpdate)}for(b=0;b<a.length;b++)d=a[b],d.updatedDisplay=d.mustUpdate&&Bd(d.cm,d.update);for(b=0;b<a.length;b++)if(d=a[b],h=d.cm,
-e=h.display,d.updatedDisplay&&Fc(h),d.barMeasure=Tb(h),e.maxLineChanged&&!h.options.lineWrapping&&(k=e.maxLine.text.length,k=xa(h,$a(h,e.maxLine),k,void 0),d.adjustWidthTo=k.left+3,h.display.sizerWidth=d.adjustWidthTo,d.barMeasure.scrollWidth=Math.max(e.scroller.clientWidth,e.sizer.offsetLeft+d.adjustWidthTo+Fa(h)+h.display.barWidth),d.maxScrollLeft=Math.max(0,e.sizer.offsetLeft+d.adjustWidthTo-Ya(h))),d.updatedDisplay||d.selectionChanged)d.preparedSelection=e.input.prepareSelection();for(b=0;b<a.length;b++)d=
-a[b],h=d.cm,null!=d.adjustWidthTo&&(h.display.sizer.style.minWidth=d.adjustWidthTo+"px",d.maxScrollLeft<h.doc.scrollLeft&&eb(h,Math.min(h.display.scroller.scrollLeft,d.maxScrollLeft),!0),h.display.maxLineChanged=!1),e=d.focus&&d.focus==f(),d.preparedSelection&&h.display.input.showSelection(d.preparedSelection,e),(d.updatedDisplay||d.startHeight!=h.doc.height)&&rb(h,d.barMeasure),d.updatedDisplay&&Cd(h,d.barMeasure),d.selectionChanged&&vd(h),h.state.focused&&d.updateInput&&h.display.input.reset(d.typing),
-e&&Ie(d.cm);for(b=0;b<a.length;b++){var l=void 0;d=a[b];h=d.cm;e=h.display;k=h.doc;d.updatedDisplay&&Se(h,d.update);null==e.wheelStartX||null==d.scrollTop&&null==d.scrollLeft&&!d.scrollToPos||(e.wheelStartX=e.wheelStartY=null);null!=d.scrollTop&&Oe(h,d.scrollTop,d.forceScroll);null!=d.scrollLeft&&eb(h,d.scrollLeft,!0,!0);if(d.scrollToPos){var g=R(k,d.scrollToPos.from),w=R(k,d.scrollToPos.to),q=d.scrollToPos.margin;null==q&&(q=0);h.options.lineWrapping||g!=w||(g=g.ch?I(g.line,"before"==g.sticky?g.ch-
-1:g.ch,"after"):g,w="before"==g.sticky?I(g.line,g.ch+1,"before"):g);for(var r=0;5>r;r++){var m=!1;l=ya(h,g);var t=w&&w!=g?ya(h,w):l;l={left:Math.min(l.left,t.left),top:Math.min(l.top,t.top)-q,right:Math.max(l.left,t.left),bottom:Math.max(l.bottom,t.bottom)+q};t=zd(h,l);var K=h.doc.scrollTop,n=h.doc.scrollLeft;null!=t.scrollTop&&(Rb(h,t.scrollTop),1<Math.abs(h.doc.scrollTop-K)&&(m=!0));null!=t.scrollLeft&&(eb(h,t.scrollLeft),1<Math.abs(h.doc.scrollLeft-n)&&(m=!0));if(!m)break}w=l;ea(h,"scrollCursorIntoView")||
-(q=h.display,r=q.sizer.getBoundingClientRect(),g=null,0>w.top+r.top?g=!0:w.bottom+r.top>(window.innerHeight||document.documentElement.clientHeight)&&(g=!1),null==g||xg||(w=c("div","\u200b",null,"position: absolute;\n                         top: "+(w.top-q.viewOffset-h.display.lineSpace.offsetTop)+"px;\n                         height: "+(w.bottom-w.top+Fa(h)+q.barHeight)+"px;\n                         left: "+w.left+"px; width: "+Math.max(2,w.right-w.left)+"px;"),h.display.lineSpace.appendChild(w),
-w.scrollIntoView(g),h.display.lineSpace.removeChild(w)))}w=d.maybeHiddenMarkers;g=d.maybeUnhiddenMarkers;if(w)for(q=0;q<w.length;++q)w[q].lines.length||ba(w[q],"hide");if(g)for(w=0;w<g.length;++w)g[w].lines.length&&ba(g[w],"unhide");e.wrapper.offsetHeight&&(k.scrollTop=h.display.scroller.scrollTop);d.changeObjs&&ba(h,"changes",h,d.changeObjs);d.update&&d.update.finish()}})}function qa(a,b){if(a.curOp)return b();fb(a);try{return b()}finally{gb(a)}}function fa(a,b){return function(){if(a.curOp)return b.apply(a,
-arguments);fb(a);try{return b.apply(a,arguments)}finally{gb(a)}}}function la(a){return function(){if(this.curOp)return a.apply(this,arguments);fb(this);try{return a.apply(this,arguments)}finally{gb(this)}}}function ha(a){return function(){var b=this.cm;if(!b||b.curOp)return a.apply(this,arguments);fb(b);try{return a.apply(this,arguments)}finally{gb(b)}}}function oa(a,b,c,d){null==b&&(b=a.doc.first);null==c&&(c=a.doc.first+a.doc.size);d||(d=0);var f=a.display;d&&c<f.viewTo&&(null==f.updateLineNumbers||
-f.updateLineNumbers>b)&&(f.updateLineNumbers=b);a.curOp.viewChanged=!0;if(b>=f.viewTo)Ia&&Yc(a.doc,b)<f.viewTo&&Pa(a);else if(c<=f.viewFrom)Ia&&Yd(a.doc,c+d)>f.viewFrom?Pa(a):(f.viewFrom+=d,f.viewTo+=d);else if(b<=f.viewFrom&&c>=f.viewTo)Pa(a);else if(b<=f.viewFrom){var h=Jc(a,c,c+d,1);h?(f.view=f.view.slice(h.index),f.viewFrom=h.lineN,f.viewTo+=d):Pa(a)}else if(c>=f.viewTo)(h=Jc(a,b,b,-1))?(f.view=f.view.slice(0,h.index),f.viewTo=h.lineN):Pa(a);else{h=Jc(a,b,b,-1);var e=Jc(a,c,c+d,1);h&&e?(f.view=
-f.view.slice(0,h.index).concat(Ac(a,h.lineN,e.lineN)).concat(f.view.slice(e.index)),f.viewTo+=d):Pa(a)}if(a=f.externalMeasured)c<a.lineN?a.lineN+=d:b<a.lineN+a.size&&(f.externalMeasured=null)}function Qa(a,b,c){a.curOp.viewChanged=!0;var d=a.display,f=a.display.externalMeasured;f&&b>=f.lineN&&b<f.lineN+f.size&&(d.externalMeasured=null);b<d.viewFrom||b>=d.viewTo||(a=d.view[Za(a,b)],null!=a.node&&(a=a.changes||(a.changes=[]),-1==l(a,c)&&a.push(c)))}function Pa(a){a.display.viewFrom=a.display.viewTo=
-a.doc.first;a.display.view=[];a.display.viewOffset=0}function Jc(a,b,c,d){var f=Za(a,b),h=a.display.view;if(!Ia||c==a.doc.first+a.doc.size)return{index:f,lineN:c};for(var e=a.display.viewFrom,k=0;k<f;k++)e+=h[k].size;if(e!=b){if(0<d){if(f==h.length-1)return null;b=e+h[f].size-b;f++}else b=e-b;c+=b}for(;Yc(a.doc,c)!=c;){if(f==(0>d?0:h.length-1))return null;c+=d*h[f-(0>d?1:0)].size;f+=d}return{index:f,lineN:c}}function Te(a){a=a.display.view;for(var b=0,c=0;c<a.length;c++){var d=a[c];d.hidden||d.node&&
-!d.changes||++b}return b}function Sb(a,b){a.doc.highlightFrontier<a.display.viewTo&&a.state.highlight.set(b,k(yg,a))}function yg(a){var b=a.doc;if(!(b.highlightFrontier>=a.display.viewTo)){var c=+new Date+a.options.workTime,d=Hb(a,b.highlightFrontier),f=[];b.iter(d.line,Math.min(b.first+b.size,a.display.viewTo+500),function(h){if(d.line>=a.display.viewFrom){var e=h.styles,k=h.text.length>a.options.maxHighlightLength?Xa(b.mode,d.state):null,l=de(a,h,d,!0);k&&(d.state=k);h.styles=l.styles;k=h.styleClasses;
-(l=l.classes)?h.styleClasses=l:k&&(h.styleClasses=null);l=!e||e.length!=h.styles.length||k!=l&&(!k||!l||k.bgClass!=l.bgClass||k.textClass!=l.textClass);for(k=0;!l&&k<e.length;++k)l=e[k]!=h.styles[k];l&&f.push(d.line);h.stateAfter=d.save()}else h.text.length<=a.options.maxHighlightLength&&fd(a,h.text,d),h.stateAfter=0==d.line%5?d.save():null;d.nextLine();if(+new Date>c)return Sb(a,a.options.workDelay),!0});b.highlightFrontier=d.line;b.modeFrontier=Math.max(b.modeFrontier,d.line);f.length&&qa(a,function(){for(var b=
-0;b<f.length;b++)Qa(a,f[b],"text")})}}function Bd(a,b){var c=a.display,h=a.doc;if(b.editorIsHidden)return Pa(a),!1;if(!b.force&&b.visible.from>=c.viewFrom&&b.visible.to<=c.viewTo&&(null==c.updateLineNumbers||c.updateLineNumbers>=c.viewTo)&&c.renderedView==c.view&&0==Te(a))return!1;Me(a)&&(Pa(a),b.dims=md(a));var k=h.first+h.size,l=Math.max(b.visible.from-a.options.viewportMargin,h.first),g=Math.min(k,b.visible.to+a.options.viewportMargin);c.viewFrom<l&&20>l-c.viewFrom&&(l=Math.max(h.first,c.viewFrom));
-c.viewTo>g&&20>c.viewTo-g&&(g=Math.min(k,c.viewTo));Ia&&(l=Yc(a.doc,l),g=Yd(a.doc,g));h=l!=c.viewFrom||g!=c.viewTo||c.lastWrapHeight!=b.wrapperHeight||c.lastWrapWidth!=b.wrapperWidth;k=a.display;0==k.view.length||l>=k.viewTo||g<=k.viewFrom?(k.view=Ac(a,l,g),k.viewFrom=l):(k.viewFrom>l?k.view=Ac(a,l,k.viewFrom).concat(k.view):k.viewFrom<l&&(k.view=k.view.slice(Za(a,l))),k.viewFrom=l,k.viewTo<g?k.view=k.view.concat(Ac(a,k.viewTo,g)):k.viewTo>g&&(k.view=k.view.slice(0,Za(a,g))));k.viewTo=g;c.viewOffset=
-Da(J(a.doc,c.viewFrom));a.display.mover.style.top=c.viewOffset+"px";g=Te(a);if(!h&&0==g&&!b.force&&c.renderedView==c.view&&(null==c.updateLineNumbers||c.updateLineNumbers>=c.viewTo))return!1;a.hasFocus()?l=null:(l=f())&&d(a.display.lineDiv,l)?(l={activeElt:l},window.getSelection&&(k=window.getSelection(),k.anchorNode&&k.extend&&d(a.display.lineDiv,k.anchorNode)&&(l.anchorNode=k.anchorNode,l.anchorOffset=k.anchorOffset,l.focusNode=k.focusNode,l.focusOffset=k.focusOffset))):l=null;4<g&&(c.lineDiv.style.display=
-"none");zg(a,c.updateLineNumbers,b.dims);4<g&&(c.lineDiv.style.display="");c.renderedView=c.view;(g=l)&&g.activeElt&&g.activeElt!=f()&&(g.activeElt.focus(),g.anchorNode&&d(document.body,g.anchorNode)&&d(document.body,g.focusNode)&&(l=window.getSelection(),k=document.createRange(),k.setEnd(g.anchorNode,g.anchorOffset),k.collapse(!1),l.removeAllRanges(),l.addRange(k),l.extend(g.focusNode,g.focusOffset)));e(c.cursorDiv);e(c.selectionDiv);c.gutters.style.height=c.sizer.style.minHeight=0;h&&(c.lastWrapHeight=
-b.wrapperHeight,c.lastWrapWidth=b.wrapperWidth,Sb(a,400));c.updateLineNumbers=null;return!0}function Se(a,b){for(var c=b.viewport,d=!0;;d=!1){if(!d||!a.options.lineWrapping||b.oldDisplayWidth==Ya(a))if(c&&null!=c.top&&(c={top:Math.min(a.doc.height+jd(a.display)-kd(a),c.top)}),b.visible=xd(a.display,a.doc,c),b.visible.from>=a.display.viewFrom&&b.visible.to<=a.display.viewTo)break;if(!Bd(a,b))break;Fc(a);d=Tb(a);Ob(a);rb(a,d);Cd(a,d);b.force=!1}b.signal(a,"update",a);if(a.display.viewFrom!=a.display.reportedViewFrom||
-a.display.viewTo!=a.display.reportedViewTo)b.signal(a,"viewportChange",a,a.display.viewFrom,a.display.viewTo),a.display.reportedViewFrom=a.display.viewFrom,a.display.reportedViewTo=a.display.viewTo}function Ad(a,b){b=new Ic(a,b);if(Bd(a,b)){Fc(a);Se(a,b);var c=Tb(a);Ob(a);rb(a,c);Cd(a,c);b.finish()}}function zg(a,b,c){function d(b){var c=b.nextSibling;ka&&wa&&a.display.currentWheelTarget==b?b.style.display="none":b.parentNode.removeChild(b);return c}var f=a.display,h=a.options.lineNumbers,k=f.lineDiv,
-g=k.firstChild,q=f.view;f=f.viewFrom;for(var w=0;w<q.length;w++){var r=q[w];if(!r.hidden)if(r.node&&r.node.parentNode==k){for(;g!=r.node;)g=d(g);g=h&&null!=b&&b<=f&&r.lineNumber;r.changes&&(-1<l(r.changes,"gutter")&&(g=!1),oe(a,r,f,c));g&&(e(r.lineNumber),r.lineNumber.appendChild(document.createTextNode(aa(a.options,f))));g=r.node.nextSibling}else{var m=rg(a,r,f,c);k.insertBefore(m,g)}f+=r.size}for(;g;)g=d(g)}function yd(a){a.display.sizer.style.marginLeft=a.display.gutters.offsetWidth+"px"}function Cd(a,
-b){a.display.sizer.style.minHeight=b.docHeight+"px";a.display.heightForcer.style.top=b.docHeight+"px";a.display.gutters.style.height=b.docHeight+a.display.barHeight+Fa(a)+"px"}function Ue(a){var b=a.display.gutters,d=a.options.gutters;e(b);for(var f=0;f<d.length;++f){var h=d[f],k=b.appendChild(c("div",null,"CodeMirror-gutter "+h));"CodeMirror-linenumbers"==h&&(a.display.lineGutter=k,k.style.width=(a.display.lineNumWidth||1)+"px")}b.style.display=f?"":"none";yd(a)}function Dd(a){var b=l(a.gutters,
-"CodeMirror-linenumbers");-1==b&&a.lineNumbers?a.gutters=a.gutters.concat(["CodeMirror-linenumbers"]):-1<b&&!a.lineNumbers&&(a.gutters=a.gutters.slice(0),a.gutters.splice(b,1))}function Ve(a){var b=a.wheelDeltaX,c=a.wheelDeltaY;null==b&&a.detail&&a.axis==a.HORIZONTAL_AXIS&&(b=a.detail);null==c&&a.detail&&a.axis==a.VERTICAL_AXIS?c=a.detail:null==c&&(c=a.wheelDelta);return{x:b,y:c}}function Ag(a){a=Ve(a);a.x*=ta;a.y*=ta;return a}function We(a,b){var c=Ve(b),d=c.x;c=c.y;var f=a.display,h=f.scroller,
-e=h.scrollWidth>h.clientWidth,k=h.scrollHeight>h.clientHeight;if(d&&e||c&&k){if(c&&wa&&ka){e=b.target;var l=f.view;a:for(;e!=h;e=e.parentNode)for(var g=0;g<l.length;g++)if(l[g].node==e){a.display.currentWheelTarget=e;break a}}!d||Oa||za||null==ta?(c&&null!=ta&&(b=c*ta,k=a.doc.scrollTop,e=k+f.wrapper.clientHeight,0>b?k=Math.max(0,k+b-50):e=Math.min(a.doc.height,e+b+50),Ad(a,{top:k,bottom:e})),20>Kc&&(null==f.wheelStartX?(f.wheelStartX=h.scrollLeft,f.wheelStartY=h.scrollTop,f.wheelDX=d,f.wheelDY=c,
-setTimeout(function(){if(null!=f.wheelStartX){var a=h.scrollLeft-f.wheelStartX,b=h.scrollTop-f.wheelStartY;a=b&&f.wheelDY&&b/f.wheelDY||a&&f.wheelDX&&a/f.wheelDX;f.wheelStartX=f.wheelStartY=null;a&&(ta=(ta*Kc+a)/(Kc+1),++Kc)}},200)):(f.wheelDX+=d,f.wheelDY+=c))):(c&&k&&Rb(a,Math.max(0,h.scrollTop+c*ta)),eb(a,Math.max(0,h.scrollLeft+d*ta)),(!c||c&&k)&&na(b),f.wheelStartX=null)}}function Aa(a,b){b=a[b];a.sort(function(a,b){return M(a.from(),b.from())});b=l(a,b);for(var c=1;c<a.length;c++){var d=a[c],
-f=a[c-1];if(0<=M(f.to(),d.from())){var h=rc(f.from(),d.from()),e=pc(f.to(),d.to());d=f.empty()?d.from()==d.head:f.from()==f.head;c<=b&&--b;a.splice(--c,2,new V(d?e:h,d?h:e))}}return new ua(a,b)}function La(a,b){return new ua([new V(a,b||a)],0)}function Ra(a){return a.text?I(a.from.line+a.text.length-1,y(a.text).length+(1==a.text.length?a.from.ch:0)):a.to}function Xe(a,b){if(0>M(a,b.from))return a;if(0>=M(a,b.to))return Ra(b);var c=a.line+b.text.length-(b.to.line-b.from.line)-1,d=a.ch;a.line==b.to.line&&
-(d+=Ra(b).ch-b.to.ch);return I(c,d)}function Ed(a,b){for(var c=[],d=0;d<a.sel.ranges.length;d++){var f=a.sel.ranges[d];c.push(new V(Xe(f.anchor,b),Xe(f.head,b)))}return Aa(c,a.sel.primIndex)}function Ye(a,b,c){return a.line==b.line?I(c.line,a.ch-b.ch+c.ch):I(c.line+(a.line-b.line),a.ch)}function Fd(a){a.doc.mode=dd(a.options,a.doc.modeOption);Ub(a)}function Ub(a){a.doc.iter(function(a){a.stateAfter&&(a.stateAfter=null);a.styles&&(a.styles=null)});a.doc.modeFrontier=a.doc.highlightFrontier=a.doc.first;
-Sb(a,100);a.state.modeGen++;a.curOp&&oa(a)}function Ze(a,b){return 0==b.from.ch&&0==b.to.ch&&""==y(b.text)&&(!a.cm||a.cm.options.wholeLineUpdateBefore)}function Gd(a,b,c,d){function f(a,c,f){a.text=c;a.stateAfter&&(a.stateAfter=null);a.styles&&(a.styles=null);null!=a.order&&(a.order=null);lb(a);Xd(a,f);c=d?d(a):1;c!=a.height&&S(a,c);ia(a,"change",a,b)}function h(a,b){for(var f=[];a<b;++a)f.push(new sb(l[a],c?c[a]:null,d));return f}var e=b.from,k=b.to,l=b.text,g=J(a,e.line),q=J(a,k.line),w=y(l),r=
-c?c[l.length-1]:null,m=k.line-e.line;b.full?(a.insert(0,h(0,l.length)),a.remove(l.length,a.size-l.length)):Ze(a,b)?(k=h(0,l.length-1),f(q,q.text,r),m&&a.remove(e.line,m),k.length&&a.insert(e.line,k)):g==q?1==l.length?f(g,g.text.slice(0,e.ch)+w+g.text.slice(k.ch),r):(m=h(1,l.length-1),m.push(new sb(w+g.text.slice(k.ch),r,d)),f(g,g.text.slice(0,e.ch)+l[0],c?c[0]:null),a.insert(e.line+1,m)):1==l.length?(f(g,g.text.slice(0,e.ch)+l[0]+q.text.slice(k.ch),c?c[0]:null),a.remove(e.line+1,m)):(f(g,g.text.slice(0,
-e.ch)+l[0],c?c[0]:null),f(q,w+q.text.slice(k.ch),r),r=h(1,l.length-1),1<m&&a.remove(e.line+1,m-1),a.insert(e.line+1,r));ia(a,"change",a,b)}function hb(a,b,c){function d(a,f,h){if(a.linked)for(var e=0;e<a.linked.length;++e){var k=a.linked[e];if(k.doc!=f){var l=h&&k.sharedHist;if(!c||l)b(k.doc,l),d(k.doc,a,l)}}}d(a,null,!0)}function $e(a,b){if(b.cm)throw Error("This document is already in use.");a.doc=b;b.cm=a;ud(a);Fd(a);af(a);a.options.lineWrapping||$c(a);a.options.mode=b.modeOption;oa(a)}function af(a){("rtl"==
-a.doc.direction?h:db)(a.display.lineDiv,"CodeMirror-rtl")}function Bg(a){qa(a,function(){af(a);oa(a)})}function Lc(a){this.done=[];this.undone=[];this.undoDepth=Infinity;this.lastModTime=this.lastSelTime=0;this.lastOrigin=this.lastSelOrigin=this.lastOp=this.lastSelOp=null;this.generation=this.maxGeneration=a||1}function Hd(a,b){var c={from:Ua(b.from),to:Ra(b),text:Q(a,b.from,b.to)};bf(a,c,b.from.line,b.to.line+1);hb(a,function(a){return bf(a,c,b.from.line,b.to.line+1)},!0);return c}function cf(a){for(;a.length;)if(y(a).ranges)a.pop();
-else break}function df(a,b,c,d){var f=a.history;f.undone.length=0;var h=+new Date,e;if(e=f.lastOp==d||f.lastOrigin==b.origin&&b.origin&&("+"==b.origin.charAt(0)&&f.lastModTime>h-(a.cm?a.cm.options.historyEventDelay:500)||"*"==b.origin.charAt(0))){if(f.lastOp==d){cf(f.done);var k=y(f.done)}else f.done.length&&!y(f.done).ranges?k=y(f.done):1<f.done.length&&!f.done[f.done.length-2].ranges?(f.done.pop(),k=y(f.done)):k=void 0;e=k}if(e){var l=y(k.changes);0==M(b.from,b.to)&&0==M(b.from,l.to)?l.to=Ra(b):
-k.changes.push(Hd(a,b))}else for((k=y(f.done))&&k.ranges||Mc(a.sel,f.done),k={changes:[Hd(a,b)],generation:f.generation},f.done.push(k);f.done.length>f.undoDepth;)f.done.shift(),f.done[0].ranges||f.done.shift();f.done.push(c);f.generation=++f.maxGeneration;f.lastModTime=f.lastSelTime=h;f.lastOp=f.lastSelOp=d;f.lastOrigin=f.lastSelOrigin=b.origin;l||ba(a,"historyAdded")}function Mc(a,b){var c=y(b);c&&c.ranges&&c.equals(a)||b.push(a)}function bf(a,b,c,d){var f=b["spans_"+a.id],h=0;a.iter(Math.max(a.first,
-c),Math.min(a.first+a.size,d),function(c){c.markedSpans&&((f||(f=b["spans_"+a.id]={}))[h]=c.markedSpans);++h})}function Cg(a){if(!a)return null;for(var b,c=0;c<a.length;++c)a[c].marker.explicitlyCleared?b||(b=a.slice(0,c)):b&&b.push(a[c]);return b?b.length?b:null:a}function ef(a,b){var c;if(c=b["spans_"+a.id]){for(var d=[],f=0;f<b.text.length;++f)d.push(Cg(c[f]));c=d}else c=null;a=qc(a,b);if(!c)return a;if(!a)return c;for(b=0;b<c.length;++b)if(d=c[b],f=a[b],d&&f){var h=0;a:for(;h<f.length;++h){for(var e=
-f[h],k=0;k<d.length;++k)if(d[k].marker==e.marker)continue a;d.push(e)}}else f&&(c[b]=f);return c}function tb(a,b,c){for(var d=[],f=0;f<a.length;++f){var h=a[f];if(h.ranges)d.push(c?ua.prototype.deepCopy.call(h):h);else{h=h.changes;var e=[];d.push({changes:e});for(var k=0;k<h.length;++k){var g=h[k],q;e.push({from:g.from,to:g.to,text:g.text});if(b)for(var w in g)(q=w.match(/^spans_(\d+)$/))&&-1<l(b,Number(q[1]))&&(y(e)[w]=g[w],delete g[w])}}}return d}function Id(a,b,c,d){return d?(a=a.anchor,c&&(d=
-0>M(b,a),d!=0>M(c,a)?(a=b,b=c):d!=0>M(b,c)&&(b=c)),new V(a,b)):new V(c||b,b)}function Nc(a,b,c,d,f){null==f&&(f=a.cm&&(a.cm.display.shift||a.extend));ja(a,new ua([Id(a.sel.primary(),b,c,f)],0),d)}function ff(a,b,c){for(var d=[],f=a.cm&&(a.cm.display.shift||a.extend),h=0;h<a.sel.ranges.length;h++)d[h]=Id(a.sel.ranges[h],b[h],null,f);b=Aa(d,a.sel.primIndex);ja(a,b,c)}function Jd(a,b,c,d){var f=a.sel.ranges.slice(0);f[b]=c;ja(a,Aa(f,a.sel.primIndex),d)}function Dg(a,b,c){c={ranges:b.ranges,update:function(b){this.ranges=
-[];for(var c=0;c<b.length;c++)this.ranges[c]=new V(R(a,b[c].anchor),R(a,b[c].head))},origin:c&&c.origin};ba(a,"beforeSelectionChange",a,c);a.cm&&ba(a.cm,"beforeSelectionChange",a.cm,c);return c.ranges!=b.ranges?Aa(c.ranges,c.ranges.length-1):b}function gf(a,b,c){var d=a.history.done,f=y(d);f&&f.ranges?(d[d.length-1]=b,Oc(a,b,c)):ja(a,b,c)}function ja(a,b,c){Oc(a,b,c);b=a.sel;var d=a.cm?a.cm.curOp.id:NaN,f=a.history,h=c&&c.origin,e;if(!(e=d==f.lastSelOp)&&(e=h&&f.lastSelOrigin==h)&&!(e=f.lastModTime==
-f.lastSelTime&&f.lastOrigin==h)){e=y(f.done);var k=h.charAt(0);e="*"==k||"+"==k&&e.ranges.length==b.ranges.length&&e.somethingSelected()==b.somethingSelected()&&new Date-a.history.lastSelTime<=(a.cm?a.cm.options.historyEventDelay:500)}e?f.done[f.done.length-1]=b:Mc(b,f.done);f.lastSelTime=+new Date;f.lastSelOrigin=h;f.lastSelOp=d;c&&!1!==c.clearRedo&&cf(f.undone)}function Oc(a,b,c){if(va(a,"beforeSelectionChange")||a.cm&&va(a.cm,"beforeSelectionChange"))b=Dg(a,b,c);var d=c&&c.bias||(0>M(b.primary().head,
-a.sel.primary().head)?-1:1);hf(a,jf(a,b,d,!0));c&&!1===c.scroll||!a.cm||qb(a.cm)}function hf(a,b){b.equals(a.sel)||(a.sel=b,a.cm&&(a.cm.curOp.updateInput=a.cm.curOp.selectionChanged=!0,$d(a.cm)),ia(a,"cursorActivity",a))}function kf(a){hf(a,jf(a,a.sel,null,!1))}function jf(a,b,c,d){for(var f,h=0;h<b.ranges.length;h++){var e=b.ranges[h],k=b.ranges.length==a.sel.ranges.length&&a.sel.ranges[h],l=Kd(a,e.anchor,k&&k.anchor,c,d);k=Kd(a,e.head,k&&k.head,c,d);if(f||l!=e.anchor||k!=e.head)f||(f=b.ranges.slice(0,
-h)),f[h]=new V(l,k)}return f?Aa(f,b.primIndex):b}function ub(a,b,c,d,f){var h=J(a,b.line);if(h.markedSpans)for(var e=0;e<h.markedSpans.length;++e){var k=h.markedSpans[e],l=k.marker;if((null==k.from||(l.inclusiveLeft?k.from<=b.ch:k.from<b.ch))&&(null==k.to||(l.inclusiveRight?k.to>=b.ch:k.to>b.ch))){if(f&&(ba(l,"beforeCursorEnter"),l.explicitlyCleared))if(h.markedSpans){--e;continue}else break;if(l.atomic){if(c){e=l.find(0>d?1:-1);k=void 0;if(0>d?l.inclusiveRight:l.inclusiveLeft)e=lf(a,e,-d,e&&e.line==
-b.line?h:null);if(e&&e.line==b.line&&(k=M(e,c))&&(0>d?0>k:0<k))return ub(a,e,b,d,f)}c=l.find(0>d?-1:1);if(0>d?l.inclusiveLeft:l.inclusiveRight)c=lf(a,c,d,c.line==b.line?h:null);return c?ub(a,c,b,d,f):null}}}return b}function Kd(a,b,c,d,f){d=d||1;b=ub(a,b,c,d,f)||!f&&ub(a,b,c,d,!0)||ub(a,b,c,-d,f)||!f&&ub(a,b,c,-d,!0);return b?b:(a.cantEdit=!0,I(a.first,0))}function lf(a,b,c,d){return 0>c&&0==b.ch?b.line>a.first?R(a,I(b.line-1)):null:0<c&&b.ch==(d||J(a,b.line)).text.length?b.line<a.first+a.size-1?
-I(b.line+1,0):null:new I(b.line,b.ch+c)}function mf(a){a.setSelection(I(a.firstLine(),0),I(a.lastLine()),Ga)}function nf(a,b,c){var d={canceled:!1,from:b.from,to:b.to,text:b.text,origin:b.origin,cancel:function(){return d.canceled=!0}};c&&(d.update=function(b,c,f,h){b&&(d.from=R(a,b));c&&(d.to=R(a,c));f&&(d.text=f);void 0!==h&&(d.origin=h)});ba(a,"beforeChange",a,d);a.cm&&ba(a.cm,"beforeChange",a.cm,d);return d.canceled?null:{from:d.from,to:d.to,text:d.text,origin:d.origin}}function vb(a,b,c){if(a.cm){if(!a.cm.curOp)return fa(a.cm,
-vb)(a,b,c);if(a.cm.state.suppressEdits)return}if(va(a,"beforeChange")||a.cm&&va(a.cm,"beforeChange"))if(b=nf(a,b,!0),!b)return;if(c=of&&!c&&ag(a,b.from,b.to))for(var d=c.length-1;0<=d;--d)pf(a,{from:c[d].from,to:c[d].to,text:d?[""]:b.text,origin:b.origin});else pf(a,b)}function pf(a,b){if(1!=b.text.length||""!=b.text[0]||0!=M(b.from,b.to)){var c=Ed(a,b);df(a,b,c,a.cm?a.cm.curOp.id:NaN);Vb(a,b,c,qc(a,b));var d=[];hb(a,function(a,c){c||-1!=l(d,a.history)||(qf(a.history,b),d.push(a.history));Vb(a,b,
-null,qc(a,b))})}}function Pc(a,b,c){var d=a.cm&&a.cm.state.suppressEdits;if(!d||c){for(var f=a.history,h,e=a.sel,k="undo"==b?f.done:f.undone,g="undo"==b?f.undone:f.done,q=0;q<k.length&&(h=k[q],c?!h.ranges||h.equals(a.sel):h.ranges);q++);if(q!=k.length){for(f.lastOrigin=f.lastSelOrigin=null;;)if(h=k.pop(),h.ranges){Mc(h,g);if(c&&!h.equals(a.sel)){ja(a,h,{clearRedo:!1});return}e=h}else{if(d){k.push(h);return}break}var w=[];Mc(e,g);g.push({changes:w,generation:f.generation});f.generation=h.generation||
-++f.maxGeneration;var r=va(a,"beforeChange")||a.cm&&va(a.cm,"beforeChange");c=function(c){var d=h.changes[c];d.origin=b;if(r&&!nf(a,d,!1))return k.length=0,{};w.push(Hd(a,d));var f=c?Ed(a,d):y(k);Vb(a,d,f,ef(a,d));!c&&a.cm&&a.cm.scrollIntoView({from:d.from,to:Ra(d)});var e=[];hb(a,function(a,b){b||-1!=l(e,a.history)||(qf(a.history,d),e.push(a.history));Vb(a,d,null,ef(a,d))})};for(d=h.changes.length-1;0<=d;--d)if(f=c(d))return f.v}}}function rf(a,b){if(0!=b&&(a.first+=b,a.sel=new ua(z(a.sel.ranges,
-function(a){return new V(I(a.anchor.line+b,a.anchor.ch),I(a.head.line+b,a.head.ch))}),a.sel.primIndex),a.cm)){oa(a.cm,a.first,a.first-b,b);for(var c=a.cm.display,d=c.viewFrom;d<c.viewTo;d++)Qa(a.cm,d,"gutter")}}function Vb(a,b,c,d){if(a.cm&&!a.cm.curOp)return fa(a.cm,Vb)(a,b,c,d);if(b.to.line<a.first)rf(a,b.text.length-1-(b.to.line-b.from.line));else if(!(b.from.line>a.lastLine())){if(b.from.line<a.first){var f=b.text.length-1-(a.first-b.from.line);rf(a,f);b={from:I(a.first,0),to:I(b.to.line+f,b.to.ch),
-text:[y(b.text)],origin:b.origin}}f=a.lastLine();b.to.line>f&&(b={from:b.from,to:I(f,J(a,f).text.length),text:[b.text[0]],origin:b.origin});b.removed=Q(a,b.from,b.to);c||(c=Ed(a,b));a.cm?Eg(a.cm,b,d):Gd(a,b,d);Oc(a,c,Ga)}}function Eg(a,b,c){var d=a.doc,f=a.display,h=b.from,e=b.to,k=!1,l=h.line;a.options.lineWrapping||(l=L(Ca(J(d,h.line))),d.iter(l,e.line+1,function(a){if(a==f.maxLine)return k=!0}));-1<d.sel.contains(b.from,b.to)&&$d(a);Gd(d,b,c,Fe(a));a.options.lineWrapping||(d.iter(l,h.line+b.text.length,
-function(a){var b=wc(a);b>f.maxLineLength&&(f.maxLine=a,f.maxLineLength=b,f.maxLineChanged=!0,k=!1)}),k&&(a.curOp.updateMaxLine=!0));jg(d,h.line);Sb(a,400);c=b.text.length-(e.line-h.line)-1;b.full?oa(a):h.line!=e.line||1!=b.text.length||Ze(a.doc,b)?oa(a,h.line,e.line+1,c):Qa(a,h.line,"text");c=va(a,"changes");if((d=va(a,"change"))||c)b={from:h,to:e,text:b.text,removed:b.removed,origin:b.origin},d&&ia(a,"change",a,b),c&&(a.curOp.changeObjs||(a.curOp.changeObjs=[])).push(b);a.display.selForContextMenu=
-null}function wb(a,b,c,d,f){d||(d=c);0>M(d,c)&&(d=[d,c],c=d[0],d=d[1]);"string"==typeof b&&(b=a.splitLines(b));vb(a,{from:c,to:d,text:b,origin:f})}function sf(a,b,c,d){c<a.line?a.line+=d:b<a.line&&(a.line=b,a.ch=0)}function tf(a,b,c,d){for(var f=0;f<a.length;++f){var h=a[f],e=!0;if(h.ranges)for(h.copied||(h=a[f]=h.deepCopy(),h.copied=!0),e=0;e<h.ranges.length;e++)sf(h.ranges[e].anchor,b,c,d),sf(h.ranges[e].head,b,c,d);else{for(var k=0;k<h.changes.length;++k){var l=h.changes[k];if(c<l.from.line)l.from=
-I(l.from.line+d,l.from.ch),l.to=I(l.to.line+d,l.to.ch);else if(b<=l.to.line){e=!1;break}}e||(a.splice(0,f+1),f=0)}}}function qf(a,b){var c=b.from.line,d=b.to.line;b=b.text.length-(d-c)-1;tf(a.done,c,d,b);tf(a.undone,c,d,b)}function Wb(a,b,c,d){var f=b,h=b;"number"==typeof b?h=J(a,Math.max(a.first,Math.min(b,a.first+a.size-1))):f=L(b);if(null==f)return null;d(h,f)&&a.cm&&Qa(a.cm,f,c);return h}function Xb(a){this.lines=a;this.parent=null;for(var b=0,c=0;c<a.length;++c)a[c].parent=this,b+=a[c].height;
-this.height=b}function Yb(a){this.children=a;for(var b=0,c=0,d=0;d<a.length;++d){var f=a[d];b+=f.chunkSize();c+=f.height;f.parent=this}this.size=b;this.height=c;this.parent=null}function Fg(a,b,c,d){var f=new Zb(a,c,d),h=a.cm;h&&f.noHScroll&&(h.display.alignWidgets=!0);Wb(a,b,"widget",function(b){var c=b.widgets||(b.widgets=[]);null==f.insertAt?c.push(f):c.splice(Math.min(c.length-1,Math.max(0,f.insertAt)),0,f);f.line=b;h&&!Va(a,b)&&(c=Da(b)<a.scrollTop,S(b,b.height+Lb(f)),c&&Gc(h,f.height),h.curOp.forceUpdate=
-!0);return!0});h&&ia(h,"lineWidgetAdded",h,f,"number"==typeof b?b:L(b));return f}function xb(a,c,d,f,h){if(f&&f.shared)return Gg(a,c,d,f,h);if(a.cm&&!a.cm.curOp)return fa(a.cm,xb)(a,c,d,f,h);var e=new Sa(a,h);h=M(c,d);f&&t(f,e,!1);if(0<h||0==h&&!1!==e.clearWhenEmpty)return e;e.replacedWith&&(e.collapsed=!0,e.widgetNode=b("span",[e.replacedWith],"CodeMirror-widget"),f.handleMouseEvents||e.widgetNode.setAttribute("cm-ignore-events","true"),f.insertLeft&&(e.widgetNode.insertLeft=!0));if(e.collapsed){if(sc(a,
-c.line,c,d,e)||c.line!=d.line&&sc(a,d.line,c,d,e))throw Error("Inserting collapsed marker partially overlapping an existing one");Ia=!0}e.addToHistory&&df(a,{from:c,to:d,origin:"markText"},a.sel,NaN);var k=c.line,l=a.cm,g;a.iter(k,d.line+1,function(a){l&&e.collapsed&&!l.options.lineWrapping&&Ca(a)==l.display.maxLine&&(g=!0);e.collapsed&&k!=c.line&&S(a,0);var b=new Cb(e,k==c.line?c.ch:null,k==d.line?d.ch:null);a.markedSpans=a.markedSpans?a.markedSpans.concat([b]):[b];b.marker.attachLine(a);++k});e.collapsed&&
-a.iter(c.line,d.line+1,function(b){Va(a,b)&&S(b,0)});e.clearOnEnter&&N(e,"beforeCursorEnter",function(){return e.clear()});e.readOnly&&(of=!0,(a.history.done.length||a.history.undone.length)&&a.clearHistory());e.collapsed&&(e.id=++uf,e.atomic=!0);if(l){g&&(l.curOp.updateMaxLine=!0);if(e.collapsed)oa(l,c.line,d.line+1);else if(e.className||e.title||e.startStyle||e.endStyle||e.css)for(f=c.line;f<=d.line;f++)Qa(l,f,"text");e.atomic&&kf(l.doc);ia(l,"markerAdded",l,e)}return e}function Gg(a,b,c,d,f){d=
-t(d);d.shared=!1;var h=[xb(a,b,c,d,f)],e=h[0],k=d.widgetNode;hb(a,function(a){k&&(d.widgetNode=k.cloneNode(!0));h.push(xb(a,R(a,b),R(a,c),d,f));for(var l=0;l<a.linked.length;++l)if(a.linked[l].isParent)return;e=y(h)});return new $b(h,e)}function vf(a){return a.findMarks(I(a.first,0),a.clipPos(I(a.lastLine())),function(a){return a.parent})}function Hg(a){for(var b=function(b){b=a[b];var c=[b.primary.doc];hb(b.primary.doc,function(a){return c.push(a)});for(var d=0;d<b.markers.length;d++){var f=b.markers[d];
--1==l(c,f.doc)&&(f.parent=null,b.markers.splice(d--,1))}},c=0;c<a.length;c++)b(c)}function Ig(a){var b=this;wf(b);if(!ea(b,a)&&!Ka(b.display,a)){na(a);U&&(xf=+new Date);var c=cb(b,a,!0),d=a.dataTransfer.files;if(c&&!b.isReadOnly())if(d&&d.length&&window.FileReader&&window.File)for(var f=d.length,h=Array(f),e=0,k=function(a,d){if(!b.options.allowDropFileTypes||-1!=l(b.options.allowDropFileTypes,a.type)){var k=new FileReader;k.onload=fa(b,function(){var a=k.result;/[\x00-\x08\x0e-\x1f]{2}/.test(a)&&
-(a="");h[d]=a;++e==f&&(c=R(b.doc,c),a={from:c,to:c,text:b.doc.splitLines(h.join(b.doc.lineSeparator())),origin:"paste"},vb(b.doc,a),gf(b.doc,La(c,Ra(a))))});k.readAsText(a)}},g=0;g<f;++g)k(d[g],g);else if(b.state.draggingText&&-1<b.doc.sel.contains(c))b.state.draggingText(a),setTimeout(function(){return b.display.input.focus()},20);else try{if(k=a.dataTransfer.getData("Text")){b.state.draggingText&&!b.state.draggingText.copy&&(g=b.listSelections());Oc(b.doc,La(c,c));if(g)for(d=0;d<g.length;++d)wb(b.doc,
-"",g[d].anchor,g[d].head,"drag");b.replaceSelection(k,"around","paste");b.display.input.focus()}}catch(mh){}}}function wf(a){a.display.dragCursor&&(a.display.lineSpace.removeChild(a.display.dragCursor),a.display.dragCursor=null)}function yf(a){if(document.getElementsByClassName)for(var b=document.getElementsByClassName("CodeMirror"),c=0;c<b.length;c++){var d=b[c].CodeMirror;d&&a(d)}}function Jg(){var a;N(window,"resize",function(){null==a&&(a=setTimeout(function(){a=null;yf(Kg)},100))});N(window,
-"blur",function(){return yf(Pb)})}function Kg(a){var b=a.display;if(b.lastWrapHeight!=b.wrapper.clientHeight||b.lastWrapWidth!=b.wrapper.clientWidth)b.cachedCharWidth=b.cachedTextHeight=b.cachedPaddingH=null,b.scrollbarsClipped=!1,a.setSize()}function Lg(a){var b=a.split(/-(?!$)/);a=b[b.length-1];for(var c,d,f,h,e=0;e<b.length-1;e++){var k=b[e];if(/^(cmd|meta|m)$/i.test(k))h=!0;else if(/^a(lt)?$/i.test(k))c=!0;else if(/^(c|ctrl|control)$/i.test(k))d=!0;else if(/^s(hift)?$/i.test(k))f=!0;else throw Error("Unrecognized modifier name: "+
-k);}c&&(a="Alt-"+a);d&&(a="Ctrl-"+a);h&&(a="Cmd-"+a);f&&(a="Shift-"+a);return a}function Mg(a){var b={},c;for(c in a)if(a.hasOwnProperty(c)){var d=a[c];if(!/^(name|fallthrough|(de|at)tach)$/.test(c)){if("..."!=d)for(var f=z(c.split(" "),Lg),h=0;h<f.length;h++){if(h==f.length-1){var e=f.join(" ");var k=d}else e=f.slice(0,h+1).join(" "),k="...";var l=b[e];if(!l)b[e]=k;else if(l!=k)throw Error("Inconsistent bindings for "+e);}delete a[c]}}for(var g in b)a[g]=b[g];return a}function yb(a,b,c,d){b=Qc(b);
-var f=b.call?b.call(a,d):b[a];if(!1===f)return"nothing";if("..."===f)return"multi";if(null!=f&&c(f))return"handled";if(b.fallthrough){if("[object Array]"!=Object.prototype.toString.call(b.fallthrough))return yb(a,b.fallthrough,c,d);for(f=0;f<b.fallthrough.length;f++){var h=yb(a,b.fallthrough[f],c,d);if(h)return h}}}function zf(a){a="string"==typeof a?a:Ta[a.keyCode];return"Ctrl"==a||"Alt"==a||"Shift"==a||"Mod"==a}function Af(a,b,c){var d=a;b.altKey&&"Alt"!=d&&(a="Alt-"+a);(Bf?b.metaKey:b.ctrlKey)&&
-"Ctrl"!=d&&(a="Ctrl-"+a);(Bf?b.ctrlKey:b.metaKey)&&"Cmd"!=d&&(a="Cmd-"+a);!c&&b.shiftKey&&"Shift"!=d&&(a="Shift-"+a);return a}function Cf(a,b){if(za&&34==a.keyCode&&a["char"])return!1;var c=Ta[a.keyCode];if(null==c||a.altGraphKey)return!1;3==a.keyCode&&a.code&&(c=a.code);return Af(c,a,b)}function Qc(a){return"string"==typeof a?ac[a]:a}function zb(a,b){for(var c=a.doc.sel.ranges,d=[],f=0;f<c.length;f++){for(var h=b(c[f]);d.length&&0>=M(h.from,y(d).to);){var e=d.pop();if(0>M(e.from,h.from)){h.from=
-e.from;break}}d.push(h)}qa(a,function(){for(var b=d.length-1;0<=b;b--)wb(a.doc,"",d[b].from,d[b].to,"+delete");qb(a)})}function Ld(a,b,c){b=H(a.text,b+c,c);return 0>b||b>a.text.length?null:b}function Md(a,b,c){a=Ld(a,b.ch,c);return null==a?null:new I(b.line,a,0>c?"after":"before")}function Nd(a,b,c,d,f){if(a&&(a=Ja(c,b.doc.direction))){a=0>f?y(a):a[0];var h=0>f==(1==a.level)?"after":"before";if(0<a.level||"rtl"==b.doc.direction){var e=$a(b,c);var k=0>f?c.text.length-1:0;var l=xa(b,e,k).top;k=D(function(a){return xa(b,
-e,a).top==l},0>f==(1==a.level)?a.from:a.to-1,k);"before"==h&&(k=Ld(c,k,1))}else k=0>f?a.to:a.from;return new I(d,k,h)}return new I(d,0>f?c.text.length:0,0>f?"before":"after")}function Ng(a,b,c,d){var f=Ja(b,a.doc.direction);if(!f)return Md(b,c,d);c.ch>=b.text.length?(c.ch=b.text.length,c.sticky="before"):0>=c.ch&&(c.ch=0,c.sticky="after");var h=Eb(f,c.ch,c.sticky),e=f[h];if("ltr"==a.doc.direction&&0==e.level%2&&(0<d?e.to>c.ch:e.from<c.ch))return Md(b,c,d);var k=function(a,c){return Ld(b,a instanceof
-I?a.ch:a,c)},l,g=function(c){if(!a.options.lineWrapping)return{begin:0,end:b.text.length};l=l||$a(a,b);return Ee(a,b,l,c)},q=g("before"==c.sticky?k(c,-1):c.ch);if("rtl"==a.doc.direction||1==e.level){var r=1==e.level==0>d,m=k(c,r?1:-1);if(null!=m&&(r?m<=e.to&&m<=q.end:m>=e.from&&m>=q.begin))return new I(c.line,m,r?"before":"after")}e=function(a,b,d){for(var h=function(a,b){return b?new I(c.line,k(a,1),"before"):new I(c.line,a,"after")};0<=a&&a<f.length;a+=b){var e=f[a],l=0<b==(1!=e.level),g=l?d.begin:
-k(d.end,-1);if(e.from<=g&&g<e.to)return h(g,l);g=l?e.from:k(e.to,-1);if(d.begin<=g&&g<d.end)return h(g,l)}};if(h=e(h+d,d,q))return h;q=0<d?q.end:k(q.begin,-1);return null==q||0<d&&q==b.text.length||!(h=e(0<d?0:f.length-1,d,g(q)))?null:h}function Df(a,b){var c=J(a.doc,b),d=Ca(c);d!=c&&(b=L(d));return Nd(!0,a,d,b,1)}function Ef(a,b){var c=Df(a,b.line),d=J(a.doc,c.line);a=Ja(d,a.doc.direction);return a&&0!=a[0].level?c:(d=Math.max(0,d.text.search(/\S/)),I(c.line,b.line==c.line&&b.ch<=d&&b.ch?0:d,c.sticky))}
-function Rc(a,b,c){if("string"==typeof b&&(b=bc[b],!b))return!1;a.display.input.ensurePolled();var d=a.display.shift,f=!1;try{a.isReadOnly()&&(a.state.suppressEdits=!0),c&&(a.display.shift=!1),f=b(a)!=Sc}finally{a.display.shift=d,a.state.suppressEdits=!1}return f}function cc(a,b,c,d){var f=a.state.keySeq;if(f){if(zf(b))return"handled";/\'$/.test(b)?a.state.keySeq=null:Og.set(50,function(){a.state.keySeq==f&&(a.state.keySeq=null,a.display.input.reset())});if(Ff(a,f+" "+b,c,d))return!0}return Ff(a,
-b,c,d)}function Ff(a,b,c,d){a:{for(var f=0;f<a.state.keyMaps.length;f++){var h=yb(b,a.state.keyMaps[f],d,a);if(h){d=h;break a}}d=a.options.extraKeys&&yb(b,a.options.extraKeys,d,a)||yb(b,a.options.keyMap,d,a)}"multi"==d&&(a.state.keySeq=b);"handled"==d&&ia(a,"keyHandled",a,b,c);if("handled"==d||"multi"==d)na(c),vd(a);return!!d}function Gf(a,b){var c=Cf(b,!0);return c?b.shiftKey&&!a.state.keySeq?cc(a,"Shift-"+c,b,function(b){return Rc(a,b,!0)})||cc(a,c,b,function(b){if("string"==typeof b?/^go[A-Z]/.test(b):
-b.motion)return Rc(a,b)}):cc(a,c,b,function(b){return Rc(a,b)}):!1}function Pg(a,b,c){return cc(a,"'"+c+"'",b,function(b){return Rc(a,b,!0)})}function Hf(a){this.curOp.focus=f();if(!ea(this,a)){U&&11>X&&27==a.keyCode&&(a.returnValue=!1);var b=a.keyCode;this.display.shift=16==b||a.shiftKey;var c=Gf(this,a);za&&(Od=c?b:null,!c&&88==b&&!Qg&&(wa?a.metaKey:a.ctrlKey)&&this.replaceSelection("",null,"cut"));18!=b||/\bCodeMirror-crosshair\b/.test(this.display.lineDiv.className)||Rg(this)}}function Rg(a){function b(a){18!=
-a.keyCode&&a.altKey||(db(c,"CodeMirror-crosshair"),sa(document,"keyup",b),sa(document,"mouseover",b))}var c=a.display.lineDiv;h(c,"CodeMirror-crosshair");N(document,"keyup",b);N(document,"mouseover",b)}function If(a){16==a.keyCode&&(this.doc.sel.shift=!1);ea(this,a)}function Jf(a){if(!(Ka(this.display,a)||ea(this,a)||a.ctrlKey&&!a.altKey||wa&&a.metaKey)){var b=a.keyCode,c=a.charCode;if(za&&b==Od)Od=null,na(a);else if(!za||a.which&&!(10>a.which)||!Gf(this,a))if(b=String.fromCharCode(null==c?b:c),"\b"!=
-b&&!Pg(this,a,b))this.display.input.onKeyPress(a)}}function Sg(a,b){var c=+new Date;if(dc&&dc.compare(c,a,b))return ec=dc=null,"triple";if(ec&&ec.compare(c,a,b))return dc=new Pd(c,a,b),ec=null,"double";ec=new Pd(c,a,b);dc=null;return"single"}function Kf(a){var b=this.display;if(!(ea(this,a)||b.activeTouch&&b.input.supportsTouch()))if(b.input.ensurePolled(),b.shift=a.shiftKey,Ka(b,a))ka||(b.scroller.draggable=!1,setTimeout(function(){return b.scroller.draggable=!0},100));else if(!Tc(this,a,"gutterClick",
-!0)){var c=cb(this,a),d=be(a),f=c?Sg(c,d):"single";window.focus();1==d&&this.state.selectingText&&this.state.selectingText(a);c&&Tg(this,d,c,f,a)||(1==d?c?Ug(this,c,f,a):(a.target||a.srcElement)==b.scroller&&na(a):2==d?(c&&Nc(this.doc,c),setTimeout(function(){return b.input.focus()},20)):3==d&&(Qd?Lf(this,a):Je(this)))}}function Tg(a,b,c,d,f){var h="Click";"double"==d?h="Double"+h:"triple"==d&&(h="Triple"+h);return cc(a,Af((1==b?"Left":2==b?"Middle":"Right")+h,f),f,function(b){"string"==typeof b&&
-(b=bc[b]);if(!b)return!1;var d=!1;try{a.isReadOnly()&&(a.state.suppressEdits=!0),d=b(a,c)!=Sc}finally{a.state.suppressEdits=!1}return d})}function Ug(a,b,c,d){U?setTimeout(k(Ie,a),0):a.curOp.focus=f();var h=a.getOption("configureMouse");h=h?h(a,c,d):{};null==h.unit&&(h.unit=(Vg?d.shiftKey&&d.metaKey:d.altKey)?"rectangle":"single"==c?"char":"double"==c?"word":"line");if(null==h.extend||a.doc.extend)h.extend=a.doc.extend||d.shiftKey;null==h.addNew&&(h.addNew=wa?d.metaKey:d.ctrlKey);null==h.moveOnDrag&&
-(h.moveOnDrag=!(wa?d.altKey:d.ctrlKey));var e=a.doc.sel,l;a.options.dragDrop&&Wg&&!a.isReadOnly()&&"single"==c&&-1<(l=e.contains(b))&&(0>M((l=e.ranges[l]).from(),b)||0<b.xRel)&&(0<M(l.to(),b)||0>b.xRel)?Xg(a,d,b,h):Yg(a,d,b,h)}function Xg(a,b,c,d){var f=a.display,h=!1,e=fa(a,function(b){ka&&(f.scroller.draggable=!1);a.state.draggingText=!1;sa(f.wrapper.ownerDocument,"mouseup",e);sa(f.wrapper.ownerDocument,"mousemove",k);sa(f.scroller,"dragstart",l);sa(f.scroller,"drop",e);h||(na(b),d.addNew||Nc(a.doc,
-c,null,null,d.extend),ka||U&&9==X?setTimeout(function(){f.wrapper.ownerDocument.body.focus();f.input.focus()},20):f.input.focus())}),k=function(a){h=h||10<=Math.abs(b.clientX-a.clientX)+Math.abs(b.clientY-a.clientY)},l=function(){return h=!0};ka&&(f.scroller.draggable=!0);a.state.draggingText=e;e.copy=!d.moveOnDrag;f.scroller.dragDrop&&f.scroller.dragDrop();N(f.wrapper.ownerDocument,"mouseup",e);N(f.wrapper.ownerDocument,"mousemove",k);N(f.scroller,"dragstart",l);N(f.scroller,"drop",e);Je(a);setTimeout(function(){return f.input.focus()},
-20)}function Mf(a,b,c){if("char"==c)return new V(b,b);if("word"==c)return a.findWordAt(b);if("line"==c)return new V(I(b.line,0),R(a.doc,I(b.line+1,0)));a=c(a,b);return new V(a.from,a.to)}function Yg(a,b,c,d){function h(b){if(0!=M(w,b))if(w=b,"rectangle"==d.unit){var f=[],h=a.options.tabSize,e=r(J(g,c.line).text,c.ch,h),k=r(J(g,b.line).text,b.ch,h),l=Math.min(e,k);e=Math.max(e,k);k=Math.min(c.line,b.line);for(var m=Math.min(a.lastLine(),Math.max(c.line,b.line));k<=m;k++){var p=J(g,k).text,A=u(p,l,
-h);l==e?f.push(new V(I(k,A),I(k,A))):p.length>A&&f.push(new V(I(k,A),I(k,u(p,e,h))))}f.length||f.push(new V(c,c));ja(g,Aa(q.ranges.slice(0,t).concat(f),t),{origin:"*mouse",scroll:!1});a.scrollIntoView(b)}else f=n,l=Mf(a,b,d.unit),b=f.anchor,0<M(l.anchor,b)?(h=l.head,b=rc(f.from(),l.anchor)):(h=l.anchor,b=pc(f.to(),l.head)),f=q.ranges.slice(0),f[t]=Zg(a,new V(R(g,b),h)),ja(g,Aa(f,t),Rd)}function e(b){var c=++A,k=cb(a,b,!0,"rectangle"==d.unit);if(k)if(0!=M(k,w)){a.curOp.focus=f();h(k);var q=xd(l,g);
-(k.line>=q.to||k.line<q.from)&&setTimeout(fa(a,function(){A==c&&e(b)}),150)}else{var r=b.clientY<p.top?-20:b.clientY>p.bottom?20:0;r&&setTimeout(fa(a,function(){A==c&&(l.scroller.scrollTop+=r,e(b))}),50)}}function k(b){a.state.selectingText=!1;A=Infinity;na(b);l.input.focus();sa(l.wrapper.ownerDocument,"mousemove",v);sa(l.wrapper.ownerDocument,"mouseup",K);g.history.lastSelOrigin=null}var l=a.display,g=a.doc;na(b);var q=g.sel,m=q.ranges;if(d.addNew&&!d.extend){var t=g.sel.contains(c);var n=-1<t?m[t]:
-new V(c,c)}else n=g.sel.primary(),t=g.sel.primIndex;"rectangle"==d.unit?(d.addNew||(n=new V(c,c)),c=cb(a,b,!0,!0),t=-1):(b=Mf(a,c,d.unit),n=d.extend?Id(n,b.anchor,b.head,d.extend):b);d.addNew?-1==t?(t=m.length,ja(g,Aa(m.concat([n]),t),{scroll:!1,origin:"*mouse"})):1<m.length&&m[t].empty()&&"char"==d.unit&&!d.extend?(ja(g,Aa(m.slice(0,t).concat(m.slice(t+1)),0),{scroll:!1,origin:"*mouse"}),q=g.sel):Jd(g,t,n,Rd):(t=0,ja(g,new ua([n],0),Rd),q=g.sel);var w=c,p=l.wrapper.getBoundingClientRect(),A=0,v=
-fa(a,function(a){0!==a.buttons&&be(a)?e(a):k(a)}),K=fa(a,k);a.state.selectingText=K;N(l.wrapper.ownerDocument,"mousemove",v);N(l.wrapper.ownerDocument,"mouseup",K)}function Zg(a,b){var c=b.anchor,d=b.head,f=J(a.doc,c.line);if(0==M(c,d)&&c.sticky==d.sticky)return b;f=Ja(f);if(!f)return b;var h=Eb(f,c.ch,c.sticky),e=f[h];if(e.from!=c.ch&&e.to!=c.ch)return b;var k=h+(e.from==c.ch==(1!=e.level)?0:1);if(0==k||k==f.length)return b;d.line!=c.line?a=0<(d.line-c.line)*("ltr"==a.doc.direction?1:-1):(a=Eb(f,
-d.ch,d.sticky),h=a-h||(d.ch-c.ch)*(1==e.level?-1:1),a=a==k-1||a==k?0>h:0<h);f=f[k+(a?-1:0)];f=(k=a==(1==f.level))?f.from:f.to;k=k?"after":"before";return c.ch==f&&c.sticky==k?b:new V(new I(c.line,f,k),d)}function Tc(a,b,c,d){if(b.touches){var f=b.touches[0].clientX;var h=b.touches[0].clientY}else try{f=b.clientX,h=b.clientY}catch(Zd){return!1}if(f>=Math.floor(a.display.gutters.getBoundingClientRect().right))return!1;d&&na(b);d=a.display;var e=d.lineDiv.getBoundingClientRect();if(h>e.bottom||!va(a,
-c))return ad(b);h-=e.top-d.viewOffset;for(e=0;e<a.options.gutters.length;++e){var k=d.gutters.childNodes[e];if(k&&k.getBoundingClientRect().right>=f)return f=P(a.doc,h),ba(a,c,a,f,a.options.gutters[e],b),ad(b)}}function Lf(a,b){var c;(c=Ka(a.display,b))||(c=va(a,"gutterContextMenu")?Tc(a,b,"gutterContextMenu",!1):!1);if(!c&&!ea(a,b,"contextmenu"))a.display.input.onContextMenu(b)}function Nf(a){a.display.wrapper.className=a.display.wrapper.className.replace(/\s*cm-s-\S+/g,"")+a.options.theme.replace(/(^|\s)\s*/g,
-" cm-s-");Nb(a)}function fc(a){Ue(a);oa(a);Le(a)}function $g(a,b,c){!b!=!(c&&c!=Ab)&&(c=a.display.dragFunctions,b=b?N:sa,b(a.display.scroller,"dragstart",c.start),b(a.display.scroller,"dragenter",c.enter),b(a.display.scroller,"dragover",c.over),b(a.display.scroller,"dragleave",c.leave),b(a.display.scroller,"drop",c.drop))}function ah(a){a.options.lineWrapping?(h(a.display.wrapper,"CodeMirror-wrap"),a.display.sizer.style.minWidth="",a.display.sizerWidth=null):(db(a.display.wrapper,"CodeMirror-wrap"),
-$c(a));ud(a);oa(a);Nb(a);setTimeout(function(){return rb(a)},100)}function Z(a,b){var c=this;if(!(this instanceof Z))return new Z(a,b);this.options=b=b?t(b):{};t(Of,b,!1);Dd(b);var d=b.value;"string"==typeof d&&(d=new pa(d,b.mode,null,b.lineSeparator,b.direction));this.doc=d;var f=new Z.inputStyles[b.inputStyle](this);a=this.display=new O(a,d,f);a.wrapper.CodeMirror=this;Ue(this);Nf(this);b.lineWrapping&&(this.display.wrapper.className+=" CodeMirror-wrap");Qe(this);this.state={keyMaps:[],overlays:[],
-modeGen:0,overwrite:!1,delayingBlurEvent:!1,focused:!1,suppressEdits:!1,pasteIncoming:!1,cutIncoming:!1,selectingText:!1,draggingText:!1,highlight:new ib,keySeq:null,specialChars:null};b.autofocus&&!Db&&a.input.focus();U&&11>X&&setTimeout(function(){return c.display.input.reset(!0)},20);bh(this);Pf||(Jg(),Pf=!0);fb(this);this.curOp.forceUpdate=!0;$e(this,d);b.autofocus&&!Db||this.hasFocus()?setTimeout(k(wd,this),20):Pb(this);for(var h in Uc)if(Uc.hasOwnProperty(h))Uc[h](c,b[h],Ab);Me(this);b.finishInit&&
-b.finishInit(this);for(d=0;d<Sd.length;++d)Sd[d](c);gb(this);ka&&b.lineWrapping&&"optimizelegibility"==getComputedStyle(a.lineDiv).textRendering&&(a.lineDiv.style.textRendering="auto")}function bh(a){function b(){f.activeTouch&&(h=setTimeout(function(){return f.activeTouch=null},1E3),e=f.activeTouch,e.end=+new Date)}function d(a,b){if(null==b.left)return!0;var c=b.left-a.left;a=b.top-a.top;return 400<c*c+a*a}var f=a.display;N(f.scroller,"mousedown",fa(a,Kf));U&&11>X?N(f.scroller,"dblclick",fa(a,function(b){if(!ea(a,
-b)){var c=cb(a,b);!c||Tc(a,b,"gutterClick",!0)||Ka(a.display,b)||(na(b),b=a.findWordAt(c),Nc(a.doc,b.anchor,b.head))}})):N(f.scroller,"dblclick",function(b){return ea(a,b)||na(b)});Qd||N(f.scroller,"contextmenu",function(b){return Lf(a,b)});var h,e={end:0};N(f.scroller,"touchstart",function(b){var c;if(c=!ea(a,b))1!=b.touches.length?c=!1:(c=b.touches[0],c=1>=c.radiusX&&1>=c.radiusY),c=!c;c&&!Tc(a,b,"gutterClick",!0)&&(f.input.ensurePolled(),clearTimeout(h),c=+new Date,f.activeTouch={start:c,moved:!1,
-prev:300>=c-e.end?e:null},1==b.touches.length&&(f.activeTouch.left=b.touches[0].pageX,f.activeTouch.top=b.touches[0].pageY))});N(f.scroller,"touchmove",function(){f.activeTouch&&(f.activeTouch.moved=!0)});N(f.scroller,"touchend",function(c){var h=f.activeTouch;if(h&&!Ka(f,c)&&null!=h.left&&!h.moved&&300>new Date-h.start){var e=a.coordsChar(f.activeTouch,"page");h=!h.prev||d(h,h.prev)?new V(e,e):!h.prev.prev||d(h,h.prev.prev)?a.findWordAt(e):new V(I(e.line,0),R(a.doc,I(e.line+1,0)));a.setSelection(h.anchor,
-h.head);a.focus();na(c)}b()});N(f.scroller,"touchcancel",b);N(f.scroller,"scroll",function(){f.scroller.clientHeight&&(Rb(a,f.scroller.scrollTop),eb(a,f.scroller.scrollLeft,!0),ba(a,"scroll",a))});N(f.scroller,"mousewheel",function(b){return We(a,b)});N(f.scroller,"DOMMouseScroll",function(b){return We(a,b)});N(f.wrapper,"scroll",function(){return f.wrapper.scrollTop=f.wrapper.scrollLeft=0});f.dragFunctions={enter:function(b){ea(a,b)||Gb(b)},over:function(b){if(!ea(a,b)){var d=cb(a,b);if(d){var f=
-document.createDocumentFragment();He(a,d,f);a.display.dragCursor||(a.display.dragCursor=c("div",null,"CodeMirror-cursors CodeMirror-dragcursors"),a.display.lineSpace.insertBefore(a.display.dragCursor,a.display.cursorDiv));g(a.display.dragCursor,f)}Gb(b)}},start:function(b){if(U&&(!a.state.draggingText||100>+new Date-xf))Gb(b);else if(!ea(a,b)&&!Ka(a.display,b)&&(b.dataTransfer.setData("Text",a.getSelection()),b.dataTransfer.effectAllowed="copyMove",b.dataTransfer.setDragImage&&!Qf)){var d=c("img",
-null,null,"position: fixed; left: 0; top: 0;");d.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==";za&&(d.width=d.height=1,a.display.wrapper.appendChild(d),d._top=d.offsetTop);b.dataTransfer.setDragImage(d,0,0);za&&d.parentNode.removeChild(d)}},drop:fa(a,Ig),leave:function(b){ea(a,b)||wf(a)}};var k=f.input.getField();N(k,"keyup",function(b){return If.call(a,b)});N(k,"keydown",fa(a,Hf));N(k,"keypress",fa(a,Jf));N(k,"focus",function(b){return wd(a,b)});N(k,"blur",function(b){return Pb(a,
-b)})}function gc(a,b,c,d){var f=a.doc,h;null==c&&(c="add");"smart"==c&&(f.mode.indent?h=Hb(a,b).state:c="prev");var e=a.options.tabSize,k=J(f,b),l=r(k.text,null,e);k.stateAfter&&(k.stateAfter=null);var g=k.text.match(/^\s*/)[0];if(!d&&!/\S/.test(k.text)){var q=0;c="not"}else if("smart"==c&&(q=f.mode.indent(h,k.text.slice(g.length),k.text),q==Sc||150<q)){if(!d)return;c="prev"}"prev"==c?q=b>f.first?r(J(f,b-1).text,null,e):0:"add"==c?q=l+a.options.indentUnit:"subtract"==c?q=l-a.options.indentUnit:"number"==
-typeof c&&(q=l+c);q=Math.max(0,q);c="";d=0;if(a.options.indentWithTabs)for(a=Math.floor(q/e);a;--a)d+=e,c+="\t";d<q&&(c+=A(q-d));if(c!=g)return wb(f,c,I(b,0),I(b,g.length),"+input"),k.stateAfter=null,!0;for(e=0;e<f.sel.ranges.length;e++)if(k=f.sel.ranges[e],k.head.line==b&&k.head.ch<g.length){b=I(b,g.length);Jd(f,e,new V(b,b));break}}function Td(a,b,c,d,f){var h=a.doc;a.display.shift=!1;d||(d=h.sel);var e=a.state.pasteIncoming||"paste"==f,k=Ud(b),l=null;if(e&&1<d.ranges.length)if(ra&&ra.text.join("\n")==
-b){if(0==d.ranges.length%ra.text.length){l=[];for(var g=0;g<ra.text.length;g++)l.push(h.splitLines(ra.text[g]))}}else k.length==d.ranges.length&&a.options.pasteLinesPerSelection&&(l=z(k,function(a){return[a]}));for(g=d.ranges.length-1;0<=g;g--){var q=d.ranges[g];var r=q.from(),m=q.to();q.empty()&&(c&&0<c?r=I(r.line,r.ch-c):a.state.overwrite&&!e?m=I(m.line,Math.min(J(h,m.line).text.length,m.ch+y(k).length)):ra&&ra.lineWise&&ra.text.join("\n")==b&&(r=m=I(r.line,0)));q=a.curOp.updateInput;r={from:r,
-to:m,text:l?l[g%l.length]:k,origin:f||(e?"paste":a.state.cutIncoming?"cut":"+input")};vb(a.doc,r);ia(a,"inputRead",a,r)}b&&!e&&Rf(a,b);qb(a);a.curOp.updateInput=q;a.curOp.typing=!0;a.state.pasteIncoming=a.state.cutIncoming=!1}function Sf(a,b){var c=a.clipboardData&&a.clipboardData.getData("Text");if(c)return a.preventDefault(),b.isReadOnly()||b.options.disableInput||qa(b,function(){return Td(b,c,0,null,"paste")}),!0}function Rf(a,b){if(a.options.electricChars&&a.options.smartIndent)for(var c=a.doc.sel,
-d=c.ranges.length-1;0<=d;d--){var f=c.ranges[d];if(!(100<f.head.ch||d&&c.ranges[d-1].head.line==f.head.line)){var h=a.getModeAt(f.head),e=!1;if(h.electricChars)for(var k=0;k<h.electricChars.length;k++){if(-1<b.indexOf(h.electricChars.charAt(k))){e=gc(a,f.head.line,"smart");break}}else h.electricInput&&h.electricInput.test(J(a.doc,f.head.line).text.slice(0,f.head.ch))&&(e=gc(a,f.head.line,"smart"));e&&ia(a,"electricInput",a,f.head.line)}}}function Tf(a){for(var b=[],c=[],d=0;d<a.doc.sel.ranges.length;d++){var f=
-a.doc.sel.ranges[d].head.line;f={anchor:I(f,0),head:I(f+1,0)};c.push(f);b.push(a.getRange(f.anchor,f.head))}return{text:b,ranges:c}}function Uf(a,b){a.setAttribute("autocorrect","off");a.setAttribute("autocapitalize","off");a.setAttribute("spellcheck",!!b)}function Vf(){var a=c("textarea",null,null,"position: absolute; bottom: -1em; padding: 0; width: 1px; height: 1em; outline: none"),b=c("div",[a],null,"overflow: hidden; position: relative; width: 3px; height: 0px;");ka?a.style.width="1000px":a.setAttribute("wrap",
-"off");hc&&(a.style.border="1px solid black");Uf(a);return b}function Vd(a,b,c,d,f){function h(d){var h=f?Ng(a.cm,l,b,c):Md(l,b,c);if(null==h){if(d=!d)d=b.line+c,d<a.first||d>=a.first+a.size?d=!1:(b=new I(d,b.ch,b.sticky),d=l=J(a,d));if(d)b=Nd(f,a.cm,l,b.line,c);else return!1}else b=h;return!0}var e=b,k=c,l=J(a,b.line);if("char"==d)h();else if("column"==d)h(!0);else if("word"==d||"group"==d){var g=null;d="group"==d;for(var q=a.cm&&a.cm.getHelper(b,"wordChars"),r=!0;!(0>c)||h(!r);r=!1){var m=l.text.charAt(b.ch)||
-"\n";m=F(m,q)?"w":d&&"\n"==m?"n":!d||/\s/.test(m)?null:"p";!d||r||m||(m="s");if(g&&g!=m){0>c&&(c=1,h(),b.sticky="after");break}m&&(g=m);if(0<c&&!h(!r))break}}k=Kd(a,b,e,k,!0);Ba(e,k)&&(k.hitSide=!0);return k}function Wf(a,b,c,d){var f=a.doc,h=b.left;if("page"==d){var e=Math.max(Math.min(a.display.wrapper.clientHeight,window.innerHeight||document.documentElement.clientHeight)-.5*ab(a.display),3);e=(0<c?b.bottom:b.top)+c*e}else"line"==d&&(e=0<c?b.bottom+3:b.top-3);for(;;){b=rd(a,h,e);if(!b.outside)break;
-if(0>c?0>=e:e>=f.height){b.hitSide=!0;break}e+=5*c}return b}function Xf(a,b){var c=ld(a,b.line);if(!c||c.hidden)return null;var d=J(a.doc,b.line);c=ue(c,d,b.line);a=Ja(d,a.doc.direction);d="left";a&&(d=Eb(a,b.ch)%2?"right":"left");b=ve(c.map,b.ch,d);b.offset="right"==b.collapse?b.end:b.start;return b}function ch(a){for(;a;a=a.parentNode)if(/CodeMirror-gutter-wrapper/.test(a.className))return!0;return!1}function Bb(a,b){b&&(a.bad=!0);return a}function dh(a,b,c,d,f){function h(a){return function(b){return b.id==
-a}}function e(){q&&(g+=r,m&&(g+=r),q=m=!1)}function k(a){a&&(e(),g+=a)}function l(b){if(1==b.nodeType){var c=b.getAttribute("cm-text");if(c)k(c);else{c=b.getAttribute("cm-marker");var g;if(c)b=a.findMarks(I(d,0),I(f+1,0),h(+c)),b.length&&(g=b[0].find(0))&&k(Q(a.doc,g.from,g.to).join(r));else if("false"!=b.getAttribute("contenteditable")&&(g=/^(pre|div|p|li|table|br)$/i.test(b.nodeName),/^br$/i.test(b.nodeName)||0!=b.textContent.length)){g&&e();for(c=0;c<b.childNodes.length;c++)l(b.childNodes[c]);
-/^(pre|p)$/i.test(b.nodeName)&&(m=!0);g&&(q=!0)}}}else 3==b.nodeType&&k(b.nodeValue.replace(/\u200b/g,"").replace(/\u00a0/g," "))}for(var g="",q=!1,r=a.doc.lineSeparator(),m=!1;;){l(b);if(b==c)break;b=b.nextSibling;m=!1}return g}function Vc(a,b,c){if(b==a.display.lineDiv){var d=a.display.lineDiv.childNodes[c];if(!d)return Bb(a.clipPos(I(a.display.viewTo-1)),!0);b=null;c=0}else for(d=b;;d=d.parentNode){if(!d||d==a.display.lineDiv)return null;if(d.parentNode&&d.parentNode==a.display.lineDiv)break}for(var f=
-0;f<a.display.view.length;f++){var h=a.display.view[f];if(h.node==d)return eh(h,b,c)}}function eh(a,b,c){function f(b,c,d){for(var f=-1;f<(q?q.length:0);f++)for(var h=0>f?g.map:q[f],e=0;e<h.length;e+=3){var k=h[e+2];if(k==b||k==c){c=L(0>f?a.line:a.rest[f]);f=h[e]+d;if(0>d||k!=b)f=h[e+(d?1:0)];return I(c,f)}}}var h=a.text.firstChild,e=!1;if(!b||!d(h,b))return Bb(I(L(a.line),0),!0);if(b==h&&(e=!0,b=h.childNodes[c],c=0,!b))return c=a.rest?y(a.rest):a.line,Bb(I(L(c),c.text.length),e);var k=3==b.nodeType?
-b:null,l=b;k||1!=b.childNodes.length||3!=b.firstChild.nodeType||(k=b.firstChild,c&&(c=k.nodeValue.length));for(;l.parentNode!=h;)l=l.parentNode;var g=a.measure,q=g.maps;if(b=f(k,l,c))return Bb(b,e);h=l.nextSibling;for(k=k?k.nodeValue.length-c:0;h;h=h.nextSibling){if(b=f(h,h.firstChild,0))return Bb(I(b.line,b.ch-k),e);k+=h.textContent.length}for(l=l.previousSibling;l;l=l.previousSibling){if(b=f(l,l.firstChild,-1))return Bb(I(b.line,b.ch+c),e);c+=l.textContent.length}}var ma=navigator.userAgent,Yf=
-navigator.platform,Oa=/gecko\/\d/i.test(ma),Zf=/MSIE \d/.test(ma),$f=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(ma),ic=/Edge\/(\d+)/.exec(ma),U=Zf||$f||ic,X=U&&(Zf?document.documentMode||6:+(ic||$f)[1]),ka=!ic&&/WebKit\//.test(ma),fh=ka&&/Qt\/\d+\.\d+/.test(ma),Bc=!ic&&/Chrome\//.test(ma),za=/Opera\//.test(ma),Qf=/Apple Computer/.test(navigator.vendor),gh=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(ma),xg=/PhantomJS/.test(ma),hc=!ic&&/AppleWebKit/.test(ma)&&/Mobile\/\w+/.test(ma),Cc=/Android/.test(ma),
-Db=hc||Cc||/webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(ma),wa=hc||/Mac/.test(Yf),Vg=/\bCrOS\b/.test(ma),hh=/win/i.test(Yf),jb=za&&ma.match(/Version\/(\d*\.\d*)/);jb&&(jb=Number(jb[1]));jb&&15<=jb&&(za=!1,ka=!0);var Bf=wa&&(fh||za&&(null==jb||12.11>jb)),Qd=Oa||U&&9<=X,db=function(b,c){var d=b.className;if(c=a(c).exec(d)){var f=d.slice(c.index+c[0].length);b.className=d.slice(0,c.index)+(f?c[1]+f:"")}};var Ib=document.createRange?function(a,b,c,d){var f=document.createRange();f.setEnd(d||
-a,c);f.setStart(a,b);return f}:function(a,b,c){var d=document.body.createTextRange();try{d.moveToElementText(a.parentNode)}catch(uc){return d}d.collapse(!0);d.moveEnd("character",c);d.moveStart("character",b);return d};var jc=function(a){a.select()};hc?jc=function(a){a.selectionStart=0;a.selectionEnd=a.value.length}:U&&(jc=function(a){try{a.select()}catch(K){}});var ib=function(){this.id=null};ib.prototype.set=function(a,b){clearTimeout(this.id);this.id=setTimeout(b,a)};var Sc={toString:function(){return"CodeMirror.Pass"}},
-Ga={scroll:!1},Rd={origin:"*mouse"},kc={origin:"+move"},vc=[""],bg=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,cg=/[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/,
-of=!1,Ia=!1,Fb=null,eg=function(){function a(a){return 247>=a?"bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN".charAt(a):1424<=a&&1524>=a?"R":1536<=a&&1785>=a?"nnnnnnNNr%%r,rNNmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmnNmmmmmmrrmmNmmmmrr1111111111".charAt(a-
-1536):1774<=a&&2220>=a?"r":8192<=a&&8203>=a?"w":8204==a?"b":"L"}function b(a,b,c){this.level=a;this.from=b;this.to=c}var c=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,d=/[stwN]/,f=/[LRr]/,h=/[Lb1n]/,e=/[1n]/;return function(k,l){var g="ltr"==l?"L":"R";if(0==k.length||"ltr"==l&&!c.test(k))return!1;for(var q=k.length,r=[],m=0;m<q;++m)r.push(a(k.charCodeAt(m)));m=0;for(var t=g;m<q;++m){var n=r[m];"m"==n?r[m]=t:t=n}m=0;for(t=g;m<q;++m)n=r[m],"1"==n&&"r"==t?r[m]="n":f.test(n)&&(t=n,"r"==n&&(r[m]="R"));
-m=1;for(t=r[0];m<q-1;++m)n=r[m],"+"==n&&"1"==t&&"1"==r[m+1]?r[m]="1":","!=n||t!=r[m+1]||"1"!=t&&"n"!=t||(r[m]=t),t=n;for(m=0;m<q;++m)if(t=r[m],","==t)r[m]="N";else if("%"==t){for(t=m+1;t<q&&"%"==r[t];++t);for(n=m&&"!"==r[m-1]||t<q&&"1"==r[t]?"1":"N";m<t;++m)r[m]=n;m=t-1}m=0;for(t=g;m<q;++m)n=r[m],"L"==t&&"1"==n?r[m]="L":f.test(n)&&(t=n);for(t=0;t<q;++t)if(d.test(r[t])){for(m=t+1;m<q&&d.test(r[m]);++m);n="L"==(t?r[t-1]:g);for(n=n==("L"==(m<q?r[m]:g))?n?"L":"R":g;t<m;++t)r[t]=n;t=m-1}g=[];var p;for(m=
-0;m<q;)if(h.test(r[m])){t=m;for(++m;m<q&&h.test(r[m]);++m);g.push(new b(0,t,m))}else{var u=m;t=g.length;for(++m;m<q&&"L"!=r[m];++m);for(n=u;n<m;)if(e.test(r[n])){u<n&&g.splice(t,0,new b(1,u,n));u=n;for(++n;n<m&&e.test(r[n]);++n);g.splice(t,0,new b(2,u,n));u=n}else++n;u<m&&g.splice(t,0,new b(1,u,m))}"ltr"==l&&(1==g[0].level&&(p=k.match(/^\s+/))&&(g[0].from=p[0].length,g.unshift(new b(0,0,p[0].length))),1==y(g).level&&(p=k.match(/\s+$/))&&(y(g).to-=p[0].length,g.push(new b(0,q-p[0].length,q))));return"rtl"==
-l?g.reverse():g}}(),xc=[],N=function(a,b,c){a.addEventListener?a.addEventListener(b,c,!1):a.attachEvent?a.attachEvent("on"+b,c):(a=a._handlers||(a._handlers={}),a[b]=(a[b]||xc).concat(c))},Wg=function(){if(U&&9>X)return!1;var a=c("div");return"draggable"in a||"dragDrop"in a}(),bd,hd,Ud=3!="\n\nb".split(/\n/).length?function(a){for(var b=0,c=[],d=a.length;b<=d;){var f=a.indexOf("\n",b);-1==f&&(f=a.length);var h=a.slice(b,"\r"==a.charAt(f-1)?f-1:f),e=h.indexOf("\r");-1!=e?(c.push(h.slice(0,e)),b+=e+
-1):(c.push(h),b=f+1)}return c}:function(a){return a.split(/\r\n?|\n/)},ih=window.getSelection?function(a){try{return a.selectionStart!=a.selectionEnd}catch(K){return!1}}:function(a){try{var b=a.ownerDocument.selection.createRange()}catch(Na){}return b&&b.parentElement()==a?0!=b.compareEndPoints("StartToEnd",b):!1},Qg=function(){var a=c("div");if("oncopy"in a)return!0;a.setAttribute("oncopy","return;");return"function"==typeof a.oncopy}(),nd=null,cd={},nb={},ob={},ca=function(a,b,c){this.pos=this.start=
-0;this.string=a;this.tabSize=b||8;this.lineStart=this.lastColumnPos=this.lastColumnValue=0;this.lineOracle=c};ca.prototype.eol=function(){return this.pos>=this.string.length};ca.prototype.sol=function(){return this.pos==this.lineStart};ca.prototype.peek=function(){return this.string.charAt(this.pos)||void 0};ca.prototype.next=function(){if(this.pos<this.string.length)return this.string.charAt(this.pos++)};ca.prototype.eat=function(a){var b=this.string.charAt(this.pos);if("string"==typeof a?b==a:b&&
-(a.test?a.test(b):a(b)))return++this.pos,b};ca.prototype.eatWhile=function(a){for(var b=this.pos;this.eat(a););return this.pos>b};ca.prototype.eatSpace=function(){for(var a=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>a};ca.prototype.skipToEnd=function(){this.pos=this.string.length};ca.prototype.skipTo=function(a){a=this.string.indexOf(a,this.pos);if(-1<a)return this.pos=a,!0};ca.prototype.backUp=function(a){this.pos-=a};ca.prototype.column=function(){this.lastColumnPos<
-this.start&&(this.lastColumnValue=r(this.string,this.start,this.tabSize,this.lastColumnPos,this.lastColumnValue),this.lastColumnPos=this.start);return this.lastColumnValue-(this.lineStart?r(this.string,this.lineStart,this.tabSize):0)};ca.prototype.indentation=function(){return r(this.string,null,this.tabSize)-(this.lineStart?r(this.string,this.lineStart,this.tabSize):0)};ca.prototype.match=function(a,b,c){if("string"==typeof a){var d=function(a){return c?a.toLowerCase():a},f=this.string.substr(this.pos,
-a.length);if(d(f)==d(a))return!1!==b&&(this.pos+=a.length),!0}else{if((a=this.string.slice(this.pos).match(a))&&0<a.index)return null;a&&!1!==b&&(this.pos+=a[0].length);return a}};ca.prototype.current=function(){return this.string.slice(this.start,this.pos)};ca.prototype.hideFirstChars=function(a,b){this.lineStart+=a;try{return b()}finally{this.lineStart-=a}};ca.prototype.lookAhead=function(a){var b=this.lineOracle;return b&&b.lookAhead(a)};ca.prototype.baseToken=function(){var a=this.lineOracle;
-return a&&a.baseToken(this.pos)};var zc=function(a,b){this.state=a;this.lookAhead=b},Ea=function(a,b,c,d){this.state=b;this.doc=a;this.line=c;this.maxLookAhead=d||0;this.baseTokens=null;this.baseTokenPos=1};Ea.prototype.lookAhead=function(a){var b=this.doc.getLine(this.line+a);null!=b&&a>this.maxLookAhead&&(this.maxLookAhead=a);return b};Ea.prototype.baseToken=function(a){if(!this.baseTokens)return null;for(;this.baseTokens[this.baseTokenPos]<=a;)this.baseTokenPos+=2;var b=this.baseTokens[this.baseTokenPos+
-1];return{type:b&&b.replace(/( |^)overlay .*/,""),size:this.baseTokens[this.baseTokenPos]-a}};Ea.prototype.nextLine=function(){this.line++;0<this.maxLookAhead&&this.maxLookAhead--};Ea.fromSaved=function(a,b,c){return b instanceof zc?new Ea(a,Xa(a.mode,b.state),c,b.lookAhead):new Ea(a,Xa(a.mode,b),c)};Ea.prototype.save=function(a){a=!1!==a?Xa(this.doc.mode,this.state):this.state;return 0<this.maxLookAhead?new zc(a,this.maxLookAhead):a};var ie=function(a,b,c){this.start=a.start;this.end=a.pos;this.string=
-a.current();this.type=b||null;this.state=c},sb=function(a,b,c){this.text=a;Xd(this,b);this.height=c?c(this):1};sb.prototype.lineNo=function(){return L(this)};mb(sb);var lg={},kg={},pb=null,Jb=null,we={left:0,right:0,top:0,bottom:0},bb,kb=function(a,b,d){this.cm=d;var f=this.vert=c("div",[c("div",null,null,"min-width: 1px")],"CodeMirror-vscrollbar"),h=this.horiz=c("div",[c("div",null,null,"height: 100%; min-height: 1px")],"CodeMirror-hscrollbar");f.tabIndex=h.tabIndex=-1;a(f);a(h);N(f,"scroll",function(){f.clientHeight&&
-b(f.scrollTop,"vertical")});N(h,"scroll",function(){h.clientWidth&&b(h.scrollLeft,"horizontal")});this.checkedZeroWidth=!1;U&&8>X&&(this.horiz.style.minHeight=this.vert.style.minWidth="18px")};kb.prototype.update=function(a){var b=a.scrollWidth>a.clientWidth+1,c=a.scrollHeight>a.clientHeight+1,d=a.nativeBarWidth;c?(this.vert.style.display="block",this.vert.style.bottom=b?d+"px":"0",this.vert.firstChild.style.height=Math.max(0,a.scrollHeight-a.clientHeight+(a.viewHeight-(b?d:0)))+"px"):(this.vert.style.display=
-"",this.vert.firstChild.style.height="0");b?(this.horiz.style.display="block",this.horiz.style.right=c?d+"px":"0",this.horiz.style.left=a.barLeft+"px",this.horiz.firstChild.style.width=Math.max(0,a.scrollWidth-a.clientWidth+(a.viewWidth-a.barLeft-(c?d:0)))+"px"):(this.horiz.style.display="",this.horiz.firstChild.style.width="0");!this.checkedZeroWidth&&0<a.clientHeight&&(0==d&&this.zeroWidthHack(),this.checkedZeroWidth=!0);return{right:c?d:0,bottom:b?d:0}};kb.prototype.setScrollLeft=function(a){this.horiz.scrollLeft!=
-a&&(this.horiz.scrollLeft=a);this.disableHoriz&&this.enableZeroWidthBar(this.horiz,this.disableHoriz,"horiz")};kb.prototype.setScrollTop=function(a){this.vert.scrollTop!=a&&(this.vert.scrollTop=a);this.disableVert&&this.enableZeroWidthBar(this.vert,this.disableVert,"vert")};kb.prototype.zeroWidthHack=function(){this.horiz.style.height=this.vert.style.width=wa&&!gh?"12px":"18px";this.horiz.style.pointerEvents=this.vert.style.pointerEvents="none";this.disableHoriz=new ib;this.disableVert=new ib};kb.prototype.enableZeroWidthBar=
-function(a,b,c){function d(){var f=a.getBoundingClientRect();("vert"==c?document.elementFromPoint(f.right-1,(f.top+f.bottom)/2):document.elementFromPoint((f.right+f.left)/2,f.bottom-1))!=a?a.style.pointerEvents="none":b.set(1E3,d)}a.style.pointerEvents="auto";b.set(1E3,d)};kb.prototype.clear=function(){var a=this.horiz.parentNode;a.removeChild(this.horiz);a.removeChild(this.vert)};var lc=function(){};lc.prototype.update=function(){return{bottom:0,right:0}};lc.prototype.setScrollLeft=function(){};
-lc.prototype.setScrollTop=function(){};lc.prototype.clear=function(){};var Re={"native":kb,"null":lc},wg=0,Ic=function(a,b,c){var d=a.display;this.viewport=b;this.visible=xd(d,a.doc,b);this.editorIsHidden=!d.wrapper.offsetWidth;this.wrapperHeight=d.wrapper.clientHeight;this.wrapperWidth=d.wrapper.clientWidth;this.oldDisplayWidth=Ya(a);this.force=c;this.dims=md(a);this.events=[]};Ic.prototype.signal=function(a,b){va(a,b)&&this.events.push(arguments)};Ic.prototype.finish=function(){for(var a=0;a<this.events.length;a++)ba.apply(null,
-this.events[a])};var Kc=0,ta=null;U?ta=-.53:Oa?ta=15:Bc?ta=-.7:Qf&&(ta=-1/3);var ua=function(a,b){this.ranges=a;this.primIndex=b};ua.prototype.primary=function(){return this.ranges[this.primIndex]};ua.prototype.equals=function(a){if(a==this)return!0;if(a.primIndex!=this.primIndex||a.ranges.length!=this.ranges.length)return!1;for(var b=0;b<this.ranges.length;b++){var c=this.ranges[b],d=a.ranges[b];if(!Ba(c.anchor,d.anchor)||!Ba(c.head,d.head))return!1}return!0};ua.prototype.deepCopy=function(){for(var a=
-[],b=0;b<this.ranges.length;b++)a[b]=new V(Ua(this.ranges[b].anchor),Ua(this.ranges[b].head));return new ua(a,this.primIndex)};ua.prototype.somethingSelected=function(){for(var a=0;a<this.ranges.length;a++)if(!this.ranges[a].empty())return!0;return!1};ua.prototype.contains=function(a,b){b||(b=a);for(var c=0;c<this.ranges.length;c++){var d=this.ranges[c];if(0<=M(b,d.from())&&0>=M(a,d.to()))return c}return-1};var V=function(a,b){this.anchor=a;this.head=b};V.prototype.from=function(){return rc(this.anchor,
-this.head)};V.prototype.to=function(){return pc(this.anchor,this.head)};V.prototype.empty=function(){return this.head.line==this.anchor.line&&this.head.ch==this.anchor.ch};Xb.prototype={chunkSize:function(){return this.lines.length},removeInner:function(a,b){for(var c=a,d=a+b;c<d;++c){var f=this.lines[c];this.height-=f.height;var h=f;h.parent=null;lb(h);ia(f,"delete")}this.lines.splice(a,b)},collapse:function(a){a.push.apply(a,this.lines)},insertInner:function(a,b,c){this.height+=c;this.lines=this.lines.slice(0,
-a).concat(b).concat(this.lines.slice(a));for(a=0;a<b.length;++a)b[a].parent=this},iterN:function(a,b,c){for(b=a+b;a<b;++a)if(c(this.lines[a]))return!0}};Yb.prototype={chunkSize:function(){return this.size},removeInner:function(a,b){this.size-=b;for(var c=0;c<this.children.length;++c){var d=this.children[c],f=d.chunkSize();if(a<f){var h=Math.min(b,f-a),e=d.height;d.removeInner(a,h);this.height-=e-d.height;f==h&&(this.children.splice(c--,1),d.parent=null);if(0==(b-=h))break;a=0}else a-=f}25>this.size-
-b&&(1<this.children.length||!(this.children[0]instanceof Xb))&&(a=[],this.collapse(a),this.children=[new Xb(a)],this.children[0].parent=this)},collapse:function(a){for(var b=0;b<this.children.length;++b)this.children[b].collapse(a)},insertInner:function(a,b,c){this.size+=b.length;this.height+=c;for(var d=0;d<this.children.length;++d){var f=this.children[d],h=f.chunkSize();if(a<=h){f.insertInner(a,b,c);if(f.lines&&50<f.lines.length){for(b=a=f.lines.length%25+25;b<f.lines.length;)c=new Xb(f.lines.slice(b,
-b+=25)),f.height-=c.height,this.children.splice(++d,0,c),c.parent=this;f.lines=f.lines.slice(0,a);this.maybeSpill()}break}a-=h}},maybeSpill:function(){if(!(10>=this.children.length)){var a=this;do{var b=a.children.splice(a.children.length-5,5);b=new Yb(b);if(a.parent){a.size-=b.size;a.height-=b.height;var c=l(a.parent.children,a);a.parent.children.splice(c+1,0,b)}else c=new Yb(a.children),c.parent=a,a.children=[c,b],a=c;b.parent=a.parent}while(10<a.children.length);a.parent.maybeSpill()}},iterN:function(a,
-b,c){for(var d=0;d<this.children.length;++d){var f=this.children[d],h=f.chunkSize();if(a<h){h=Math.min(b,h-a);if(f.iterN(a,h,c))return!0;if(0==(b-=h))break;a=0}else a-=h}}};var Zb=function(a,b,c){if(c)for(var d in c)c.hasOwnProperty(d)&&(this[d]=c[d]);this.doc=a;this.node=b};Zb.prototype.clear=function(){var a=this.doc.cm,b=this.line.widgets,c=this.line,d=L(c);if(null!=d&&b){for(var f=0;f<b.length;++f)b[f]==this&&b.splice(f--,1);b.length||(c.widgets=null);var h=Lb(this);S(c,Math.max(0,c.height-h));
-a&&(qa(a,function(){var b=-h;Da(c)<(a.curOp&&a.curOp.scrollTop||a.doc.scrollTop)&&Gc(a,b);Qa(a,d,"widget")}),ia(a,"lineWidgetCleared",a,this,d))}};Zb.prototype.changed=function(){var a=this,b=this.height,c=this.doc.cm,d=this.line;this.height=null;var f=Lb(this)-b;f&&(S(d,d.height+f),c&&qa(c,function(){c.curOp.forceUpdate=!0;Da(d)<(c.curOp&&c.curOp.scrollTop||c.doc.scrollTop)&&Gc(c,f);ia(c,"lineWidgetChanged",c,a,L(d))}))};mb(Zb);var uf=0,Sa=function(a,b){this.lines=[];this.type=b;this.doc=a;this.id=
-++uf};Sa.prototype.clear=function(){if(!this.explicitlyCleared){var a=this.doc.cm,b=a&&!a.curOp;b&&fb(a);if(va(this,"clear")){var c=this.find();c&&ia(this,"clear",c.from,c.to)}for(var d=c=null,f=0;f<this.lines.length;++f){var h=this.lines[f],e=Ha(h.markedSpans,this);a&&!this.collapsed?Qa(a,L(h),"text"):a&&(null!=e.to&&(d=L(h)),null!=e.from&&(c=L(h)));for(var k=h,l=void 0,g=h.markedSpans,q=e,r=0;r<g.length;++r)g[r]!=q&&(l||(l=[])).push(g[r]);k.markedSpans=l;null==e.from&&this.collapsed&&!Va(this.doc,
-h)&&a&&S(h,ab(a.display))}if(a&&this.collapsed&&!a.options.lineWrapping)for(f=0;f<this.lines.length;++f)h=Ca(this.lines[f]),e=wc(h),e>a.display.maxLineLength&&(a.display.maxLine=h,a.display.maxLineLength=e,a.display.maxLineChanged=!0);null!=c&&a&&this.collapsed&&oa(a,c,d+1);this.lines.length=0;this.explicitlyCleared=!0;this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,a&&kf(a.doc));a&&ia(a,"markerCleared",a,this,c,d);b&&gb(a);this.parent&&this.parent.clear()}};Sa.prototype.find=function(a,b){null==
-a&&"bookmark"==this.type&&(a=1);for(var c,d,f=0;f<this.lines.length;++f){var h=this.lines[f],e=Ha(h.markedSpans,this);if(null!=e.from&&(c=I(b?h:L(h),e.from),-1==a))return c;if(null!=e.to&&(d=I(b?h:L(h),e.to),1==a))return d}return c&&{from:c,to:d}};Sa.prototype.changed=function(){var a=this,b=this.find(-1,!0),c=this,d=this.doc.cm;b&&d&&qa(d,function(){var f=b.line,h=L(b.line);if(h=ld(d,h))xe(h),d.curOp.selectionChanged=d.curOp.forceUpdate=!0;d.curOp.updateMaxLine=!0;Va(c.doc,f)||null==c.height||(h=
-c.height,c.height=null,(h=Lb(c)-h)&&S(f,f.height+h));ia(d,"markerChanged",d,a)})};Sa.prototype.attachLine=function(a){if(!this.lines.length&&this.doc.cm){var b=this.doc.cm.curOp;b.maybeHiddenMarkers&&-1!=l(b.maybeHiddenMarkers,this)||(b.maybeUnhiddenMarkers||(b.maybeUnhiddenMarkers=[])).push(this)}this.lines.push(a)};Sa.prototype.detachLine=function(a){this.lines.splice(l(this.lines,a),1);!this.lines.length&&this.doc.cm&&(a=this.doc.cm.curOp,(a.maybeHiddenMarkers||(a.maybeHiddenMarkers=[])).push(this))};
-mb(Sa);var $b=function(a,b){this.markers=a;this.primary=b;for(b=0;b<a.length;++b)a[b].parent=this};$b.prototype.clear=function(){if(!this.explicitlyCleared){this.explicitlyCleared=!0;for(var a=0;a<this.markers.length;++a)this.markers[a].clear();ia(this,"clear")}};$b.prototype.find=function(a,b){return this.primary.find(a,b)};mb($b);var jh=0,pa=function(a,b,c,d,f){if(!(this instanceof pa))return new pa(a,b,c,d,f);null==c&&(c=0);Yb.call(this,[new Xb([new sb("",null)])]);this.first=c;this.scrollTop=
-this.scrollLeft=0;this.cantEdit=!1;this.cleanGeneration=1;this.modeFrontier=this.highlightFrontier=c;c=I(c,0);this.sel=La(c);this.history=new Lc(null);this.id=++jh;this.modeOption=b;this.lineSep=d;this.direction="rtl"==f?"rtl":"ltr";this.extend=!1;"string"==typeof a&&(a=this.splitLines(a));Gd(this,{from:c,to:c,text:a});ja(this,La(c),Ga)};pa.prototype=v(Yb.prototype,{constructor:pa,iter:function(a,b,c){c?this.iterN(a-this.first,b-a,c):this.iterN(this.first,this.first+this.size,a)},insert:function(a,
-b){for(var c=0,d=0;d<b.length;++d)c+=b[d].height;this.insertInner(a-this.first,b,c)},remove:function(a,b){this.removeInner(a-this.first,b)},getValue:function(a){var b=T(this,this.first,this.first+this.size);return!1===a?b:b.join(a||this.lineSeparator())},setValue:ha(function(a){var b=I(this.first,0),c=this.first+this.size-1;vb(this,{from:b,to:I(c,J(this,c).text.length),text:this.splitLines(a),origin:"setValue",full:!0},!0);this.cm&&Qb(this.cm,0,0);ja(this,La(b),Ga)}),replaceRange:function(a,b,c,d){b=
-R(this,b);c=c?R(this,c):b;wb(this,a,b,c,d)},getRange:function(a,b,c){a=Q(this,R(this,a),R(this,b));return!1===c?a:a.join(c||this.lineSeparator())},getLine:function(a){return(a=this.getLineHandle(a))&&a.text},getLineHandle:function(a){if(Y(this,a))return J(this,a)},getLineNumber:function(a){return L(a)},getLineHandleVisualStart:function(a){"number"==typeof a&&(a=J(this,a));return Ca(a)},lineCount:function(){return this.size},firstLine:function(){return this.first},lastLine:function(){return this.first+
-this.size-1},clipPos:function(a){return R(this,a)},getCursor:function(a){var b=this.sel.primary();return null==a||"head"==a?b.head:"anchor"==a?b.anchor:"end"==a||"to"==a||!1===a?b.to():b.from()},listSelections:function(){return this.sel.ranges},somethingSelected:function(){return this.sel.somethingSelected()},setCursor:ha(function(a,b,c){a=R(this,"number"==typeof a?I(a,b||0):a);ja(this,La(a,null),c)}),setSelection:ha(function(a,b,c){var d=R(this,a);a=R(this,b||a);ja(this,La(d,a),c)}),extendSelection:ha(function(a,
-b,c){Nc(this,R(this,a),b&&R(this,b),c)}),extendSelections:ha(function(a,b){ff(this,tc(this,a),b)}),extendSelectionsBy:ha(function(a,b){a=z(this.sel.ranges,a);ff(this,tc(this,a),b)}),setSelections:ha(function(a,b,c){if(a.length){for(var d=[],f=0;f<a.length;f++)d[f]=new V(R(this,a[f].anchor),R(this,a[f].head));null==b&&(b=Math.min(a.length-1,this.sel.primIndex));ja(this,Aa(d,b),c)}}),addSelection:ha(function(a,b,c){var d=this.sel.ranges.slice(0);d.push(new V(R(this,a),R(this,b||a)));ja(this,Aa(d,d.length-
-1),c)}),getSelection:function(a){for(var b=this.sel.ranges,c,d=0;d<b.length;d++){var f=Q(this,b[d].from(),b[d].to());c=c?c.concat(f):f}return!1===a?c:c.join(a||this.lineSeparator())},getSelections:function(a){for(var b=[],c=this.sel.ranges,d=0;d<c.length;d++){var f=Q(this,c[d].from(),c[d].to());!1!==a&&(f=f.join(a||this.lineSeparator()));b[d]=f}return b},replaceSelection:function(a,b,c){for(var d=[],f=0;f<this.sel.ranges.length;f++)d[f]=a;this.replaceSelections(d,b,c||"+input")},replaceSelections:ha(function(a,
-b,c){for(var d=[],f=this.sel,h=0;h<f.ranges.length;h++){var e=f.ranges[h];d[h]={from:e.from(),to:e.to(),text:this.splitLines(a[h]),origin:c}}if(a=b&&"end"!=b){a=[];f=c=I(this.first,0);for(h=0;h<d.length;h++){var k=d[h];e=Ye(k.from,c,f);var l=Ye(Ra(k),c,f);c=k.to;f=l;"around"==b?(k=this.sel.ranges[h],k=0>M(k.head,k.anchor),a[h]=new V(k?l:e,k?e:l)):a[h]=new V(e,e)}a=new ua(a,this.sel.primIndex)}b=a;for(a=d.length-1;0<=a;a--)vb(this,d[a]);b?gf(this,b):this.cm&&qb(this.cm)}),undo:ha(function(){Pc(this,
-"undo")}),redo:ha(function(){Pc(this,"redo")}),undoSelection:ha(function(){Pc(this,"undo",!0)}),redoSelection:ha(function(){Pc(this,"redo",!0)}),setExtending:function(a){this.extend=a},getExtending:function(){return this.extend},historySize:function(){for(var a=this.history,b=0,c=0,d=0;d<a.done.length;d++)a.done[d].ranges||++b;for(d=0;d<a.undone.length;d++)a.undone[d].ranges||++c;return{undo:b,redo:c}},clearHistory:function(){this.history=new Lc(this.history.maxGeneration)},markClean:function(){this.cleanGeneration=
-this.changeGeneration(!0)},changeGeneration:function(a){a&&(this.history.lastOp=this.history.lastSelOp=this.history.lastOrigin=null);return this.history.generation},isClean:function(a){return this.history.generation==(a||this.cleanGeneration)},getHistory:function(){return{done:tb(this.history.done),undone:tb(this.history.undone)}},setHistory:function(a){var b=this.history=new Lc(this.history.maxGeneration);b.done=tb(a.done.slice(0),null,!0);b.undone=tb(a.undone.slice(0),null,!0)},setGutterMarker:ha(function(a,
-b,c){return Wb(this,a,"gutter",function(a){var d=a.gutterMarkers||(a.gutterMarkers={});d[b]=c;!c&&C(d)&&(a.gutterMarkers=null);return!0})}),clearGutter:ha(function(a){var b=this;this.iter(function(c){c.gutterMarkers&&c.gutterMarkers[a]&&Wb(b,c,"gutter",function(){c.gutterMarkers[a]=null;C(c.gutterMarkers)&&(c.gutterMarkers=null);return!0})})}),lineInfo:function(a){if("number"==typeof a){if(!Y(this,a))return null;var b=a;a=J(this,a);if(!a)return null}else if(b=L(a),null==b)return null;return{line:b,
-handle:a,text:a.text,gutterMarkers:a.gutterMarkers,textClass:a.textClass,bgClass:a.bgClass,wrapClass:a.wrapClass,widgets:a.widgets}},addLineClass:ha(function(b,c,d){return Wb(this,b,"gutter"==c?"gutter":"class",function(b){var f="text"==c?"textClass":"background"==c?"bgClass":"gutter"==c?"gutterClass":"wrapClass";if(b[f]){if(a(d).test(b[f]))return!1;b[f]+=" "+d}else b[f]=d;return!0})}),removeLineClass:ha(function(b,c,d){return Wb(this,b,"gutter"==c?"gutter":"class",function(b){var f="text"==c?"textClass":
-"background"==c?"bgClass":"gutter"==c?"gutterClass":"wrapClass",h=b[f];if(h)if(null==d)b[f]=null;else{var e=h.match(a(d));if(!e)return!1;var k=e.index+e[0].length;b[f]=h.slice(0,e.index)+(e.index&&k!=h.length?" ":"")+h.slice(k)||null}else return!1;return!0})}),addLineWidget:ha(function(a,b,c){return Fg(this,a,b,c)}),removeLineWidget:function(a){a.clear()},markText:function(a,b,c){return xb(this,R(this,a),R(this,b),c,c&&c.type||"range")},setBookmark:function(a,b){b={replacedWith:b&&(null==b.nodeType?
-b.widget:b),insertLeft:b&&b.insertLeft,clearWhenEmpty:!1,shared:b&&b.shared,handleMouseEvents:b&&b.handleMouseEvents};a=R(this,a);return xb(this,a,a,b,"bookmark")},findMarksAt:function(a){a=R(this,a);var b=[],c=J(this,a.line).markedSpans;if(c)for(var d=0;d<c.length;++d){var f=c[d];(null==f.from||f.from<=a.ch)&&(null==f.to||f.to>=a.ch)&&b.push(f.marker.parent||f.marker)}return b},findMarks:function(a,b,c){a=R(this,a);b=R(this,b);var d=[],f=a.line;this.iter(a.line,b.line+1,function(h){if(h=h.markedSpans)for(var e=
-0;e<h.length;e++){var k=h[e];null!=k.to&&f==a.line&&a.ch>=k.to||null==k.from&&f!=a.line||null!=k.from&&f==b.line&&k.from>=b.ch||c&&!c(k.marker)||d.push(k.marker.parent||k.marker)}++f});return d},getAllMarks:function(){var a=[];this.iter(function(b){if(b=b.markedSpans)for(var c=0;c<b.length;++c)null!=b[c].from&&a.push(b[c].marker)});return a},posFromIndex:function(a){var b,c=this.first,d=this.lineSeparator().length;this.iter(function(f){f=f.text.length+d;if(f>a)return b=a,!0;a-=f;++c});return R(this,
-I(c,b))},indexFromPos:function(a){a=R(this,a);var b=a.ch;if(a.line<this.first||0>a.ch)return 0;var c=this.lineSeparator().length;this.iter(this.first,a.line,function(a){b+=a.text.length+c});return b},copy:function(a){var b=new pa(T(this,this.first,this.first+this.size),this.modeOption,this.first,this.lineSep,this.direction);b.scrollTop=this.scrollTop;b.scrollLeft=this.scrollLeft;b.sel=this.sel;b.extend=!1;a&&(b.history.undoDepth=this.history.undoDepth,b.setHistory(this.getHistory()));return b},linkedDoc:function(a){a||
-(a={});var b=this.first,c=this.first+this.size;null!=a.from&&a.from>b&&(b=a.from);null!=a.to&&a.to<c&&(c=a.to);b=new pa(T(this,b,c),a.mode||this.modeOption,b,this.lineSep,this.direction);a.sharedHist&&(b.history=this.history);(this.linked||(this.linked=[])).push({doc:b,sharedHist:a.sharedHist});b.linked=[{doc:this,isParent:!0,sharedHist:a.sharedHist}];a=vf(this);for(c=0;c<a.length;c++){var d=a[c],f=d.find(),h=b.clipPos(f.from);f=b.clipPos(f.to);M(h,f)&&(h=xb(b,h,f,d.primary,d.primary.type),d.markers.push(h),
-h.parent=d)}return b},unlinkDoc:function(a){a instanceof Z&&(a=a.doc);if(this.linked)for(var b=0;b<this.linked.length;++b)if(this.linked[b].doc==a){this.linked.splice(b,1);a.unlinkDoc(this);Hg(vf(this));break}if(a.history==this.history){var c=[a.id];hb(a,function(a){return c.push(a.id)},!0);a.history=new Lc(null);a.history.done=tb(this.history.done,c);a.history.undone=tb(this.history.undone,c)}},iterLinkedDocs:function(a){hb(this,a)},getMode:function(){return this.mode},getEditor:function(){return this.cm},
-splitLines:function(a){return this.lineSep?a.split(this.lineSep):Ud(a)},lineSeparator:function(){return this.lineSep||"\n"},setDirection:ha(function(a){"rtl"!=a&&(a="ltr");a!=this.direction&&(this.direction=a,this.iter(function(a){return a.order=null}),this.cm&&Bg(this.cm))})});pa.prototype.eachLine=pa.prototype.iter;for(var xf=0,Pf=!1,Ta={3:"Pause",8:"Backspace",9:"Tab",13:"Enter",16:"Shift",17:"Ctrl",18:"Alt",19:"Pause",20:"CapsLock",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",
-37:"Left",38:"Up",39:"Right",40:"Down",44:"PrintScrn",45:"Insert",46:"Delete",59:";",61:"=",91:"Mod",92:"Mod",93:"Mod",106:"*",107:"=",109:"-",110:".",111:"/",127:"Delete",145:"ScrollLock",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",63232:"Up",63233:"Down",63234:"Left",63235:"Right",63272:"Delete",63273:"Home",63275:"End",63276:"PageUp",63277:"PageDown",63302:"Insert"},mc=0;10>mc;mc++)Ta[mc+48]=Ta[mc+96]=String(mc);for(var Wc=65;90>=Wc;Wc++)Ta[Wc]=
-String.fromCharCode(Wc);for(var nc=1;12>=nc;nc++)Ta[nc+111]=Ta[nc+63235]="F"+nc;var ac={basic:{Left:"goCharLeft",Right:"goCharRight",Up:"goLineUp",Down:"goLineDown",End:"goLineEnd",Home:"goLineStartSmart",PageUp:"goPageUp",PageDown:"goPageDown",Delete:"delCharAfter",Backspace:"delCharBefore","Shift-Backspace":"delCharBefore",Tab:"defaultTab","Shift-Tab":"indentAuto",Enter:"newlineAndIndent",Insert:"toggleOverwrite",Esc:"singleSelection"},pcDefault:{"Ctrl-A":"selectAll","Ctrl-D":"deleteLine","Ctrl-Z":"undo",
-"Shift-Ctrl-Z":"redo","Ctrl-Y":"redo","Ctrl-Home":"goDocStart","Ctrl-End":"goDocEnd","Ctrl-Up":"goLineUp","Ctrl-Down":"goLineDown","Ctrl-Left":"goGroupLeft","Ctrl-Right":"goGroupRight","Alt-Left":"goLineStart","Alt-Right":"goLineEnd","Ctrl-Backspace":"delGroupBefore","Ctrl-Delete":"delGroupAfter","Ctrl-S":"save","Ctrl-F":"find","Ctrl-G":"findNext","Shift-Ctrl-G":"findPrev","Shift-Ctrl-F":"replace","Shift-Ctrl-R":"replaceAll","Ctrl-[":"indentLess","Ctrl-]":"indentMore","Ctrl-U":"undoSelection","Shift-Ctrl-U":"redoSelection",
-"Alt-U":"redoSelection",fallthrough:"basic"},emacsy:{"Ctrl-F":"goCharRight","Ctrl-B":"goCharLeft","Ctrl-P":"goLineUp","Ctrl-N":"goLineDown","Alt-F":"goWordRight","Alt-B":"goWordLeft","Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd","Ctrl-V":"goPageDown","Shift-Ctrl-V":"goPageUp","Ctrl-D":"delCharAfter","Ctrl-H":"delCharBefore","Alt-D":"delWordAfter","Alt-Backspace":"delWordBefore","Ctrl-K":"killLine","Ctrl-T":"transposeChars","Ctrl-O":"openLine"},macDefault:{"Cmd-A":"selectAll","Cmd-D":"deleteLine","Cmd-Z":"undo",
-"Shift-Cmd-Z":"redo","Cmd-Y":"redo","Cmd-Home":"goDocStart","Cmd-Up":"goDocStart","Cmd-End":"goDocEnd","Cmd-Down":"goDocEnd","Alt-Left":"goGroupLeft","Alt-Right":"goGroupRight","Cmd-Left":"goLineLeft","Cmd-Right":"goLineRight","Alt-Backspace":"delGroupBefore","Ctrl-Alt-Backspace":"delGroupAfter","Alt-Delete":"delGroupAfter","Cmd-S":"save","Cmd-F":"find","Cmd-G":"findNext","Shift-Cmd-G":"findPrev","Cmd-Alt-F":"replace","Shift-Cmd-Alt-F":"replaceAll","Cmd-[":"indentLess","Cmd-]":"indentMore","Cmd-Backspace":"delWrappedLineLeft",
-"Cmd-Delete":"delWrappedLineRight","Cmd-U":"undoSelection","Shift-Cmd-U":"redoSelection","Ctrl-Up":"goDocStart","Ctrl-Down":"goDocEnd",fallthrough:["basic","emacsy"]}};ac["default"]=wa?ac.macDefault:ac.pcDefault;var bc={selectAll:mf,singleSelection:function(a){return a.setSelection(a.getCursor("anchor"),a.getCursor("head"),Ga)},killLine:function(a){return zb(a,function(b){if(b.empty()){var c=J(a.doc,b.head.line).text.length;return b.head.ch==c&&b.head.line<a.lastLine()?{from:b.head,to:I(b.head.line+
-1,0)}:{from:b.head,to:I(b.head.line,c)}}return{from:b.from(),to:b.to()}})},deleteLine:function(a){return zb(a,function(b){return{from:I(b.from().line,0),to:R(a.doc,I(b.to().line+1,0))}})},delLineLeft:function(a){return zb(a,function(a){return{from:I(a.from().line,0),to:a.from()}})},delWrappedLineLeft:function(a){return zb(a,function(b){var c=a.charCoords(b.head,"div").top+5;return{from:a.coordsChar({left:0,top:c},"div"),to:b.from()}})},delWrappedLineRight:function(a){return zb(a,function(b){var c=
-a.charCoords(b.head,"div").top+5;c=a.coordsChar({left:a.display.lineDiv.offsetWidth+100,top:c},"div");return{from:b.from(),to:c}})},undo:function(a){return a.undo()},redo:function(a){return a.redo()},undoSelection:function(a){return a.undoSelection()},redoSelection:function(a){return a.redoSelection()},goDocStart:function(a){return a.extendSelection(I(a.firstLine(),0))},goDocEnd:function(a){return a.extendSelection(I(a.lastLine()))},goLineStart:function(a){return a.extendSelectionsBy(function(b){return Df(a,
-b.head.line)},{origin:"+move",bias:1})},goLineStartSmart:function(a){return a.extendSelectionsBy(function(b){return Ef(a,b.head)},{origin:"+move",bias:1})},goLineEnd:function(a){return a.extendSelectionsBy(function(b){b=b.head.line;var c=J(a.doc,b);var d=c;for(var f;f=Ma(d,!1);)d=f.find(1,!0).line;d!=c&&(b=L(d));return Nd(!0,a,c,b,-1)},{origin:"+move",bias:-1})},goLineRight:function(a){return a.extendSelectionsBy(function(b){b=a.cursorCoords(b.head,"div").top+5;return a.coordsChar({left:a.display.lineDiv.offsetWidth+
-100,top:b},"div")},kc)},goLineLeft:function(a){return a.extendSelectionsBy(function(b){b=a.cursorCoords(b.head,"div").top+5;return a.coordsChar({left:0,top:b},"div")},kc)},goLineLeftSmart:function(a){return a.extendSelectionsBy(function(b){var c=a.cursorCoords(b.head,"div").top+5;c=a.coordsChar({left:0,top:c},"div");return c.ch<a.getLine(c.line).search(/\S/)?Ef(a,b.head):c},kc)},goLineUp:function(a){return a.moveV(-1,"line")},goLineDown:function(a){return a.moveV(1,"line")},goPageUp:function(a){return a.moveV(-1,
-"page")},goPageDown:function(a){return a.moveV(1,"page")},goCharLeft:function(a){return a.moveH(-1,"char")},goCharRight:function(a){return a.moveH(1,"char")},goColumnLeft:function(a){return a.moveH(-1,"column")},goColumnRight:function(a){return a.moveH(1,"column")},goWordLeft:function(a){return a.moveH(-1,"word")},goGroupRight:function(a){return a.moveH(1,"group")},goGroupLeft:function(a){return a.moveH(-1,"group")},goWordRight:function(a){return a.moveH(1,"word")},delCharBefore:function(a){return a.deleteH(-1,
-"char")},delCharAfter:function(a){return a.deleteH(1,"char")},delWordBefore:function(a){return a.deleteH(-1,"word")},delWordAfter:function(a){return a.deleteH(1,"word")},delGroupBefore:function(a){return a.deleteH(-1,"group")},delGroupAfter:function(a){return a.deleteH(1,"group")},indentAuto:function(a){return a.indentSelection("smart")},indentMore:function(a){return a.indentSelection("add")},indentLess:function(a){return a.indentSelection("subtract")},insertTab:function(a){return a.replaceSelection("\t")},
-insertSoftTab:function(a){for(var b=[],c=a.listSelections(),d=a.options.tabSize,f=0;f<c.length;f++){var h=c[f].from();h=r(a.getLine(h.line),h.ch,d);b.push(A(d-h%d))}a.replaceSelections(b)},defaultTab:function(a){a.somethingSelected()?a.indentSelection("add"):a.execCommand("insertTab")},transposeChars:function(a){return qa(a,function(){for(var b=a.listSelections(),c=[],d=0;d<b.length;d++)if(b[d].empty()){var f=b[d].head,h=J(a.doc,f.line).text;if(h)if(f.ch==h.length&&(f=new I(f.line,f.ch-1)),0<f.ch)f=
-new I(f.line,f.ch+1),a.replaceRange(h.charAt(f.ch-1)+h.charAt(f.ch-2),I(f.line,f.ch-2),f,"+transpose");else if(f.line>a.doc.first){var e=J(a.doc,f.line-1).text;e&&(f=new I(f.line,1),a.replaceRange(h.charAt(0)+a.doc.lineSeparator()+e.charAt(e.length-1),I(f.line-1,e.length-1),f,"+transpose"))}c.push(new V(f,f))}a.setSelections(c)})},newlineAndIndent:function(a){return qa(a,function(){for(var b=a.listSelections(),c=b.length-1;0<=c;c--)a.replaceRange(a.doc.lineSeparator(),b[c].anchor,b[c].head,"+input");
-b=a.listSelections();for(c=0;c<b.length;c++)a.indentLine(b[c].from().line,null,!0);qb(a)})},openLine:function(a){return a.replaceSelection("\n","start")},toggleOverwrite:function(a){return a.toggleOverwrite()}},Og=new ib,Od=null,Pd=function(a,b,c){this.time=a;this.pos=b;this.button=c};Pd.prototype.compare=function(a,b,c){return this.time+400>a&&0==M(b,this.pos)&&c==this.button};var ec,dc,Ab={toString:function(){return"CodeMirror.Init"}},Of={},Uc={};Z.defaults=Of;Z.optionHandlers=Uc;var Sd=[];Z.defineInitHook=
-function(a){return Sd.push(a)};var ra=null,W=function(a){this.cm=a;this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null;this.polling=new ib;this.composing=null;this.gracePeriod=!1;this.readDOMTimeout=null};W.prototype.init=function(a){function b(a){if(!ea(f,a)){if(f.somethingSelected())ra={lineWise:!1,text:f.getSelections()},"cut"==a.type&&f.replaceSelection("",null,"cut");else if(f.options.lineWiseCopyCut){var b=Tf(f);ra={lineWise:!0,text:b.text};"cut"==a.type&&
-f.operation(function(){f.setSelections(b.ranges,0,Ga);f.replaceSelection("",null,"cut")})}else return;if(a.clipboardData){a.clipboardData.clearData();var c=ra.text.join("\n");a.clipboardData.setData("Text",c);if(a.clipboardData.getData("Text")==c){a.preventDefault();return}}var e=Vf();a=e.firstChild;f.display.lineSpace.insertBefore(e,f.display.lineSpace.firstChild);a.value=ra.text.join("\n");var k=document.activeElement;jc(a);setTimeout(function(){f.display.lineSpace.removeChild(e);k.focus();k==h&&
-d.showPrimarySelection()},50)}}var c=this,d=this,f=d.cm,h=d.div=a.lineDiv;Uf(h,f.options.spellcheck);N(h,"paste",function(a){ea(f,a)||Sf(a,f)||11>=X&&setTimeout(fa(f,function(){return c.updateFromDOM()}),20)});N(h,"compositionstart",function(a){c.composing={data:a.data,done:!1}});N(h,"compositionupdate",function(a){c.composing||(c.composing={data:a.data,done:!1})});N(h,"compositionend",function(a){c.composing&&(a.data!=c.composing.data&&c.readFromDOMSoon(),c.composing.done=!0)});N(h,"touchstart",
-function(){return d.forceCompositionEnd()});N(h,"input",function(){c.composing||c.readFromDOMSoon()});N(h,"copy",b);N(h,"cut",b)};W.prototype.prepareSelection=function(){var a=Ge(this.cm,!1);a.focus=this.cm.state.focused;return a};W.prototype.showSelection=function(a,b){a&&this.cm.display.view.length&&((a.focus||b)&&this.showPrimarySelection(),this.showMultipleSelections(a))};W.prototype.getSelection=function(){return this.cm.display.wrapper.ownerDocument.getSelection()};W.prototype.showPrimarySelection=
-function(){var a=this.getSelection(),b=this.cm,c=b.doc.sel.primary(),d=c.from();c=c.to();if(b.display.viewTo==b.display.viewFrom||d.line>=b.display.viewTo||c.line<b.display.viewFrom)a.removeAllRanges();else{var f=Vc(b,a.anchorNode,a.anchorOffset),h=Vc(b,a.focusNode,a.focusOffset);if(!f||f.bad||!h||h.bad||0!=M(rc(f,h),d)||0!=M(pc(f,h),c))if(f=b.display.view,d=d.line>=b.display.viewFrom&&Xf(b,d)||{node:f[0].measure.map[2],offset:0},c=c.line<b.display.viewTo&&Xf(b,c),c||(c=f[f.length-1].measure,c=c.maps?
-c.maps[c.maps.length-1]:c.map,c={node:c[c.length-1],offset:c[c.length-2]-c[c.length-3]}),d&&c){f=a.rangeCount&&a.getRangeAt(0);try{var e=Ib(d.node,d.offset,c.offset,c.node)}catch(lh){}e&&(!Oa&&b.state.focused?(a.collapse(d.node,d.offset),e.collapsed||(a.removeAllRanges(),a.addRange(e))):(a.removeAllRanges(),a.addRange(e)),f&&null==a.anchorNode?a.addRange(f):Oa&&this.startGracePeriod());this.rememberSelection()}else a.removeAllRanges()}};W.prototype.startGracePeriod=function(){var a=this;clearTimeout(this.gracePeriod);
-this.gracePeriod=setTimeout(function(){a.gracePeriod=!1;a.selectionChanged()&&a.cm.operation(function(){return a.cm.curOp.selectionChanged=!0})},20)};W.prototype.showMultipleSelections=function(a){g(this.cm.display.cursorDiv,a.cursors);g(this.cm.display.selectionDiv,a.selection)};W.prototype.rememberSelection=function(){var a=this.getSelection();this.lastAnchorNode=a.anchorNode;this.lastAnchorOffset=a.anchorOffset;this.lastFocusNode=a.focusNode;this.lastFocusOffset=a.focusOffset};W.prototype.selectionInEditor=
-function(){var a=this.getSelection();if(!a.rangeCount)return!1;a=a.getRangeAt(0).commonAncestorContainer;return d(this.div,a)};W.prototype.focus=function(){"nocursor"!=this.cm.options.readOnly&&(this.selectionInEditor()||this.showSelection(this.prepareSelection(),!0),this.div.focus())};W.prototype.blur=function(){this.div.blur()};W.prototype.getField=function(){return this.div};W.prototype.supportsTouch=function(){return!0};W.prototype.receivedFocus=function(){function a(){b.cm.state.focused&&(b.pollSelection(),
-b.polling.set(b.cm.options.pollInterval,a))}var b=this;this.selectionInEditor()?this.pollSelection():qa(this.cm,function(){return b.cm.curOp.selectionChanged=!0});this.polling.set(this.cm.options.pollInterval,a)};W.prototype.selectionChanged=function(){var a=this.getSelection();return a.anchorNode!=this.lastAnchorNode||a.anchorOffset!=this.lastAnchorOffset||a.focusNode!=this.lastFocusNode||a.focusOffset!=this.lastFocusOffset};W.prototype.pollSelection=function(){if(null==this.readDOMTimeout&&!this.gracePeriod&&
-this.selectionChanged()){var a=this.getSelection(),b=this.cm;if(Cc&&Bc&&this.cm.options.gutters.length&&ch(a.anchorNode))this.cm.triggerOnKeyDown({type:"keydown",keyCode:8,preventDefault:Math.abs}),this.blur(),this.focus();else if(!this.composing){this.rememberSelection();var c=Vc(b,a.anchorNode,a.anchorOffset),d=Vc(b,a.focusNode,a.focusOffset);c&&d&&qa(b,function(){ja(b.doc,La(c,d),Ga);if(c.bad||d.bad)b.curOp.selectionChanged=!0})}}};W.prototype.pollContent=function(){null!=this.readDOMTimeout&&
-(clearTimeout(this.readDOMTimeout),this.readDOMTimeout=null);var a=this.cm,b=a.display,c=a.doc.sel.primary(),d=c.from(),f=c.to();0==d.ch&&d.line>a.firstLine()&&(d=I(d.line-1,J(a.doc,d.line-1).length));f.ch==J(a.doc,f.line).text.length&&f.line<a.lastLine()&&(f=I(f.line+1,0));if(d.line<b.viewFrom||f.line>b.viewTo-1)return!1;var h;d.line==b.viewFrom||0==(h=Za(a,d.line))?(c=L(b.view[0].line),h=b.view[0].node):(c=L(b.view[h].line),h=b.view[h-1].node.nextSibling);var e=Za(a,f.line);e==b.view.length-1?(f=
-b.viewTo-1,b=b.lineDiv.lastChild):(f=L(b.view[e+1].line)-1,b=b.view[e+1].node.previousSibling);if(!h)return!1;b=a.doc.splitLines(dh(a,h,b,c,f));for(h=Q(a.doc,I(c,0),I(f,J(a.doc,f).text.length));1<b.length&&1<h.length;)if(y(b)==y(h))b.pop(),h.pop(),f--;else if(b[0]==h[0])b.shift(),h.shift(),c++;else break;var k=0;e=0;for(var l=b[0],g=h[0],q=Math.min(l.length,g.length);k<q&&l.charCodeAt(k)==g.charCodeAt(k);)++k;l=y(b);g=y(h);for(q=Math.min(l.length-(1==b.length?k:0),g.length-(1==h.length?k:0));e<q&&
-l.charCodeAt(l.length-e-1)==g.charCodeAt(g.length-e-1);)++e;if(1==b.length&&1==h.length&&c==d.line)for(;k&&k>d.ch&&l.charCodeAt(l.length-e-1)==g.charCodeAt(g.length-e-1);)k--,e++;b[b.length-1]=l.slice(0,l.length-e).replace(/^\u200b+/,"");b[0]=b[0].slice(k).replace(/\u200b+$/,"");d=I(c,k);c=I(f,h.length?y(h).length-e:0);if(1<b.length||b[0]||M(d,c))return wb(a.doc,b,d,c,"+input"),!0};W.prototype.ensurePolled=function(){this.forceCompositionEnd()};W.prototype.reset=function(){this.forceCompositionEnd()};
-W.prototype.forceCompositionEnd=function(){this.composing&&(clearTimeout(this.readDOMTimeout),this.composing=null,this.updateFromDOM(),this.div.blur(),this.div.focus())};W.prototype.readFromDOMSoon=function(){var a=this;null==this.readDOMTimeout&&(this.readDOMTimeout=setTimeout(function(){a.readDOMTimeout=null;if(a.composing)if(a.composing.done)a.composing=null;else return;a.updateFromDOM()},80))};W.prototype.updateFromDOM=function(){var a=this;!this.cm.isReadOnly()&&this.pollContent()||qa(this.cm,
-function(){return oa(a.cm)})};W.prototype.setUneditable=function(a){a.contentEditable="false"};W.prototype.onKeyPress=function(a){0==a.charCode||this.composing||(a.preventDefault(),this.cm.isReadOnly()||fa(this.cm,Td)(this.cm,String.fromCharCode(null==a.charCode?a.keyCode:a.charCode),0))};W.prototype.readOnlyChanged=function(a){this.div.contentEditable=String("nocursor"!=a)};W.prototype.onContextMenu=function(){};W.prototype.resetPosition=function(){};W.prototype.needsContentAttribute=!0;var da=function(a){this.cm=
-a;this.prevInput="";this.pollingFast=!1;this.polling=new ib;this.hasSelection=!1;this.composing=null};da.prototype.init=function(a){function b(a){if(!ea(f,a)){if(f.somethingSelected())ra={lineWise:!1,text:f.getSelections()};else if(f.options.lineWiseCopyCut){var b=Tf(f);ra={lineWise:!0,text:b.text};"cut"==a.type?f.setSelections(b.ranges,null,Ga):(d.prevInput="",h.value=b.text.join("\n"),jc(h))}else return;"cut"==a.type&&(f.state.cutIncoming=!0)}}var c=this,d=this,f=this.cm;this.createField(a);var h=
-this.textarea;a.wrapper.insertBefore(this.wrapper,a.wrapper.firstChild);hc&&(h.style.width="0px");N(h,"input",function(){U&&9<=X&&c.hasSelection&&(c.hasSelection=null);d.poll()});N(h,"paste",function(a){ea(f,a)||Sf(a,f)||(f.state.pasteIncoming=!0,d.fastPoll())});N(h,"cut",b);N(h,"copy",b);N(a.scroller,"paste",function(b){Ka(a,b)||ea(f,b)||(f.state.pasteIncoming=!0,d.focus())});N(a.lineSpace,"selectstart",function(b){Ka(a,b)||na(b)});N(h,"compositionstart",function(){var a=f.getCursor("from");d.composing&&
-d.composing.range.clear();d.composing={start:a,range:f.markText(a,f.getCursor("to"),{className:"CodeMirror-composing"})}});N(h,"compositionend",function(){d.composing&&(d.poll(),d.composing.range.clear(),d.composing=null)})};da.prototype.createField=function(a){this.wrapper=Vf();this.textarea=this.wrapper.firstChild};da.prototype.prepareSelection=function(){var a=this.cm,b=a.display,c=a.doc,d=Ge(a);if(a.options.moveInputWithCursor){a=ya(a,c.sel.primary().head,"div");c=b.wrapper.getBoundingClientRect();
-var f=b.lineDiv.getBoundingClientRect();d.teTop=Math.max(0,Math.min(b.wrapper.clientHeight-10,a.top+f.top-c.top));d.teLeft=Math.max(0,Math.min(b.wrapper.clientWidth-10,a.left+f.left-c.left))}return d};da.prototype.showSelection=function(a){var b=this.cm.display;g(b.cursorDiv,a.cursors);g(b.selectionDiv,a.selection);null!=a.teTop&&(this.wrapper.style.top=a.teTop+"px",this.wrapper.style.left=a.teLeft+"px")};da.prototype.reset=function(a){if(!this.contextMenuPending&&!this.composing){var b=this.cm;b.somethingSelected()?
-(this.prevInput="",a=b.getSelection(),this.textarea.value=a,b.state.focused&&jc(this.textarea),U&&9<=X&&(this.hasSelection=a)):a||(this.prevInput=this.textarea.value="",U&&9<=X&&(this.hasSelection=null))}};da.prototype.getField=function(){return this.textarea};da.prototype.supportsTouch=function(){return!1};da.prototype.focus=function(){if("nocursor"!=this.cm.options.readOnly&&(!Db||f()!=this.textarea))try{this.textarea.focus()}catch(w){}};da.prototype.blur=function(){this.textarea.blur()};da.prototype.resetPosition=
-function(){this.wrapper.style.top=this.wrapper.style.left=0};da.prototype.receivedFocus=function(){this.slowPoll()};da.prototype.slowPoll=function(){var a=this;this.pollingFast||this.polling.set(this.cm.options.pollInterval,function(){a.poll();a.cm.state.focused&&a.slowPoll()})};da.prototype.fastPoll=function(){function a(){c.poll()||b?(c.pollingFast=!1,c.slowPoll()):(b=!0,c.polling.set(60,a))}var b=!1,c=this;c.pollingFast=!0;c.polling.set(20,a)};da.prototype.poll=function(){var a=this,b=this.cm,
-c=this.textarea,d=this.prevInput;if(this.contextMenuPending||!b.state.focused||ih(c)&&!d&&!this.composing||b.isReadOnly()||b.options.disableInput||b.state.keySeq)return!1;var f=c.value;if(f==d&&!b.somethingSelected())return!1;if(U&&9<=X&&this.hasSelection===f||wa&&/[\uf700-\uf7ff]/.test(f))return b.display.input.reset(),!1;if(b.doc.sel==b.display.selForContextMenu){var h=f.charCodeAt(0);8203!=h||d||(d="\u200b");if(8666==h)return this.reset(),this.cm.execCommand("undo")}var e=0;for(h=Math.min(d.length,
-f.length);e<h&&d.charCodeAt(e)==f.charCodeAt(e);)++e;qa(b,function(){Td(b,f.slice(e),d.length-e,null,a.composing?"*compose":null);1E3<f.length||-1<f.indexOf("\n")?c.value=a.prevInput="":a.prevInput=f;a.composing&&(a.composing.range.clear(),a.composing.range=b.markText(a.composing.start,b.getCursor("to"),{className:"CodeMirror-composing"}))});return!0};da.prototype.ensurePolled=function(){this.pollingFast&&this.poll()&&(this.pollingFast=!1)};da.prototype.onKeyPress=function(){U&&9<=X&&(this.hasSelection=
-null);this.fastPoll()};da.prototype.onContextMenu=function(a){function b(){if(null!=e.selectionStart){var a=f.somethingSelected(),b="\u200b"+(a?e.value:"");e.value="\u21da";e.value=b;d.prevInput=a?"":"\u200b";e.selectionStart=1;e.selectionEnd=b.length;h.selForContextMenu=f.doc.sel}}function c(){d.contextMenuPending=!1;d.wrapper.style.cssText=q;e.style.cssText=g;U&&9>X&&h.scrollbars.setScrollTop(h.scroller.scrollTop=l);if(null!=e.selectionStart){(!U||U&&9>X)&&b();var a=0,c=function(){h.selForContextMenu==
-f.doc.sel&&0==e.selectionStart&&0<e.selectionEnd&&"\u200b"==d.prevInput?fa(f,mf)(f):10>a++?h.detectingSelectAll=setTimeout(c,500):(h.selForContextMenu=null,h.input.reset())};h.detectingSelectAll=setTimeout(c,200)}}var d=this,f=d.cm,h=f.display,e=d.textarea,k=cb(f,a),l=h.scroller.scrollTop;if(k&&!za){f.options.resetSelectionOnContextMenu&&-1==f.doc.sel.contains(k)&&fa(f,ja)(f.doc,La(k),Ga);var g=e.style.cssText,q=d.wrapper.style.cssText;d.wrapper.style.cssText="position: absolute";k=d.wrapper.getBoundingClientRect();
-e.style.cssText="position: absolute; width: 30px; height: 30px;\n      top: "+(a.clientY-k.top-5)+"px; left: "+(a.clientX-k.left-5)+"px;\n      z-index: 1000; background: "+(U?"rgba(255, 255, 255, .05)":"transparent")+";\n      outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);";if(ka)var r=window.scrollY;h.input.focus();ka&&window.scrollTo(null,r);h.input.reset();f.somethingSelected()||(e.value=d.prevInput=" ");d.contextMenuPending=!0;h.selForContextMenu=
-f.doc.sel;clearTimeout(h.detectingSelectAll);U&&9<=X&&b();if(Qd){Gb(a);var m=function(){sa(window,"mouseup",m);setTimeout(c,20)};N(window,"mouseup",m)}else setTimeout(c,50)}};da.prototype.readOnlyChanged=function(a){a||this.reset();this.textarea.disabled="nocursor"==a};da.prototype.setUneditable=function(){};da.prototype.needsContentAttribute=!1;(function(a){function b(b,d,f,h){a.defaults[b]=d;f&&(c[b]=h?function(a,b,c){c!=Ab&&f(a,b,c)}:f)}var c=a.optionHandlers;a.defineOption=b;a.Init=Ab;b("value",
-"",function(a,b){return a.setValue(b)},!0);b("mode",null,function(a,b){a.doc.modeOption=b;Fd(a)},!0);b("indentUnit",2,Fd,!0);b("indentWithTabs",!1);b("smartIndent",!0);b("tabSize",4,function(a){Ub(a);Nb(a);oa(a)},!0);b("lineSeparator",null,function(a,b){if(a.doc.lineSep=b){var c=[],d=a.doc.first;a.doc.iter(function(a){for(var f=0;;){var h=a.text.indexOf(b,f);if(-1==h)break;f=h+b.length;c.push(I(d,h))}d++});for(var f=c.length-1;0<=f;f--)wb(a.doc,b,c[f],I(c[f].line,c[f].ch+b.length))}});b("specialChars",
-/[\u0000-\u001f\u007f-\u009f\u00ad\u061c\u200b-\u200f\u2028\u2029\ufeff]/g,function(a,b,c){a.state.specialChars=new RegExp(b.source+(b.test("\t")?"":"|\t"),"g");c!=Ab&&a.refresh()});b("specialCharPlaceholder",og,function(a){return a.refresh()},!0);b("electricChars",!0);b("inputStyle",Db?"contenteditable":"textarea",function(){throw Error("inputStyle can not (yet) be changed in a running editor");},!0);b("spellcheck",!1,function(a,b){return a.getInputField().spellcheck=b},!0);b("rtlMoveVisually",!hh);
-b("wholeLineUpdateBefore",!0);b("theme","default",function(a){Nf(a);fc(a)},!0);b("keyMap","default",function(a,b,c){b=Qc(b);(c=c!=Ab&&Qc(c))&&c.detach&&c.detach(a,b);b.attach&&b.attach(a,c||null)});b("extraKeys",null);b("configureMouse",null);b("lineWrapping",!1,ah,!0);b("gutters",[],function(a){Dd(a.options);fc(a)},!0);b("fixedGutter",!0,function(a,b){a.display.gutters.style.left=b?td(a.display)+"px":"0";a.refresh()},!0);b("coverGutterNextToScrollbar",!1,function(a){return rb(a)},!0);b("scrollbarStyle",
-"native",function(a){Qe(a);rb(a);a.display.scrollbars.setScrollTop(a.doc.scrollTop);a.display.scrollbars.setScrollLeft(a.doc.scrollLeft)},!0);b("lineNumbers",!1,function(a){Dd(a.options);fc(a)},!0);b("firstLineNumber",1,fc,!0);b("lineNumberFormatter",function(a){return a},fc,!0);b("showCursorWhenSelecting",!1,Ob,!0);b("resetSelectionOnContextMenu",!0);b("lineWiseCopyCut",!0);b("pasteLinesPerSelection",!0);b("readOnly",!1,function(a,b){"nocursor"==b&&(Pb(a),a.display.input.blur());a.display.input.readOnlyChanged(b)});
-b("disableInput",!1,function(a,b){b||a.display.input.reset()},!0);b("dragDrop",!0,$g);b("allowDropFileTypes",null);b("cursorBlinkRate",530);b("cursorScrollMargin",0);b("cursorHeight",1,Ob,!0);b("singleCursorHeightPerLine",!0,Ob,!0);b("workTime",100);b("workDelay",100);b("flattenSpans",!0,Ub,!0);b("addModeClass",!1,Ub,!0);b("pollInterval",100);b("undoDepth",200,function(a,b){return a.doc.history.undoDepth=b});b("historyEventDelay",1250);b("viewportMargin",10,function(a){return a.refresh()},!0);b("maxHighlightLength",
-1E4,Ub,!0);b("moveInputWithCursor",!0,function(a,b){b||a.display.input.resetPosition()});b("tabindex",null,function(a,b){return a.display.input.getField().tabIndex=b||""});b("autofocus",null);b("direction","ltr",function(a,b){return a.doc.setDirection(b)},!0)})(Z);(function(a){var b=a.optionHandlers,c=a.helpers={};a.prototype={constructor:a,focus:function(){window.focus();this.display.input.focus()},setOption:function(a,c){var d=this.options,f=d[a];if(d[a]!=c||"mode"==a)d[a]=c,b.hasOwnProperty(a)&&
-fa(this,b[a])(this,c,f),ba(this,"optionChange",this,a)},getOption:function(a){return this.options[a]},getDoc:function(){return this.doc},addKeyMap:function(a,b){this.state.keyMaps[b?"push":"unshift"](Qc(a))},removeKeyMap:function(a){for(var b=this.state.keyMaps,c=0;c<b.length;++c)if(b[c]==a||b[c].name==a)return b.splice(c,1),!0},addOverlay:la(function(b,c){var d=b.token?b:a.getMode(this.options,b);if(d.startState)throw Error("Overlays may not be stateful.");B(this.state.overlays,{mode:d,modeSpec:b,
-opaque:c&&c.opaque,priority:c&&c.priority||0},function(a){return a.priority});this.state.modeGen++;oa(this)}),removeOverlay:la(function(a){for(var b=this.state.overlays,c=0;c<b.length;++c){var d=b[c].modeSpec;if(d==a||"string"==typeof a&&d.name==a){b.splice(c,1);this.state.modeGen++;oa(this);break}}}),indentLine:la(function(a,b,c){"string"!=typeof b&&"number"!=typeof b&&(b=null==b?this.options.smartIndent?"smart":"prev":b?"add":"subtract");Y(this.doc,a)&&gc(this,a,b,c)}),indentSelection:la(function(a){for(var b=
-this.doc.sel.ranges,c=-1,d=0;d<b.length;d++){var f=b[d];if(f.empty())f.head.line>c&&(gc(this,f.head.line,a,!0),c=f.head.line,d==this.doc.sel.primIndex&&qb(this));else{var h=f.from();f=f.to();var e=Math.max(c,h.line);c=Math.min(this.lastLine(),f.line-(f.ch?0:1))+1;for(f=e;f<c;++f)gc(this,f,a);f=this.doc.sel.ranges;0==h.ch&&b.length==f.length&&0<f[d].from().ch&&Jd(this.doc,d,new V(h,f[d].to()),Ga)}}}),getTokenAt:function(a,b){return he(this,a,b)},getLineTokens:function(a,b){return he(this,I(a),b,!0)},
-getTokenTypeAt:function(a){a=R(this.doc,a);var b=fe(this,J(this.doc,a.line)),c=0,d=(b.length-1)/2;a=a.ch;if(0==a)b=b[2];else for(;;){var f=c+d>>1;if((f?b[2*f-1]:0)>=a)d=f;else if(b[2*f+1]<a)c=f+1;else{b=b[2*f+2];break}}c=b?b.indexOf("overlay "):-1;return 0>c?b:0==c?null:b.slice(0,c-1)},getModeAt:function(b){var c=this.doc.mode;return c.innerMode?a.innerMode(c,this.getTokenAt(b).state).mode:c},getHelper:function(a,b){return this.getHelpers(a,b)[0]},getHelpers:function(a,b){var d=[];if(!c.hasOwnProperty(b))return d;
-var f=c[b];a=this.getModeAt(a);if("string"==typeof a[b])f[a[b]]&&d.push(f[a[b]]);else if(a[b])for(var h=0;h<a[b].length;h++){var e=f[a[b][h]];e&&d.push(e)}else a.helperType&&f[a.helperType]?d.push(f[a.helperType]):f[a.name]&&d.push(f[a.name]);for(b=0;b<f._global.length;b++)h=f._global[b],h.pred(a,this)&&-1==l(d,h.val)&&d.push(h.val);return d},getStateAfter:function(a,b){var c=this.doc;a=Math.max(c.first,Math.min(null==a?c.first+c.size-1:a,c.first+c.size-1));return Hb(this,a+1,b).state},cursorCoords:function(a,
-b){var c=this.doc.sel.primary();a=null==a?c.head:"object"==typeof a?R(this.doc,a):a?c.from():c.to();return ya(this,a,b||"page")},charCoords:function(a,b){return pd(this,R(this.doc,a),b||"page")},coordsChar:function(a,b){a=Be(this,a,b||"page");return rd(this,a.left,a.top)},lineAtHeight:function(a,b){a=Be(this,{top:a,left:0},b||"page").top;return P(this.doc,a+this.display.viewOffset)},heightAtLine:function(a,b,c){var d=!1;if("number"==typeof a){var f=this.doc.first+this.doc.size-1;a<this.doc.first?
-a=this.doc.first:a>f&&(a=f,d=!0);a=J(this.doc,a)}return Dc(this,a,{top:0,left:0},b||"page",c||d).top+(d?this.doc.height-Da(a):0)},defaultTextHeight:function(){return ab(this.display)},defaultCharWidth:function(){return Mb(this.display)},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(a,b,c,d,f){var h=this.display;a=ya(this,R(this.doc,a));var e=a.bottom,k=a.left;b.style.position="absolute";b.setAttribute("cm-ignore-events","true");this.display.input.setUneditable(b);
-h.sizer.appendChild(b);if("over"==d)e=a.top;else if("above"==d||"near"==d){var l=Math.max(h.wrapper.clientHeight,this.doc.height),g=Math.max(h.sizer.clientWidth,h.lineSpace.clientWidth);("above"==d||a.bottom+b.offsetHeight>l)&&a.top>b.offsetHeight?e=a.top-b.offsetHeight:a.bottom+b.offsetHeight<=l&&(e=a.bottom);k+b.offsetWidth>g&&(k=g-b.offsetWidth)}b.style.top=e+"px";b.style.left=b.style.right="";"right"==f?(k=h.sizer.clientWidth-b.offsetWidth,b.style.right="0px"):("left"==f?k=0:"middle"==f&&(k=(h.sizer.clientWidth-
-b.offsetWidth)/2),b.style.left=k+"px");c&&(a=zd(this,{left:k,top:e,right:k+b.offsetWidth,bottom:e+b.offsetHeight}),null!=a.scrollTop&&Rb(this,a.scrollTop),null!=a.scrollLeft&&eb(this,a.scrollLeft))},triggerOnKeyDown:la(Hf),triggerOnKeyPress:la(Jf),triggerOnKeyUp:If,triggerOnMouseDown:la(Kf),execCommand:function(a){if(bc.hasOwnProperty(a))return bc[a].call(null,this)},triggerElectric:la(function(a){Rf(this,a)}),findPosH:function(a,b,c,d){var f=1;0>b&&(f=-1,b=-b);a=R(this.doc,a);for(var h=0;h<b&&(a=
-Vd(this.doc,a,f,c,d),!a.hitSide);++h);return a},moveH:la(function(a,b){var c=this;this.extendSelectionsBy(function(d){return c.display.shift||c.doc.extend||d.empty()?Vd(c.doc,d.head,a,b,c.options.rtlMoveVisually):0>a?d.from():d.to()},kc)}),deleteH:la(function(a,b){var c=this.doc;this.doc.sel.somethingSelected()?c.replaceSelection("",null,"+delete"):zb(this,function(d){var f=Vd(c,d.head,a,b,!1);return 0>a?{from:f,to:d.head}:{from:d.head,to:f}})}),findPosV:function(a,b,c,d){var f=1;0>b&&(f=-1,b=-b);
-var h=R(this.doc,a);for(a=0;a<b&&(h=ya(this,h,"div"),null==d?d=h.left:h.left=d,h=Wf(this,h,f,c),!h.hitSide);++a);return h},moveV:la(function(a,b){var c=this,d=this.doc,f=[],h=!this.display.shift&&!d.extend&&d.sel.somethingSelected();d.extendSelectionsBy(function(e){if(h)return 0>a?e.from():e.to();var k=ya(c,e.head,"div");null!=e.goalColumn&&(k.left=e.goalColumn);f.push(k.left);var l=Wf(c,k,a,b);"page"==b&&e==d.sel.primary()&&Gc(c,pd(c,l,"div").top-k.top);return l},kc);if(f.length)for(var e=0;e<d.sel.ranges.length;e++)d.sel.ranges[e].goalColumn=
-f[e]}),findWordAt:function(a){var b=J(this.doc,a.line).text,c=a.ch,d=a.ch;if(b){var f=this.getHelper(a,"wordChars");"before"!=a.sticky&&d!=b.length||!c?++d:--c;var h=b.charAt(c);for(h=F(h,f)?function(a){return F(a,f)}:/\s/.test(h)?function(a){return/\s/.test(a)}:function(a){return!/\s/.test(a)&&!F(a)};0<c&&h(b.charAt(c-1));)--c;for(;d<b.length&&h(b.charAt(d));)++d}return new V(I(a.line,c),I(a.line,d))},toggleOverwrite:function(a){if(null==a||a!=this.state.overwrite)(this.state.overwrite=!this.state.overwrite)?
-h(this.display.cursorDiv,"CodeMirror-overwrite"):db(this.display.cursorDiv,"CodeMirror-overwrite"),ba(this,"overwriteToggle",this,this.state.overwrite)},hasFocus:function(){return this.display.input.getField()==f()},isReadOnly:function(){return!(!this.options.readOnly&&!this.doc.cantEdit)},scrollTo:la(function(a,b){Qb(this,a,b)}),getScrollInfo:function(){var a=this.display.scroller;return{left:a.scrollLeft,top:a.scrollTop,height:a.scrollHeight-Fa(this)-this.display.barHeight,width:a.scrollWidth-Fa(this)-
-this.display.barWidth,clientHeight:kd(this),clientWidth:Ya(this)}},scrollIntoView:la(function(a,b){null==a?(a={from:this.doc.sel.primary().head,to:null},null==b&&(b=this.options.cursorScrollMargin)):"number"==typeof a?a={from:I(a,0),to:null}:null==a.from&&(a={from:a,to:null});a.to||(a.to=a.from);a.margin=b||0;null!=a.from.line?(Hc(this),this.curOp.scrollToPos=a):Ne(this,a.from,a.to,a.margin)}),setSize:la(function(a,b){var c=this,d=function(a){return"number"==typeof a||/^\d+$/.test(String(a))?a+"px":
-a};null!=a&&(this.display.wrapper.style.width=d(a));null!=b&&(this.display.wrapper.style.height=d(b));this.options.lineWrapping&&ye(this);var f=this.display.viewFrom;this.doc.iter(f,this.display.viewTo,function(a){if(a.widgets)for(var b=0;b<a.widgets.length;b++)if(a.widgets[b].noHScroll){Qa(c,f,"widget");break}++f});this.curOp.forceUpdate=!0;ba(this,"refresh",this)}),operation:function(a){return qa(this,a)},startOperation:function(){return fb(this)},endOperation:function(){return gb(this)},refresh:la(function(){var a=
-this.display.cachedTextHeight;oa(this);this.curOp.forceUpdate=!0;Nb(this);Qb(this,this.doc.scrollLeft,this.doc.scrollTop);yd(this);(null==a||.5<Math.abs(a-ab(this.display)))&&ud(this);ba(this,"refresh",this)}),swapDoc:la(function(a){var b=this.doc;b.cm=null;$e(this,a);Nb(this);this.display.input.reset();Qb(this,a.scrollLeft,a.scrollTop);this.curOp.forceScroll=!0;ia(this,"swapDoc",this,b);return b}),getInputField:function(){return this.display.input.getField()},getWrapperElement:function(){return this.display.wrapper},
-getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}};mb(a);a.registerHelper=function(b,d,f){c.hasOwnProperty(b)||(c[b]=a[b]={_global:[]});c[b][d]=f};a.registerGlobalHelper=function(b,d,f,h){a.registerHelper(b,d,h);c[b]._global.push({pred:f,val:h})}})(Z);var kh="iter insert remove copy getEditor constructor".split(" "),oc;for(oc in pa.prototype)pa.prototype.hasOwnProperty(oc)&&0>l(kh,oc)&&(Z.prototype[oc]=function(a){return function(){return a.apply(this.doc,
-arguments)}}(pa.prototype[oc]));mb(pa);Z.inputStyles={textarea:da,contenteditable:W};Z.defineMode=function(a){Z.defaults.mode||"null"==a||(Z.defaults.mode=a);gg.apply(this,arguments)};Z.defineMIME=function(a,b){nb[a]=b};Z.defineMode("null",function(){return{token:function(a){return a.skipToEnd()}}});Z.defineMIME("text/plain","null");Z.defineExtension=function(a,b){Z.prototype[a]=b};Z.defineDocExtension=function(a,b){pa.prototype[a]=b};Z.fromTextArea=function(a,b){function c(){a.value=l.getValue()}
-b=b?t(b):{};b.value=a.value;!b.tabindex&&a.tabIndex&&(b.tabindex=a.tabIndex);!b.placeholder&&a.placeholder&&(b.placeholder=a.placeholder);if(null==b.autofocus){var d=f();b.autofocus=d==a||null!=a.getAttribute("autofocus")&&d==document.body}if(a.form&&(N(a.form,"submit",c),!b.leaveSubmitMethodAlone)){var h=a.form;var e=h.submit;try{var k=h.submit=function(){c();h.submit=e;h.submit();h.submit=k}}catch(Zd){}}b.finishInit=function(b){b.save=c;b.getTextArea=function(){return a};b.toTextArea=function(){b.toTextArea=
-isNaN;c();a.parentNode.removeChild(b.getWrapperElement());a.style.display="";a.form&&(sa(a.form,"submit",c),"function"==typeof a.form.submit&&(a.form.submit=e))}};a.style.display="none";var l=Z(function(b){return a.parentNode.insertBefore(b,a.nextSibling)},b);return l};(function(a){a.off=sa;a.on=N;a.wheelEventPixels=Ag;a.Doc=pa;a.splitLines=Ud;a.countColumn=r;a.findColumn=u;a.isWordChar=E;a.Pass=Sc;a.signal=ba;a.Line=sb;a.changeEnd=Ra;a.scrollbarModel=Re;a.Pos=I;a.cmpPos=M;a.modes=cd;a.mimeModes=
-nb;a.resolveMode=yc;a.getMode=dd;a.modeExtensions=ob;a.extendMode=hg;a.copyState=Xa;a.startState=ce;a.innerMode=ed;a.commands=bc;a.keyMap=ac;a.keyName=Cf;a.isModifierKey=zf;a.lookupKey=yb;a.normalizeKeyMap=Mg;a.StringStream=ca;a.SharedTextMarker=$b;a.TextMarker=Sa;a.LineWidget=Zb;a.e_preventDefault=na;a.e_stopPropagation=ae;a.e_stop=Gb;a.addClass=h;a.contains=d;a.rmClass=db;a.keyNames=Ta})(Z);Z.version="5.38.0";return Z})},function(g,e){},function(g,e){},function(g,e,a){e.a=function(a){return new p.a(void 0===
-a?1:a,n.o)};var p=a(14),n=a(6)},function(g,e,a){e.a=function(a){a=void 0===a?p.p.create():a;return new b(a,a)};var p=a(3),n=a(6),m=a(7),c=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),b=function(){function a(b,c){if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");this.value_=
-b;this.defaultValue=c;this.changed=new m.a}c(a,[{key:"toJSON",value:function(){if(this.value_!==this.defaultValue)return this.value_.toString()}},{key:"restoreState",value:function(a){try{this.value=Object(n.l)(a.split(","))}catch(h){this.value=this.defaultValue}}},{key:"reset",value:function(){this.value=this.defaultValue}},{key:"value",get:function(){return this.value_},set:function(a){a!==this.value_&&(this.value_=a,this.changed.dispatch())}}]);return a}()},function(g,e,a){function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
-return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function m(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}a.d(e,"a",function(){return l});var c=
-a(53),b=a(100),d=a(98),f=a(50);g=a(143);var h=a(18),q=function A(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return A(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},k=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&
-a(b.prototype,c);d&&a(b,d);return b}}(),t=new Float32Array(8),r=function(){function a(b){m(this,a);this.disjointSets=b;this.generation=Number.NaN;this.hashMap=new c.a}k(a,[{key:"update",value:function(){var a=this.disjointSets,b=a.generation;if(this.generation!==b){this.generation=b;b=this.hashMap;b.clear();a=$jscomp.makeIterator(a.mappings());for(var c=a.next();!c.done;c=a.next()){var d=$jscomp.makeIterator(c.value);c=d.next().value;d=d.next().value;b.set(c,d)}}}}]);return a}(),l=function(a){function c(a,
-h){m(this,c);var e=p(this,(c.__proto__||Object.getPrototypeOf(c)).call(this,a,{sourceOptions:h.volumeSourceOptions}));e.displayState=h;e.segmentColorShaderManager=new d.b("segmentColorHash");e.hashTableManager=new b.c("visibleSegments");e.gpuHashTable=b.a.get(e.gl,e.displayState.visibleSegments.hashTable);e.equivalencesShaderManager=new b.b("equivalences");e.equivalencesHashMap=new r(e.displayState.segmentEquivalences.disjointSets);e.gpuEquivalencesHashTable=b.a.get(e.gl,e.equivalencesHashMap.hashMap);
-Object(f.g)(h,e);e.registerDisposer(h.selectedAlpha.changed.add(function(){e.redrawNeeded.dispatch()}));e.registerDisposer(h.hideSegmentZero.changed.add(function(){e.redrawNeeded.dispatch();e.shaderUpdated=!0}));e.hasEquivalences=0!==e.displayState.segmentEquivalences.size;h.segmentEquivalences.changed.add(function(){var a=0!==e.displayState.segmentEquivalences.size;a!==e.hasEquivalences&&(e.hasEquivalences=a,e.shaderUpdated=!0)});e.registerDisposer(h.notSelectedAlpha.changed.add(function(){e.redrawNeeded.dispatch()}));
-return e}n(c,a);k(c,[{key:"getValueAt",value:function(a){for(var b=$jscomp.makeIterator(this.sources),c=b.next();!c.done;c=b.next()){c=$jscomp.makeIterator(c.value);for(var d=c.next();!d.done;d=c.next())if(d=d.value.getValueAt(a),null!=d)return d}return null}},{key:"getShaderKey",value:function(){return"sliceview.SegmentationRenderLayer/"+this.hasEquivalences+"/"+this.displayState.hideSegmentZero.value}},{key:"defineShader",value:function(a){q(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),
-"defineShader",this).call(this,a);this.hashTableManager.defineShader(a);a.addFragmentCode("\nuint64_t getUint64DataValue() {\n  return toUint64(getDataValue());\n}\n");this.hasEquivalences?(this.equivalencesShaderManager.defineShader(a),a.addFragmentCode("\nuint64_t getMappedObjectId() {\n  uint64_t value = getUint64DataValue();\n  uint64_t mappedValue;\n  if ("+this.equivalencesShaderManager.getFunctionName+"(value, mappedValue)) {\n    return mappedValue;\n  }\n  return value;\n}\n")):a.addFragmentCode("\nuint64_t getMappedObjectId() {\n  return getUint64DataValue();\n}\n");
-this.segmentColorShaderManager.defineShader(a);a.addUniform("highp vec4","uSelectedSegment",2);a.addUniform("highp float","uShowAllSegments");a.addUniform("highp float","uSelectedAlpha");a.addUniform("highp float","uNotSelectedAlpha");a.addFragmentCode(h.o);var b="\n  uint64_t value = getMappedObjectId();\n  \n  float alpha = uSelectedAlpha;\n  float saturation = 1.0;\n";this.displayState.hideSegmentZero.value&&(b+="\n  if (value.low == vec4(0,0,0,0) && value.high == vec4(0,0,0,0)) {\n    emit(vec4(vec4(0, 0, 0, 0)));\n    return;\n  }\n");
-b+="\n  bool has = uShowAllSegments > 0.0 ? true : "+this.hashTableManager.hasFunctionName+"(value);\n  if (uSelectedSegment[0] == unnormalizeUint8(value.low) &&\n      uSelectedSegment[1] == unnormalizeUint8(value.high)) {\n    saturation = has ? 0.5 : 0.75;\n  } else if (!has) {\n    alpha = uNotSelectedAlpha;\n  }\n  vec3 rgb = segmentColorHash(value);\n  emit(vec4(mix(vec3(1.0,1.0,1.0), rgb, saturation), alpha));\n";a.setFragmentMain(b)}},{key:"beginSlice",value:function(a){a=q(c.prototype.__proto__||
-Object.getPrototypeOf(c.prototype),"beginSlice",this).call(this,a);var b=this.gl,d=this.displayState,f=this.displayState,h=f.segmentSelectionState;f=f.visibleSegments;if(h.hasSelectedSegment){var e=h.selectedSegment;h=e.low;e=e.high;for(var k=0;4>k;++k)t[k]=h>>8*k&255,t[4+k]=e>>8*k&255}else t.fill(0);b.uniform1f(a.uniform("uSelectedAlpha"),this.displayState.selectedAlpha.value);b.uniform1f(a.uniform("uNotSelectedAlpha"),this.displayState.notSelectedAlpha.value);b.uniform4fv(a.uniform("uSelectedSegment"),
-t);b.uniform1f(a.uniform("uShowAllSegments"),f.hashTable.size?0:1);this.hashTableManager.enable(b,a,this.gpuHashTable);this.hasEquivalences&&(this.equivalencesHashMap.update(),this.equivalencesShaderManager.enable(b,a,this.gpuEquivalencesHashTable));this.segmentColorShaderManager.enable(b,a,d.segmentColorHash);return a}},{key:"endSlice",value:function(a){this.hashTableManager.disable(this.gl,a);q(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"endSlice",this).call(this,a)}}]);return c}(g.a)},
-function(g,e,a){function p(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function n(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function m(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,
-configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a){return a.split(/[^a-zA-Z0-9]+/).filter(function(a){return a}).join("_")}function b(a){var b=new Set,d=[];a=$jscomp.makeIterator(a);for(var f=a.next();!f.done;f=a.next()){f=c(f.value);for(var h="",e=0;b.has(f+h);)h=""+ ++e;d.push(f+h)}return d}function d(a){return new u.a({fragmentMain:a.displayState.fragmentMain,shaderError:a.displayState.shaderError,fragmentMainStartLine:k.a})}function f(a){return new z(a.displayState.attributeNames,
-function(){return a.meshSource&&a.meshSource.info.vertexAttributes})}Object.defineProperty(e,"__esModule",{value:!0});a.d(e,"SingleMeshUserLayer",function(){return y});g=a(24);var h=a.n(g);g=a(21);e=a(20);var q=a(45),k=a(101),t=a(1),r=a(9),l=a(6),u=a(96),A=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();a(269);
-var y=function(a){function c(a,d){p(this,c);var f=n(this,(c.__proto__||Object.getPrototypeOf(c)).call(this,[]));f.manager=a;f.displayState=new k.b;f.parameters={meshSourceUrl:Object(l.w)(d,"source",l.B),attributeSourceUrls:Object(l.w)(d,"vertexAttributeSources",function(a){return void 0!==a?Object(l.a)(a,l.B):[]})};f.displayState.objectToDataTransform.restoreState(d.transform);f.displayState.fragmentMain.restoreState(d.shader);f.userSpecifiedAttributeNames=Object(l.w)(d,"vertexAttributeNames",function(a){if(void 0!==
-a)return Object(l.a)(a,function(a){if(a=Object(l.z)(a))return a})});Object(k.f)(a.chunkManager,f.parameters).then(function(a){if(!f.wasDisposed){f.meshSource=a;var c=f.defaultAttributeNames=b(a.info.vertexAttributes.map(function(a){return a.name})),d=f.userSpecifiedAttributeNames;void 0!==d&&d.length===c.length?(c=d,f.userSpecifiedAttributeNames=void 0):c=Array.from(c);f.displayState.attributeNames.value=c;f.addRenderLayer(new k.c(a,f.displayState))}});f.registerDisposer(f.displayState.fragmentMain.changed.add(function(){f.specificationChanged.dispatch()}));
-f.registerDisposer(f.displayState.attributeNames.changed.add(function(){f.specificationChanged.dispatch()}));return f}m(c,a);A(c,[{key:"toJSON",value:function(){var a={type:"mesh"},b=this.parameters.attributeSourceUrls;a.source=this.parameters.meshSourceUrl;b&&(a.vertexAttributeSources=b);a.shader=this.displayState.fragmentMain.toJSON();a.transform=this.displayState.objectToDataTransform.toJSON();if(void 0===this.meshSource)b=this.userSpecifiedAttributeNames;else{b=this.defaultAttributeNames;for(var c=
-this.displayState.attributeNames.value,d=!0,f=c.length,h=0;h<f;++h)if(c[h]!==b[h]){d=!1;break}b=d?void 0:Array.from(c)}a.vertexAttributeNames=b;return a}},{key:"makeDropdown",value:function(a){return new B(a,this)}}]);return c}(g.f),z=function(a){function b(a,c){p(this,b);var d=n(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));d.attributeNames=a;d.getAttributeInfo=c;d.element=document.createElement("div");d.debouncedValueUpdater=h()(function(){d.updateAttributeNames()},500);d.element.className=
-"neuroglancer-single-mesh-attribute-widget";d.updateInputElements();d.registerDisposer(a.changed.add(function(){d.updateInputElements()}));return d}m(b,a);A(b,[{key:"updateInputElements",value:function(){var a=this.attributeNames,b=this.attributeNameElements;if(void 0===b){var c=this.getAttributeInfo();if(void 0===c)return;b=this.attributeNameElements=[];for(var d=void 0,f=a.value.length,h=this.element,e=0;e<f;++e){var l=c[e],g=l.source;if(g!==d&&void 0!==g){d=g;var q=document.createElement("div");
-q.className="neuroglancer-single-mesh-source-header";q.textContent=g;h.appendChild(q)}g=document.createElement("div");g.className="neuroglancer-single-mesh-attribute";q=document.createElement("input");q.title=l.name;this.registerEventListener(q,"input",this.debouncedValueUpdater);q.type="text";g.textContent=Object(k.e)(l);g.appendChild(q);if(void 0!==l.min&&void 0!==l.max){var r=document.createElement("span");r.className="neuroglancer-single-mesh-attribute-range";r.textContent="["+l.min.toPrecision(6)+
-", "+l.max.toPrecision(6)+"]";g.appendChild(r)}b[e]=q;h.appendChild(g)}}a.value.forEach(function(a,c){b[c].value=a||""})}},{key:"disposed",value:function(){Object(r.b)(this.element)}},{key:"updateAttributeNames",value:function(){var a=this.attributeNames.value,b=this.attributeNameElements,c=!1;a.forEach(function(d,f){var h=b[f].value;h||(h=void 0);h!==d&&(c=!0,a[f]=h)});c&&this.attributeNames.changed.dispatch()}}]);return b}(t.a),B=function(a){function b(a,c){p(this,b);var h=n(this,(b.__proto__||
-Object.getPrototypeOf(b)).call(this));h.element=a;h.layer=c;h.attributeWidget=h.registerDisposer(f(h.layer));h.codeWidget=h.registerDisposer(d(h.layer));a.classList.add("neuroglancer-single-mesh-dropdown");c=document.createElement("div");c.className="neuroglancer-single-mesh-dropdown-top-row";var e=document.createElement("div");e.style.flex="1";var k=document.createElement("a"),l=document.createElement("button");l.type="button";l.textContent="?";l.className="help-link";k.appendChild(l);k.title="Documentation on single mesh layer rendering";
-k.target="_blank";k.href="https://github.com/google/neuroglancer/blob/master/src/neuroglancer/sliceview/image_layer_rendering.md";l=document.createElement("button");l.innerHTML="&square;";l.className="maximize-button";l.title="Show larger editor view";h.registerEventListener(l,"click",function(){new x(h.layer)});c.appendChild(e);c.appendChild(l);c.appendChild(k);a.appendChild(c);a.appendChild(h.attributeWidget.element);a.appendChild(h.codeWidget.element);h.codeWidget.textEditor.refresh();return h}
-m(b,a);A(b,[{key:"onShow",value:function(){this.codeWidget.textEditor.refresh()}}]);return b}(g.g),x=function(a){function b(a){p(this,b);var c=n(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.layer=a;c.attributeWidget=c.registerDisposer(f(c.layer));c.codeWidget=c.registerDisposer(d(c.layer));c.content.classList.add("neuroglancer-single-mesh-layer-shader-overlay");c.content.appendChild(c.attributeWidget.element);c.content.appendChild(c.codeWidget.element);c.codeWidget.textEditor.refresh();
-return c}m(b,a);return b}(q.a);Object(e.e)("mesh",y)},function(g,e,a){function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function n(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}a.d(e,"d",function(){return m});
-e.c="single_mesh/SingleMeshLayer";e.a="single_mesh/getSingleMeshInfo";e.b="";var m=function(a){function b(){n(this,b);var a=(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!a||"object"!==typeof a&&"function"!==typeof a?this:a}p(b,a);return b}(function b(){n(this,b)});m.RPC_ID="single_mesh/SingleMeshSource"},function(g,e,a){function p(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");
-}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}e.c=function(a,b,c){c=void 0===c?!1:c;b=b.attribute("aIndexRaw");0<=b&&(c&&a.ANGLE_instanced_arrays.vertexAttribDivisorANGLE(b,0),a.disableVertexAttribArray(b))};e.d=function(a){return a.memoize.get("IndexBuffer",
-function(){return new f(a)})};e.b=function(a){a.addAttribute("highp vec3","aIndexRaw");a.addVertexCode(b.k);a.addVertexCode("\nuint32_t getPrimitiveIndex() {\n  uint32_t result;\n  result.value = vec4(aIndexRaw, 0.0);\n  return result;\n}\n")};a.d(e,"a",function(){return h});e.e=function(a,b){return m.a.fromData(a,new Uint8Array(b.buffer,b.byteOffset,b.byteLength),c.a,c.k)};g=a(1);var m=a(30),c=a(35),b=a(18),d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||
-!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),f=function(a){function b(a){p(this,b);var c=(b.__proto__||Object.getPrototypeOf(b)).call(this);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");c=!c||"object"!==typeof c&&"function"!==typeof c?this:c;c.gl=a;c.buffer=c.registerDisposer(new m.a(a));return c}n(b,a);d(b,[{key:"resize",value:function(a){var b;
-if(256>a){var c=b=new Uint8Array(a);for(var d=0;d<a;++d)c[d]=d;c=1}else if(65536>a){c=b=new Uint8Array(2*a);d=0;for(var f=2*a,h=0;h<f;h+=2)c[h]=d,c[h+1]=d>>8,++d;c=2}else if(16777216>a){c=b=new Uint8Array(3*a);d=3*a;for(h=f=0;h<d;h+=3)c[h]=f,c[h+1]=f>>8,c[h+2]=f>>16,++f;c=3}else throw Error("Length of index buffer must not exceed 2^24.");this.buffer.setData(b);this.numComponents=c;this.length=a}},{key:"ensure",value:function(a){(void 0===this.length||this.length<a)&&this.resize(a);return this}},{key:"bindToVertexAttrib",
-value:function(a){this.buffer.bindToVertexAttrib(a,this.numComponents,c.t,!0)}},{key:"bind",value:function(a,b){b=void 0===b?0:b;a=a.attribute("aIndexRaw");0<=a&&(this.bindToVertexAttrib(a),0!==b&&this.gl.ANGLE_instanced_arrays.vertexAttribDivisorANGLE(a,b))}}]);return b}(g.a),h=function(){function a(b){p(this,a);this.name=b;this.attributeName="a"+this.name;this.getterName="get"+this.name}d(a,[{key:"defineShader",value:function(a){a.addAttribute("highp vec4",this.attributeName);a.addVertexCode("\nfloat "+
-this.getterName+" () {\n  vec4 temp = "+this.attributeName+";\n  return temp.x + temp.y * 256.0 + temp.z * 65536.0;\n}\n")}},{key:"bind",value:function(a,b){a.bindToVertexAttrib(b.attribute(this.attributeName),4,c.t,!1)}},{key:"disable",value:function(a){a.gl.disableVertexAttribArray(a.attribute(this.attributeName))}}]);return a}()},function(g,e,a){function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==
-typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(e,"a",function(){return h});g=a(24);var m=a.n(g),c=a(14);g=a(1);var b=a(6),d=a(70),f=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||
-!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),h=function(a){function h(a,b){b=void 0===b?200:b;if(!(this instanceof h))throw new TypeError("Cannot call a class as a function");var d=p(this,(h.__proto__||Object.getPrototypeOf(h)).call(this));d.root=a;d.parseError=new c.b(void 0);d.registerEventListener(window,"hashchange",function(){return d.updateFromUrlHash()});var f=m()(function(){return d.setUrlHash()},
-b);d.registerDisposer(a.changed.add(f));d.registerDisposer(function(){return f.cancel()});return d}n(h,a);f(h,[{key:"setUrlHash",value:function(){var a=Object(d.b)(this.root);a.generation!==this.prevStateGeneration&&(this.prevStateGeneration=a.generation,a=Object(b.i)(a.value),a!==this.prevStateString&&(this.prevStateString=a,"{}"===a?history.replaceState(null,"","#"):history.replaceState(null,"","#!"+a)))}},{key:"updateFromUrlHash",value:function(){try{var a=location.href.replace(/^[^#]+/,"");if(""===
-a||"#"===a||"#!"===a)a="#!{}";if(a.startsWith("#!+")){a=a.slice(3);a=decodeURI(a);var c=Object(b.h)(a);Object(b.u)(c);this.root.restoreState(c);this.prevStateString=void 0}else if(a.startsWith("#!")){a=a.slice(2);a=decodeURI(a);if(a===this.prevStateString)return;this.prevStateString=a;this.root.reset();var d=Object(b.h)(a);Object(b.u)(d);this.root.restoreState(d)}else throw Error('URL hash is expected to be of the form "#!{...}" or "#!+{...}".');this.parseError.value=void 0}catch(u){this.parseError.value=
-u}}}]);return h}(g.a)},function(g,e,a){var p=a(3);a.d(e,"g",function(){return p.p});a.d(e,"h",function(){return p.r});a.d(e,"e",function(){return p.l});var n=a(278);a.d(e,"b",function(){return n.b});a.d(e,"a",function(){return n.a});var m=a(165);a.d(e,"d",function(){return m.b});var c=a(108);a.d(e,"c",function(){return c.c});a.d(e,"f",function(){return c.d})},function(g,e,a){function p(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function n(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
-return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function m(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(e,"a",function(){return h});a.d(e,"b",function(){return q});g=a(28);a=a(1);var c=function t(a,b,c){null===a&&(a=Function.prototype);
-var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return t(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},b=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();$jscomp.initSymbol();var d=Symbol("SingleTextureVolumeChunk.textureUnit");
-$jscomp.initSymbol();var f=Symbol("SingleTextureVolumeChunk.textureLayout"),h=function(a){function c(a){p(this,c);var b=n(this,(c.__proto__||Object.getPrototypeOf(c)).call(this));b.shaderKey=a;return b}m(c,a);b(c,[{key:"defineShader",value:function(a){a.addTextureSampler2D("uVolumeChunkSampler",d)}},{key:"beginDrawing",value:function(a,b){var c=b.textureUnit(d);a.activeTexture(a.TEXTURE0+c);b[f]=null}},{key:"endDrawing",value:function(a,b){a.bindTexture(a.TEXTURE_2D,null);b[f]=null}},{key:"bindChunk",
-value:function(a,b,c){var d=c.textureLayout;b[f]!==d&&(b[f]=d,this.setupTextureLayout(a,b,d));a.bindTexture(a.TEXTURE_2D,c.texture)}},{key:"beginSource",value:function(a,b){}}]);return c}(a.a),q=function(a){function d(a,b){p(this,d);a=n(this,(d.__proto__||Object.getPrototypeOf(d)).call(this,a,b));a.texture=null;a.data=b.data;return a}m(d,a);b(d,[{key:"copyToGPU",value:function(a){c(d.prototype.__proto__||Object.getPrototypeOf(d.prototype),"copyToGPU",this).call(this,a);var b=this.texture=a.createTexture();
-a.bindTexture(a.TEXTURE_2D,b);this.setTextureData(a);a.bindTexture(a.TEXTURE_2D,null)}},{key:"freeGPUMemory",value:function(a){c(d.prototype.__proto__||Object.getPrototypeOf(d.prototype),"freeGPUMemory",this).call(this,a);a.deleteTexture(this.texture);this.texture=null;this.textureLayout.dispose();this.textureLayout=null}}]);return d}(g.a)},function(g,e,a){e.a=function(a,e,g,c,b,d){for(var f=0,h=0,q=1,k=1,m=0;3>m;++m){var r=b[m],l=c[m],n=r%l;f+=Math.floor(r/l)*q;q*=Math.ceil(g[m]/l);h+=n*k;k*=l}c=
-e+2*f;g=a[c];c=a[c+1];b=g&16777215;g=g>>24&255;0<g&&(b+=d*(a[(e+c&16777215)+Math.floor(h*g/32)]>>h*g%32&(1<<g)-1));return b}},function(g,e,a){function p(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function n(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function m(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+
-typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a){var b=new z.a,c=b.element;c.classList.add("neuroglancer-viewer-context-menu");var d=function(a,d){a=b.registerDisposer(new D.a(d,{label:a}));a.element.classList.add("neuroglancer-viewer-context-menu-limit-widget");c.appendChild(a.element)};d("GPU memory limit",a.chunkQueueManager.capacities.gpuMemory.sizeLimit);
-d("System memory limit",a.chunkQueueManager.capacities.systemMemory.sizeLimit);d("Concurrent chunk requests",a.chunkQueueManager.capacities.download.itemLimit);d=function(a,d){var f=document.createElement("label");f.textContent=a;a=b.registerDisposer(new y.c(d));f.appendChild(a.element);c.appendChild(f)};d("Show axis lines",a.showAxisLines);d("Show scale bar",a.showScaleBar);d("Show cross sections in 3-d",a.showPerspectiveSliceViews);return b}a.d(e,"a",function(){return L});g=a(24);var b=a.n(g),d=
-a(23),f=a(133);g=a(71);var h=a(37),q=a(289),k=a(21),t=a(160),r=a(298),l=a(20),u=a(55),A=a(45),y=a(54),z=a(104),B=a(164),x=a(64);e=a(1);var v=a(9),E=a(22),F=a(51),C=a(7),G=a(70),H=a(49),D=a(308),O=a(107),J=a(15),Q=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();a(309);a(97);a(36);a(72);var T=function(a){function b(a){p(this,
-b);var c=n(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.gl=a;c.worker=new Worker("chunk_worker.bundle.js");c.chunkQueueManager=c.registerDisposer(new d.d(new J.a(c.worker),c.gl,{gpuMemory:new d.a({defaultItemLimit:1E6,defaultSizeLimit:1E9}),systemMemory:new d.a({defaultItemLimit:1E7,defaultSizeLimit:2E9}),download:new d.a({defaultItemLimit:32,defaultSizeLimit:Number.POSITIVE_INFINITY})}));c.chunkManager=c.registerDisposer(new d.c(c.chunkQueueManager));c.chunkQueueManager.registerDisposer(function(){return c.worker.terminate()});
-return c}m(b,a);Q(b,[{key:"rpc",get:function(){return this.chunkQueueManager.rpc}}]);return b}(e.a);(function(a){function b(){p(this,b);var a=n(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments));a.global=new F.a;return a}m(b,a);return b})(g.b);var S={showHelpButton:!0,showLayerDialog:!0,showLayerPanel:!0,showLocation:!0,resetStateWhenEmpty:!0},L=function(a){function d(a,c){c=void 0===c?{}:c;p(this,d);var e=n(this,(d.__proto__||Object.getPrototypeOf(d)).call(this));e.display=a;e.navigationState=
-e.registerDisposer(new u.e);e.perspectiveNavigationState=new u.e(new u.g(e.navigationState.position),1);e.mouseState=new k.d;e.layerManager=e.registerDisposer(new k.a);e.showAxisLines=new y.b(!0,!0);e.showScaleBar=new y.b(!0,!0);e.showPerspectiveSliceViews=new y.b(!0,!0);e.layerSelectedValues=e.registerDisposer(new k.b(e.layerManager,e.mouseState));e.resetInitiated=new C.a;e.state=new G.a;e.visible=!0;var g=c,q=void 0===g.dataContext?new T(a.gl):g.dataContext,m=void 0===g.visibility?new H.b(H.b.VISIBLE):
-g.visibility,r=void 0===g.inputEventBindings?{global:new F.a,sliceView:new F.a,perspectiveView:new F.a}:g.inputEventBindings,x=void 0===g.element?a.makeCanvasOverlayElement():g.element;g=void 0===g.dataSourceProvider?Object(h.a)({credentialsManager:f.a}):g.dataSourceProvider;e.registerDisposer(function(){return Object(v.b)(e.element)});e.registerDisposer(q);e.options=Object.assign({},S,c,{dataContext:q,visibility:m,inputEventBindings:r,element:x,dataSourceProvider:g});e.layerSpecification=new l.c(e.dataSourceProvider,
-e.layerManager,e.chunkManager,e.layerSelectedValues,e.navigationState.voxelSize);e.registerDisposer(a.updateStarted.add(function(){e.onUpdateDisplay()}));e.registerDisposer(a.updateFinished.add(function(){e.onUpdateDisplayFinished()}));c=e.state;c.add("layers",e.layerSpecification);c.add("navigation",e.navigationState);c.add("showAxisLines",e.showAxisLines);c.add("showScaleBar",e.showScaleBar);c.add("perspectiveOrientation",e.perspectiveNavigationState.pose.orientation);c.add("perspectiveZoom",e.perspectiveNavigationState.zoomFactor);
-c.add("showSlices",e.showPerspectiveSliceViews);c.add("gpuMemoryLimit",e.dataContext.chunkQueueManager.capacities.gpuMemory.sizeLimit);c.add("systemMemoryLimit",e.dataContext.chunkQueueManager.capacities.systemMemory.sizeLimit);c.add("concurrentDownloads",e.dataContext.chunkQueueManager.capacities.download.itemLimit);e.registerDisposer(e.navigationState.changed.add(function(){e.handleNavigationStateChanged()}));e.layerManager.initializePosition(e.navigationState.position);e.registerDisposer(e.layerSpecification.voxelCoordinatesSet.add(function(a){e.navigationState.position.setVoxelCoordinates(a)}));
-q=e.registerCancellable(b()(function(){!e.wasDisposed&&0===e.layerManager.managedLayers.length&&e.options.resetStateWhenEmpty&&(e.navigationState.reset(),e.perspectiveNavigationState.pose.orientation.reset(),e.perspectiveNavigationState.zoomFactor.reset(),e.resetInitiated.dispatch(),!A.b&&e.options.showLayerDialog&&e.visibility.visible&&new t.a(e.layerSpecification))}));e.layerManager.layersChanged.add(q);q();e.registerDisposer(e.dataContext.chunkQueueManager.visibleChunksChanged.add(function(){e.layerSelectedValues.handleLayerChange()}));
-e.registerDisposer(e.dataContext.chunkQueueManager.visibleChunksChanged.add(function(){e.visible&&a.scheduleRedraw()}));e.makeUI();c.add("layout",e.layout);e.registerActionListeners();e.registerEventActionBindings();e.registerDisposer(Object(B.a)(x,e.navigationState.position));return e}m(d,a);Q(d,[{key:"makeUI",value:function(){var a=this,b=this.options,d=this.element;d.classList.add("neuroglancer-viewer");d.classList.add("neuroglancer-noselect");d.style.display="flex";d.style.flexDirection="column";
-if(b.showHelpButton||b.showLocation){var f=document.createElement("div");f.title="Right click for settings";(this.contextMenu=this.registerDisposer(c(this))).registerParent(f);f.style.display="flex";f.style.flexDirection="row";f.style.alignItems="stretch";if(b.showLocation){var h=this.registerDisposer(new O.c(document.createElement("div"),this.navigationState.voxelSize));f.appendChild(h.element);h=this.registerDisposer(new O.b(this.navigationState.position));f.appendChild(h.element);h=this.registerDisposer(new O.a(document.createElement("div"),
-this.mouseState,this.navigationState.voxelSize));h.element.style.flex="1";h.element.style.alignSelf="center";f.appendChild(h.element)}b.showHelpButton&&(b=document.createElement("div"),b.className="neuroglancer-help-button neuroglancer-button",b.textContent="?",b.title="Help",this.registerEventListener(b,"click",function(){a.showHelpDialog()}),f.appendChild(b));d.appendChild(f)}this.layout=this.registerDisposer(new r.a(this,"4panel"));d.appendChild(this.layout.element);this.display.onResize();f=function(){var b=
-a.visibility.visible;b!==a.visible&&(d.style.visibility=b?"inherit":"hidden",a.visible=b)};f();this.registerDisposer(this.visibility.changed.add(f))}},{key:"registerEventActionBindings",value:function(){var a=this.element;this.registerDisposer(new F.b(a,this.inputEventMap));this.registerDisposer(new x.a(a))}},{key:"bindAction",value:function(a,b){this.registerDisposer(Object(E.c)(this.element,a,b))}},{key:"registerActionListeners",value:function(){for(var a=this,b={},c=$jscomp.makeIterator(["recolor",
-"clear-segments"]),d=c.next();!d.done;b={action:b.action},d=c.next())b.action=d.value,this.bindAction(b.action,function(b){return function(){a.layerManager.invokeAction(b.action)}}(b));b={};c=$jscomp.makeIterator(["select","annotate"]);for(d=c.next();!d.done;b={action$231:b.action$231},d=c.next())b.action$231=d.value,this.bindAction(b.action$231,function(b){return function(){a.mouseState.updateUnconditionally();a.layerManager.invokeAction(b.action$231)}}(b));this.bindAction("help",function(){return a.showHelpDialog()});
-for(d={i:1};9>=d.i;d={i:d.i},++d.i)this.bindAction("toggle-layer-"+d.i,function(b){return function(){var c=b.i-1,d=a.layerManager.managedLayers;c<d.length&&(c=d[c],c.setVisible(!c.visible))}}(d));this.bindAction("toggle-axis-lines",function(){return a.showAxisLines.toggle()});this.bindAction("toggle-scale-bar",function(){return a.showScaleBar.toggle()});this.bindAction("toggle-show-slices",function(){return a.showPerspectiveSliceViews.toggle()})}},{key:"showHelpDialog",value:function(){var a=this.inputEventBindings;
-new q.a([["Global",a.global],["Slice View",a.sliceView],["Perspective View",a.perspectiveView]])}},{key:"onUpdateDisplay",value:function(){this.visible&&(this.dataContext.chunkQueueManager.chunkUpdateDeadline=null)}},{key:"onUpdateDisplayFinished",value:function(){this.visible&&this.mouseState.updateIfStale()}},{key:"handleNavigationStateChanged",value:function(){if(this.visible){var a=this.dataContext.chunkQueueManager;null===a.chunkUpdateDeadline&&(a.chunkUpdateDeadline=Date.now()+10)}this.mouseState.stale=
-!0}},{key:"chunkManager",get:function(){return this.dataContext.chunkManager}},{key:"chunkQueueManager",get:function(){return this.dataContext.chunkQueueManager}},{key:"dataContext",get:function(){return this.options.dataContext}},{key:"visibility",get:function(){return this.options.visibility}},{key:"inputEventBindings",get:function(){return this.options.inputEventBindings}},{key:"inputEventMap",get:function(){return this.inputEventBindings.global}},{key:"element",get:function(){return this.options.element}},
-{key:"dataSourceProvider",get:function(){return this.options.dataSourceProvider}},{key:"gl",get:function(){return this.display.gl}}]);return d}(e.a)},function(g,e,a){e.b=function(a,e){return function(g){g.style.flex=a;e(g)}};e.a=function(a,e){return function(g){g.style.display="flex";g.style.flexDirection=a;for(var c=$jscomp.makeIterator(e),b=c.next();!b.done;b=c.next()){b=b.value;var d=g.ownerDocument.createElement("div");g.appendChild(d);b(d)}}}},function(g,e,a){function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
-return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(e,"a",function(){return k});var m=a(20);g=a(45);var c=a(19),b=a(26),d=a(161),f=a(291),h=a(296),q=function(){function a(a,b){for(var c=
-0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();a(297);var k=function(a){function e(a,b){if(!(this instanceof e))throw new TypeError("Cannot call a class as a function");var c=p(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));c.manager=a;c.existingLayer=b;c.statusElement=document.createElement("div");c.submitElement=document.createElement("button");
-c.namePromptElement=document.createElement("label");c.nameInputElement=document.createElement("input");c.volumeCancellationSource=void 0;c.sourceValid=!1;c.nameValid=!0;var k=c.content;k.classList.add("add-layer-overlay");var g=document.createElement("form");g.className="source-form";c.registerEventListener(g,"submit",function(a){a.preventDefault();c.validateSource(!0)});var l=document.createElement("label");l.textContent="Source:";a=c.sourceInput=c.registerDisposer(new f.a({completer:function(a,
-b){return c.manager.dataSourceProvider.volumeCompleter(a,c.manager.chunkManager,b).then(function(a){return{completions:a.completions,makeElement:f.b,offset:a.offset,showSingleResult:!0}})},delay:0}));a.element.classList.add("add-layer-source");a.inputElement.addEventListener("blur",function(){c.validateSource(!1)});c.submitElement.disabled=!0;a.inputChanged.add(function(){var a=c.volumeCancellationSource;void 0!==a&&(a.cancel(),c.volumeCancellationSource=void 0);c.sourceValid=!1;c.submitElement.disabled=
-!0;c.statusElement.textContent=""});g.appendChild(l);g.appendChild(a.element);Object(d.a)(l,a.inputElement);l=Object(h.a)();g.appendChild(l);k.appendChild(g);var q=c.statusElement,r=c.namePromptElement,t=c.nameInputElement;g=c.submitElement;q.className="dialog-status";l=document.createElement("form");l.className="name-form";r.textContent="Name:";t.className="add-layer-name";t.autocomplete="off";t.spellcheck=!1;t.type="text";c.registerEventListener(t,"input",function(){c.validateName()});g.type="submit";
-Object(d.a)(r,t);l.appendChild(r);l.appendChild(t);l.appendChild(g);k.appendChild(l);k.appendChild(q);void 0!==b?(void 0!==b.sourceUrl?(a.value=b.sourceUrl,c.validateSource()):c.sourceValid=!0,a.disabled=!0,t.value=b.name,c.validateName(),g.textContent="Save",t.focus()):(b=c.manager.layerManager.managedLayers,0<b.length&&(b=b[b.length-1],b instanceof m.b&&(b=b.sourceUrl,void 0!==b&&(k=c.manager.dataSourceProvider.findSourceGroup(b),a.value=b.substring(0,k),a.inputElement.setSelectionRange(0,k)))),
-a.inputElement.focus(),g.textContent="Add Layer");c.registerEventListener(l,"submit",function(a){a.preventDefault();c.submit()});return c}n(e,a);q(e,[{key:"isNameValid",value:function(){var a=this.nameInputElement.value;if(""===a)return!1;a=this.manager.layerManager.getLayerByName(a);return void 0===a||a===this.existingLayer}},{key:"submit",value:function(){this.sourceValid&&this.isNameValid()&&(this.existingLayer?(this.existingLayer.name=this.nameInputElement.value,this.manager.layerManager.layersChanged.dispatch()):
-this.manager.add(this.manager.getLayer(this.nameInputElement.value,this.sourceInput.value)),this.dispose())}},{key:"validateName",value:function(){var a=this.nameInputElement;(this.nameValid=this.isNameValid())?(a.classList.add("valid-input"),a.classList.remove("invalid-input")):(a.classList.remove("valid-input"),a.classList.add("invalid-input"));this.validityChanged()}},{key:"validityChanged",value:function(){this.submitElement.disabled=!(this.nameValid&&this.sourceValid)}},{key:"validateSource",
-value:function(a){var d=this;a=void 0===a?!1:a;var f=this.sourceInput.value;if(""!==f){try{var h=this.manager.dataSourceProvider.suggestLayerName(f),e=this.nameInputElement;if(""===this.nameInputElement.value){var k=this.manager.layerManager.getUniqueLayerName(h);e.value=k;e.setSelectionRange(0,k.length);this.validateName()}a&&e.focus()}catch(v){this.setError(v.message);return}this.setInfo("Validating volume source...");var g=this.volumeCancellationSource=new b.b;this.manager.dataSourceProvider.getVolume(this.manager.chunkManager,
-f,void 0,g).then(function(a){g.isCanceled||(d.volumeCancellationSource=void 0,d.sourceValid=!0,d.setInfo(c.d[a.volumeType].toLowerCase()+": "+(a.numChannels+"-channel "+c.a[a.dataType].toLowerCase())),d.validityChanged())}).catch(function(a){g.isCanceled||(d.volumeCancellationSource=void 0,d.setError(a.message))})}}},{key:"setInfo",value:function(a){this.statusElement.className="dialog-status dialog-status-info";this.statusElement.textContent=a}},{key:"setError",value:function(a){this.statusElement.className=
-"dialog-status dialog-status-error";this.statusElement.textContent=a}}]);return e}(g.a)},function(g,e,a){e.a=function(a,e){""===e.id&&(e.id="unique-id-for-association-"+p++);a.setAttribute("for",e.id)};var p=0},function(g,e,a){e.a=function(a){var e=-1;return Object.assign(function(){-1===e&&(e=requestAnimationFrame(function(){e=-1;a()}))},{flush:function(){-1!==e&&(e=-1,a())},cancel:function(){-1!==e&&(cancelAnimationFrame(e),e=-1)}})}},function(g,e,a){e.a=function(a){if(!window.getSelection().isCollapsed)return!0;
-a=a.target.tagName;return"TEXTAREA"===a||"INPUT"===a?!0:!1};e.b=function(a,e){e=void 0===e?"text/plain":e;var c=!1,b=Object(p.c)(document,"copy",function(b){b.clipboardData.setData(e,a);c=!0;b.stopPropagation();b.preventDefault()},!0);try{document.execCommand("copy")}finally{b()}return c};var p=a(1)},function(g,e,a){e.a=function(a,c){var b=Object(p.c)(a,"drop",function(a){a.preventDefault();if(-1!==a.dataTransfer.types.indexOf(n.d)){var b=JSON.parse(a.dataTransfer.getData(n.d));c.restoreState(b);
-a.stopPropagation()}}),d=Object(p.c)(a,"dragover",function(a){-1!==a.dataTransfer.types.indexOf(n.d)&&(a.dataTransfer.dropEffect="link",a.preventDefault(),a.stopPropagation())});return function(){d();b()}};var p=a(1),n=a(107)},function(g,e,a){function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+
-typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(e,"a",function(){return r});var m=a(3),c=a(68),b=a(22),d=a(103),f=a(314),h=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),
-q=function u(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return u(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},k=m.p.create(),t=m.j.create();e.b="perpspectiveRenderEvent";var r=function(a){function e(a,h,g,q){if(!(this instanceof e))throw new TypeError("Cannot call a class as a function");var r=p(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,a,h,g));r.config=
-q;r.planarSlices=new Set;r.transparentPlaneRenderHelper=r.registerDisposer(f.b.get(r.gl,d.c));Object(b.c)(h,"nehuba-translate-via-mouse-drag",function(a){Object(c.a)(a.detail,function(a,b,c){if(r.config.layout.useNehubaPerspective.enableShiftDrag){a=r.width;var d=r.height,f=r.viewer.navigationState.position,h=f.spatialCoordinates;m.p.transformMat4(k,h,r.projectionMat);k[0]=2*b/a;k[1]=-2*c/d;m.p.transformMat4(h,k,r.inverseProjectionMat);f.changed.dispatch()}})});a=q.layout.useNehubaPerspective.removePerspectiveSlicesBackground;
-r.nehubaSliceViewRenderHelper=r.registerDisposer(f.a.get(r.gl,d.c,a&&a.mode||"none"));return r}n(e,a);h(e,[{key:"updateProjectionMatrix",value:function(){q(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"updateProjectionMatrix",this).call(this);this.config.layout.useNehubaPerspective.centerToOrigin&&(m.j.translate(this.projectionMat,this.projectionMat,this.navigationState.position.spatialCoordinates),m.j.invert(this.inverseProjectionMat,this.projectionMat))}},{key:"disposed",value:function(){for(var a=
-$jscomp.makeIterator(this.planarSlices),b=a.next();!b.done;b=a.next())b.value.dispose();this.planarSlices.clear();q(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"disposed",this).call(this)}},{key:"draw",value:function(){if(this.navigationState.valid){this.onResize();var a=this.width,b=this.height;if(0!==a&&0!==b){if(this.viewer.showSliceViews.value)for(var c=$jscomp.makeIterator(this.sliceViews),f=c.next();!f.done;f=c.next())f.value.updateRendering();c=$jscomp.makeIterator(this.planarSlices);
-for(f=c.next();!f.done;f=c.next())f.value.updateRendering();f=this.gl;this.offscreenFramebuffer.bind(a,b);f.disable(f.SCISSOR_TEST);c=this.config.layout.useNehubaPerspective;c=c.perspectiveBackground||c.perspectiveSlicesBackground||this.config.layout.planarSlicesBackground||this.config.dataset&&this.config.dataset.imageBackground||m.r.fromValues(.5,.5,.5,1);this.gl.clearColor(c[0],c[1],c[2],c[3]);f.clear(f.COLOR_BUFFER_BIT|f.DEPTH_BUFFER_BIT);f.enable(f.DEPTH_TEST);c=this.projectionMat;this.updateProjectionMatrix();
-var h=m.p.create();Object(m.n)(h,m.e[2],this.modelViewMat);m.p.normalize(h,h);var e=this.pickIDs;e.clear();c={dataToDevice:c,lightDirection:h,ambientLighting:.2,directionalLighting:.8,pickIDs:e,emitter:d.c,emitColor:!0,emitPickID:!0,alreadyEmittedPickID:!1,viewportWidth:a,viewportHeight:b,extra:{config:this.config,showSliceViewsCheckboxValue:this.viewer.showSliceViews.value,slicesPose:this.viewer.slicesNavigationState.pose,perspectiveNavigationState:this.viewer.navigationState,meshesLoaded:-1,meshFragmentsLoaded:-1}};
-h=this.visibleLayerTracker.getVisibleLayers();var k=!1,g=$jscomp.makeIterator(h);for(e=g.next();!e.done;e=g.next())e=e.value,e.isTransparent?k=!0:e.draw(c);e=this.config.layout.useNehubaPerspective.waitForMesh;!this.viewer.showSliceViews.value||e&&!c.extra.meshRendered||this.drawSliceViews(c);this.viewer.showAxisLines.value&&this.drawAxisLines();if(k){f.depthMask(!1);f.enable(f.BLEND);k=this.transparentConfiguration;k.bind(a,b);this.gl.clearColor(0,0,0,1);f.clear(f.COLOR_BUFFER_BIT);c.emitter=d.d;
-f.blendFuncSeparate(f.ONE,f.ONE,f.ZERO,f.ONE_MINUS_SRC_ALPHA);c.emitPickID=!1;g=$jscomp.makeIterator(h);for(e=g.next();!e.done;e=g.next())e=e.value,e.isTransparent&&e.draw(c);f.disable(f.DEPTH_TEST);this.offscreenFramebuffer.bindSingle(d.a.COLOR);f.blendFunc(f.ONE_MINUS_SRC_ALPHA,f.SRC_ALPHA);this.transparencyCopyHelper.draw(k.colorBuffers[0].texture,k.colorBuffers[1].texture);f.depthMask(!0);f.disable(f.BLEND);f.enable(f.DEPTH_TEST);this.offscreenFramebuffer.bind(a,b)}f.WEBGL_draw_buffers.drawBuffersWEBGL([f.NONE,
-f.WEBGL_draw_buffers.COLOR_ATTACHMENT1_WEBGL,f.WEBGL_draw_buffers.COLOR_ATTACHMENT2_WEBGL]);c.emitter=d.c;c.emitPickID=!0;c.emitColor=!1;a=$jscomp.makeIterator(h);for(e=a.next();!e.done;e=a.next())b=e.value,c.alreadyEmittedPickID=!b.isTransparent,b.draw(c);f.disable(f.DEPTH_TEST);this.offscreenFramebuffer.unbind();this.setGLViewport();this.offscreenCopyHelper.draw(this.offscreenFramebuffer.colorBuffers[d.a.COLOR].texture);a=new CustomEvent("perpspectiveRenderEvent",{bubbles:!0,detail:{meshesLoaded:c.extra.meshesLoaded,
-meshFragmentsLoaded:c.extra.meshFragmentsLoaded,lastLoadedMeshId:c.extra.lastMeshId}});this.element.dispatchEvent(a)}}}},{key:"drawSliceViews",value:function(a){var b=this.config.layout.useNehubaPerspective,c=this.sliceViewRenderHelper,d=this.nehubaSliceViewRenderHelper,f=this.transparentPlaneRenderHelper,h=a.lightDirection,e=a.ambientLighting,k=a.directionalLighting;a=a.dataToDevice;if(!b.hideImages){var g=b.removePerspectiveSlicesBackground;c=g?d:c;for(var q=$jscomp.makeIterator(this.sliceViews),
-r=q.next();!r.done;r=q.next())if(r=r.value,0!==r.width&&0!==r.height){var n=Math.abs(m.p.dot(h,r.viewportAxes[2]));n=e+n*k;var p=t;m.j.identity(p);p[0]=r.width/2;p[5]=-r.height/2;m.j.multiply(p,r.viewportToData,p);m.j.multiply(p,a,p);var u=b.perspectiveSlicesBackground||this.config.layout.planarSlicesBackground||this.config.dataset&&this.config.dataset.imageBackground||m.r.fromValues(.5,.5,.5,1);d.setDiscardColor(g&&g.color||u);c.draw(r.offscreenFramebuffer.colorBuffers[0].texture,p,m.r.fromValues(n,
-n,n,1),u,0,0,1,1)}}if(b.drawSubstrates)for(d=b.fixedZoomPerspectiveSlices&&b.fixedZoomPerspectiveSlices.sliceViewportSizeMultiplier||1,h=$jscomp.makeIterator(this.sliceViews),r=h.next();!r.done;r=h.next()){c=r.value;e=t;m.j.identity(e);e[0]=c.width/2/d;e[5]=-c.height/2/d;m.j.multiply(e,c.viewportToData,e);k=m.j.clone(a);g=m.p.clone(this.navigationState.position.spatialCoordinates);c=m.p.clone(c.viewportAxes[2]);q=this.viewer.slicesNavigationState.pose.orientation.orientation;r=m.l.invert(m.l.create(),
-q);m.p.transformQuat(c,c,r);m.p.transformQuat(g,g,r);r=m.p.create();for(n=0;3>n;n++)r[n]=0===Math.round(c[n])?-g[n]:0;m.p.transformQuat(r,r,q);m.j.translate(k,k,r);m.j.multiply(e,k,e);k=b.drawSubstrates.color||m.r.fromValues(0,0,1,.2);f.draw(e,k,{factor:3,units:1})}if(b.drawZoomLevels&&(d=b.drawZoomLevels.cutOff)&&this.viewer.slicesNavigationState.zoomFactor.value<d)for(d=$jscomp.makeIterator(this.planarSlices),r=d.next();!r.done;r=d.next())e=r.value,h=t,m.j.identity(h),h[0]=e.width/2,h[5]=-e.height/
-2,m.j.multiply(h,e.viewportToData,h),m.j.multiply(h,a,h),e=b.drawZoomLevels.color||m.r.fromValues(1,0,0,.2),f.draw(h,e,{factor:-1,units:1})}},{key:"zoomByMouse",value:function(a){q(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"zoomByMouse",this).call(this,a);if(a=this.config.layout.useNehubaPerspective.restrictZoomLevel)a.minZoom&&this.navigationState.zoomFactor.value<a.minZoom&&(this.navigationState.zoomFactor.value=a.minZoom),a.maxZoom&&this.navigationState.zoomFactor.value>a.maxZoom&&
-(this.navigationState.zoomFactor.value=a.maxZoom)}}]);return e}(d.b)},function(g,e,a){function p(a){if(!a[t]){a.registerDisposer(a.layerManager.layersChanged.add(function(){for(var b=!1,c=new f.b(f.p.fromValues(Infinity,Infinity,Infinity),f.p.fromValues(-Infinity,-Infinity,-Infinity)),d=$jscomp.makeIterator(a.layerManager.managedLayers),h=d.next();!h.done;h=d.next())if(h=h.value.layer,null!=h){h=$jscomp.makeIterator(h.renderLayers);for(var e=h.next();!e.done;e=h.next())e=e.value.boundingBox,null!=
-e&&(f.p.min(c.lower,c.lower,e.lower),f.p.max(c.upper,c.upper,e.upper),b=!0)}b&&(a.navigationState.position[k]=c);b&&(a.navigationState.pose[k]=c);b&&a.navigationState.position.changed.dispatch()}));var b=a.navigationState.position,c=b.changed.dispatch;b.changed.dispatch=function(){var a=b[k];if(a){var d=b.spatialCoordinates;f.p.min(d,d,a.upper);f.p.max(d,d,a.lower)}c()};a[t]=!0}}function n(a){m(a,function(a){a=a.displayState;a.segmentColorHash instanceof q.a||(a.segmentColorHash=q.a.from(a.segmentColorHash))})}
-function m(a,b){c(a,b);var d=a.layerManager;d.registerDisposer(d.layersChanged.add(function(){c(a,b)}))}function c(a,b){a.layerManager.managedLayers.map(function(a){return a.layer}).filter(function(a){return!!a}).filter(function(a){return a instanceof h.SegmentationUserLayer}).map(function(a){return a}).forEach(function(a){b(a)})}function b(a,b){$jscomp.initSymbol();var c=Symbol("customEvent");a.addEventListener("wheel",function(a){if(!a[c]&&b.zoomWithoutCtrl){a.stopImmediatePropagation();a.stopPropagation();
-a.preventDefault();var d=new Proxy(a,{get:function(a,b){if("ctrlKey"===b)return!a[b];b=a[b];return"function"===typeof b?b.bind(a):b}});d=new WheelEvent(a.type,d);d[c]=!0;a.target.dispatchEvent(d)}},!0)}function d(a,b){a.addEventListener("mousedown",function(a){b.rightClickWithCtrl&&2===a.button&&!a.ctrlKey&&(a.stopImmediatePropagation(),a.stopPropagation(),a.preventDefault())},!0)}e.a=function(a,b){b.restrictUserNavigation&&p(a);b.globals&&b.globals.useCustomSegmentColors&&n(a);b.globals&&b.globals.useNehubaLayout&&
-(a.inputEventBindings.sliceView.set("at:shift+mousedown0",{action:"nehuba-rotate-via-mouse-drag",stopPropagation:!0}),b.layout&&b.layout.useNehubaPerspective&&a.inputEventBindings.perspectiveView.set("at:shift+mousedown0",{action:"nehuba-translate-via-mouse-drag",stopPropagation:!0}))};e.b=function(a,c){b(a,c);d(a,c)};e.e=p;e.d=function(a){a.displayState.segmentSelectionState.set(null);a.displayState.segmentSelectionState.set=function(){}};e.c=function(a){a.displayState.segmentSelectionState.isSelected=
-function(){return!1}};var f=a(3),h=a(69),q=a(109);$jscomp.initSymbol();var k=Symbol("bbox");$jscomp.initSymbol();var t=Symbol("hooked")},function(g,e,a){g.exports=a(319)},function(g,e,a){e.isObject=function(a){return null!=a&&"object"===typeof a}},function(g,e,a){var p=this&&this.__extends||function(a,e){function c(){this.constructor=a}for(var b in e)e.hasOwnProperty(b)&&(a[b]=e[b]);a.prototype=null===e?Object.create(e):(c.prototype=e.prototype,new c)};g=function(a){function e(c){a.call(this);this.errors=
-c;c=Error.call(this,c?c.length+" errors occurred during unsubscription:\n  "+c.map(function(a,c){return c+1+") "+a.toString()}).join("\n  "):"");this.name=c.name="UnsubscriptionError";this.stack=c.stack;this.message=c.message}p(e,a);return e}(Error);e.UnsubscriptionError=g},function(g,e,a){e.empty={closed:!0,next:function(a){},error:function(a){throw a;},complete:function(){}}},function(g,e,a){var p=this&&this.__extends||function(a,e){function c(){this.constructor=a}for(var b in e)e.hasOwnProperty(b)&&
-(a[b]=e[b]);a.prototype=null===e?Object.create(e):(c.prototype=e.prototype,new c)};g=function(a){function e(c,b){a.call(this);this.subject=c;this.subscriber=b;this.closed=!1}p(e,a);e.prototype.unsubscribe=function(){if(!this.closed){this.closed=!0;var a=this.subject,b=a.observers;this.subject=null;!b||0===b.length||a.isStopped||a.closed||(a=b.indexOf(this.subscriber),-1!==a&&b.splice(a,1))}};return e}(a(8).Subscription);e.SubjectSubscription=g},function(g,e,a){e.isArrayLike=function(a){return a&&
-"number"===typeof a.length}},function(g,e,a){e.isPromise=function(a){return a&&"function"!==typeof a.subscribe&&"function"===typeof a.then}},function(g,e,a){var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},n=a(32),m=a(172),c=a(173),b=a(175),d=a(342),f=a(34),h=a(343),q=a(56),k=a(0),t=a(114),r=a(75);g=function(a){function e(b,c){a.call(this,null);this.ish=b;
-this.scheduler=c}p(e,a);e.create=function(a,g){if(null!=a){if("function"===typeof a[r.observable])return a instanceof k.Observable&&!g?a:new e(a,g);if(n.isArray(a))return new f.ArrayObservable(a,g);if(c.isPromise(a))return new b.PromiseObservable(a,g);if("function"===typeof a[q.iterator]||"string"===typeof a)return new d.IteratorObservable(a,g);if(m.isArrayLike(a))return new h.ArrayLikeObservable(a,g)}throw new TypeError((null!==a&&typeof a||a)+" is not observable");};e.prototype._subscribe=function(a){var b=
-this.ish,c=this.scheduler;return null==c?b[r.observable]().subscribe(a):b[r.observable]().subscribe(new t.ObserveOnSubscriber(a,c,0))};return e}(k.Observable);e.FromObservable=g},function(g,e,a){function p(a){var b=a.value;a=a.subscriber;a.closed||(a.next(b),a.complete())}function n(a){var b=a.err;a=a.subscriber;a.closed||a.error(b)}var m=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=
-c.prototype,new b)},c=a(12);g=function(a){function b(b,c){a.call(this);this.promise=b;this.scheduler=c}m(b,a);b.create=function(a,c){return new b(a,c)};b.prototype._subscribe=function(a){var b=this,d=this.promise,f=this.scheduler;if(null==f)this._isScalar?a.closed||(a.next(this.value),a.complete()):d.then(function(c){b.value=c;b._isScalar=!0;a.closed||(a.next(c),a.complete())},function(b){a.closed||a.error(b)}).then(null,function(a){c.root.setTimeout(function(){throw a;})});else if(this._isScalar){if(!a.closed)return f.schedule(p,
-0,{value:this.value,subscriber:a})}else d.then(function(c){b.value=c;b._isScalar=!0;a.closed||a.add(f.schedule(p,0,{value:c,subscriber:a}))},function(b){a.closed||a.add(f.schedule(n,0,{err:b,subscriber:a}))}).then(null,function(a){c.root.setTimeout(function(){throw a;})})};return b}(a(0).Observable);e.PromiseObservable=g},function(g,e,a){function p(){for(var a=[],f=0;f<arguments.length;f++)a[f-0]=arguments[f];f=Number.POSITIVE_INFINITY;var h=null,e=a[a.length-1];b.isScheduler(e)?(h=a.pop(),1<a.length&&
-"number"===typeof a[a.length-1]&&(f=a.pop())):"number"===typeof e&&(f=a.pop());return null===h&&1===a.length&&a[0]instanceof n.Observable?a[0]:(new m.ArrayObservable(a,h)).lift(new c.MergeAllOperator(f))}var n=a(0),m=a(34),c=a(78),b=a(33);e.merge=function(){for(var a=[],b=0;b<arguments.length;b++)a[b-0]=arguments[b];return this.lift.call(p.apply(void 0,[this].concat(a)))};e.mergeStatic=p},function(g,e,a){function p(){for(var a=[],b=0;b<arguments.length;b++)a[b-0]=arguments[b];if(1===a.length)if(m.isArray(a[0]))a=
-a[0];else return a[0];return(new c.ArrayObservable(a)).lift(new d)}var n=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},m=a(32),c=a(34);g=a(4);var b=a(5);e.race=function(){for(var a=[],b=0;b<arguments.length;b++)a[b-0]=arguments[b];1===a.length&&m.isArray(a[0])&&(a=a[0]);return this.lift.call(p.apply(void 0,[this].concat(a)))};e.raceStatic=p;var d=function(){function a(){}
-a.prototype.call=function(a,b){return b.subscribe(new f(a))};return a}();e.RaceOperator=d;var f=function(a){function c(b){a.call(this,b);this.hasFirst=!1;this.observables=[];this.subscriptions=[]}n(c,a);c.prototype._next=function(a){this.observables.push(a)};c.prototype._complete=function(){var a=this.observables,c=a.length;if(0===c)this.destination.complete();else{for(var d=0;d<c&&!this.hasFirst;d++){var f=a[d];f=b.subscribeToResult(this,f,f,d);this.subscriptions&&this.subscriptions.push(f);this.add(f)}this.observables=
-null}};c.prototype.notifyNext=function(a,b,c,d,f){if(!this.hasFirst){this.hasFirst=!0;for(a=0;a<this.subscriptions.length;a++)a!==c&&(d=this.subscriptions[a],d.unsubscribe(),this.remove(d));this.subscriptions=null}this.destination.next(b)};return c}(g.OuterSubscriber);e.RaceSubscriber=f},function(g,e,a){e.noop=function(){}},function(g,e,a){var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):
-(c.prototype=b.prototype,new c)},n=a(174),m=a(32);g=a(4);var c=a(5);e.onErrorResumeNext=function(){for(var a=[],c=0;c<arguments.length;c++)a[c-0]=arguments[c];1===a.length&&m.isArray(a[0])&&(a=a[0]);return this.lift(new b(a))};e.onErrorResumeNextStatic=function(){for(var a=[],c=0;c<arguments.length;c++)a[c-0]=arguments[c];1===a.length&&m.isArray(a[0])&&(a=a[0]);c=a.shift();return(new n.FromObservable(c,null)).lift(new b(a))};var b=function(){function a(a){this.nextSources=a}a.prototype.call=function(a,
-b){return b.subscribe(new d(a,this.nextSources))};return a}(),d=function(a){function b(b,c){a.call(this,b);this.destination=b;this.nextSources=c}p(b,a);b.prototype.notifyError=function(a,b){this.subscribeToNextSource()};b.prototype.notifyComplete=function(a){this.subscribeToNextSource()};b.prototype._error=function(a){this.subscribeToNextSource()};b.prototype._complete=function(){this.subscribeToNextSource()};b.prototype.subscribeToNextSource=function(){var a=this.nextSources.shift();a?this.add(c.subscribeToResult(this,
-a)):this.destination.complete()};return b}(g.OuterSubscriber)},function(g,e,a){function p(a,b){void 0===b&&(b=null);return new l({method:"GET",url:a,headers:b})}function n(a,b,c){return new l({method:"POST",url:a,body:b,headers:c})}function m(a,b){return new l({method:"DELETE",url:a,headers:b})}function c(a,b,c){return new l({method:"PUT",url:a,body:b,headers:c})}function b(a,b,c){return new l({method:"PATCH",url:a,body:b,headers:c})}function d(a,b){return(new l({method:"GET",url:a,responseType:"json",
-headers:b})).lift(new r.MapOperator(function(a,b){return a.response},null))}var f=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},h=a(12),q=a(13),k=a(11);g=a(0);var t=a(2),r=a(116);e.ajaxGet=p;e.ajaxPost=n;e.ajaxDelete=m;e.ajaxPut=c;e.ajaxPatch=b;e.ajaxGetJSON=d;var l=function(a){function e(b){a.call(this);var c={async:!0,createXHR:function(){if(this.crossDomain)if(h.root.XMLHttpRequest)var a=
-new h.root.XMLHttpRequest;else if(h.root.XDomainRequest)a=new h.root.XDomainRequest;else throw Error("CORS is not supported by your browser");else if(h.root.XMLHttpRequest)a=new h.root.XMLHttpRequest;else{var b=void 0;try{for(var c=["Msxml2.XMLHTTP","Microsoft.XMLHTTP","Msxml2.XMLHTTP.4.0"],d=0;3>d;d++)try{b=c[d];new h.root.ActiveXObject(b);break}catch(O){}a=new h.root.ActiveXObject(b)}catch(O){throw Error("XMLHttpRequest is not supported by your browser");}}return a},crossDomain:!1,withCredentials:!1,
-headers:{},method:"GET",responseType:"json",timeout:0};if("string"===typeof b)c.url=b;else for(var d in b)b.hasOwnProperty(d)&&(c[d]=b[d]);this.request=c}f(e,a);e.prototype._subscribe=function(a){return new u(a,this.request)};e.create=function(){var a=function(a){return new e(a)};a.get=p;a.post=n;a.delete=m;a.put=c;a.patch=b;a.getJSON=d;return a}();return e}(g.Observable);e.AjaxObservable=l;var u=function(a){function b(b,c){a.call(this,b);this.request=c;this.done=!1;b=c.headers=c.headers||{};c.crossDomain||
-b["X-Requested-With"]||(b["X-Requested-With"]="XMLHttpRequest");"Content-Type"in b||h.root.FormData&&c.body instanceof h.root.FormData||"undefined"===typeof c.body||(b["Content-Type"]="application/x-www-form-urlencoded; charset=UTF-8");c.body=this.serializeBody(c.body,c.headers["Content-Type"]);this.send()}f(b,a);b.prototype.next=function(a){this.done=!0;var b=this.destination;a=new A(a,this.xhr,this.request);b.next(a)};b.prototype.send=function(){var a=this.request,b=this.request,c=b.user,d=b.method,
-f=b.url,h=b.async,e=b.password,g=b.headers;b=b.body;var l=q.tryCatch(a.createXHR).call(a);if(l===k.errorObject)this.error(k.errorObject.e);else{this.xhr=l;this.setupEvents(l,a);c=c?q.tryCatch(l.open).call(l,d,f,h,c,e):q.tryCatch(l.open).call(l,d,f,h);if(c===k.errorObject)return this.error(k.errorObject.e),null;h&&(l.timeout=a.timeout,l.responseType=a.responseType);"withCredentials"in l&&(l.withCredentials=!!a.withCredentials);this.setHeaders(l,g);c=b?q.tryCatch(l.send).call(l,b):q.tryCatch(l.send).call(l);
-if(c===k.errorObject)return this.error(k.errorObject.e),null}return l};b.prototype.serializeBody=function(a,b){if(!a||"string"===typeof a||h.root.FormData&&a instanceof h.root.FormData)return a;if(b){var c=b.indexOf(";");-1!==c&&(b=b.substring(0,c))}switch(b){case "application/x-www-form-urlencoded":return Object.keys(a).map(function(b){return encodeURI(b)+"="+encodeURI(a[b])}).join("&");case "application/json":return JSON.stringify(a);default:return a}};b.prototype.setHeaders=function(a,b){for(var c in b)b.hasOwnProperty(c)&&
-a.setRequestHeader(c,b[c])};b.prototype.setupEvents=function(a,b){function c(a){var b=c.subscriber,d=c.progressSubscriber,f=c.request;d&&d.error(a);b.error(new z(this,f))}function d(a){var b=d.subscriber,c=d.progressSubscriber,f=d.request;if(4===this.readyState){var h=1223===this.status?204:this.status,e="text"===this.responseType?this.response||this.responseText:this.response;0===h&&(h=e?200:0);200<=h&&300>h?(c&&c.complete(),b.next(a),b.complete()):(c&&c.error(a),b.error(new y("ajax error "+h,this,
-f)))}}var f=b.progressSubscriber;a.ontimeout=c;c.request=b;c.subscriber=this;c.progressSubscriber=f;if(a.upload&&"withCredentials"in a){if(f){var e=function(a){e.progressSubscriber.next(a)};h.root.XDomainRequest?a.onprogress=e:a.upload.onprogress=e;e.progressSubscriber=f}var k=function(a){var b=k.progressSubscriber,c=k.subscriber,d=k.request;b&&b.error(a);c.error(new y("ajax error",this,d))};a.onerror=k;k.request=b;k.subscriber=this;k.progressSubscriber=f}a.onreadystatechange=d;d.subscriber=this;
-d.progressSubscriber=f;d.request=b};b.prototype.unsubscribe=function(){var b=this.xhr;!this.done&&b&&4!==b.readyState&&"function"===typeof b.abort&&b.abort();a.prototype.unsubscribe.call(this)};return b}(t.Subscriber);e.AjaxSubscriber=u;var A=function(){return function(a,b,c){this.originalEvent=a;this.xhr=b;this.request=c;this.status=b.status;this.responseType=b.responseType||c.responseType;switch(this.responseType){case "json":this.response="response"in b?b.responseType?b.response:JSON.parse(b.response||
-b.responseText||"null"):JSON.parse(b.responseText||"null");break;case "xml":this.response=b.responseXML;break;default:this.response="response"in b?b.response:b.responseText}}}();e.AjaxResponse=A;var y=function(a){function b(b,c,d){a.call(this,b);this.message=b;this.xhr=c;this.request=d;this.status=c.status}f(b,a);return b}(Error);e.AjaxError=y;var z=function(a){function b(b,c){a.call(this,"ajax timeout",b,c)}f(b,a);return b}(y);e.AjaxTimeoutError=z},function(g,e,a){g=a(396);a=a(397);e.queue=new a.QueueScheduler(g.QueueAction)},
-function(g,e,a){var p=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)},n=a(5);g=a(4);e.mergeMap=function(a,c,f){void 0===f&&(f=Number.POSITIVE_INFINITY);"number"===typeof c&&(f=c,c=null);return this.lift(new m(a,c,f))};var m=function(){function a(a,b,c){void 0===c&&(c=Number.POSITIVE_INFINITY);this.project=a;this.resultSelector=b;this.concurrent=c}a.prototype.call=
-function(a,b){return b.subscribe(new c(a,this.project,this.resultSelector,this.concurrent))};return a}();e.MergeMapOperator=m;var c=function(a){function b(b,c,d,e){void 0===e&&(e=Number.POSITIVE_INFINITY);a.call(this,b);this.project=c;this.resultSelector=d;this.concurrent=e;this.hasCompleted=!1;this.buffer=[];this.index=this.active=0}p(b,a);b.prototype._next=function(a){this.active<this.concurrent?this._tryNext(a):this.buffer.push(a)};b.prototype._tryNext=function(a){var b=this.index++;try{var c=
-this.project(a,b)}catch(k){this.destination.error(k);return}this.active++;this._innerSub(c,a,b)};b.prototype._innerSub=function(a,b,c){this.add(n.subscribeToResult(this,a,b,c))};b.prototype._complete=function(){this.hasCompleted=!0;0===this.active&&0===this.buffer.length&&this.destination.complete()};b.prototype.notifyNext=function(a,b,c,d,e){this.resultSelector?this._notifyResultSelector(a,b,c,d):this.destination.next(b)};b.prototype._notifyResultSelector=function(a,b,c,d){try{var f=this.resultSelector(a,
-b,c,d)}catch(r){this.destination.error(r);return}this.destination.next(f)};b.prototype.notifyComplete=function(a){var b=this.buffer;this.remove(a);this.active--;0<b.length?this._next(b.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()};return b}(g.OuterSubscriber);e.MergeMapSubscriber=c},function(g,e,a){var p=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=
-c.prototype,new b)};g=a(4);var n=a(5);e.mergeMapTo=function(a,c,f){void 0===f&&(f=Number.POSITIVE_INFINITY);"number"===typeof c&&(f=c,c=null);return this.lift(new m(a,c,f))};var m=function(){function a(a,b,c){void 0===c&&(c=Number.POSITIVE_INFINITY);this.ish=a;this.resultSelector=b;this.concurrent=c}a.prototype.call=function(a,b){return b.subscribe(new c(a,this.ish,this.resultSelector,this.concurrent))};return a}();e.MergeMapToOperator=m;var c=function(a){function b(b,c,d,e){void 0===e&&(e=Number.POSITIVE_INFINITY);
-a.call(this,b);this.ish=c;this.resultSelector=d;this.concurrent=e;this.hasCompleted=!1;this.buffer=[];this.index=this.active=0}p(b,a);b.prototype._next=function(a){if(this.active<this.concurrent){var b=this.resultSelector,c=this.index++,d=this.ish,f=this.destination;this.active++;this._innerSub(d,f,b,a,c)}else this.buffer.push(a)};b.prototype._innerSub=function(a,b,c,d,e){this.add(n.subscribeToResult(this,a,d,e))};b.prototype._complete=function(){this.hasCompleted=!0;0===this.active&&0===this.buffer.length&&
-this.destination.complete()};b.prototype.notifyNext=function(a,b,c,d,e){e=this.destination;this.resultSelector?this.trySelectResult(a,b,c,d):e.next(b)};b.prototype.trySelectResult=function(a,b,c,d){var f=this.resultSelector,h=this.destination;try{var e=f(a,b,c,d)}catch(u){h.error(u);return}h.next(e)};b.prototype.notifyError=function(a){this.destination.error(a)};b.prototype.notifyComplete=function(a){var b=this.buffer;this.remove(a);this.active--;0<b.length?this._next(b.shift()):0===this.active&&
-this.hasCompleted&&this.destination.complete()};return b}(g.OuterSubscriber);e.MergeMapToSubscriber=c},function(g,e,a){var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};g=a(2);var n=a(13),m=a(11);e.distinctUntilChanged=function(a,b){return this.lift(new c(a,b))};var c=function(){function a(a,b){this.compare=a;this.keySelector=b}a.prototype.call=function(a,
-c){return c.subscribe(new b(a,this.compare,this.keySelector))};return a}(),b=function(a){function b(b,c,d){a.call(this,b);this.keySelector=d;this.hasKey=!1;"function"===typeof c&&(this.compare=c)}p(b,a);b.prototype.compare=function(a,b){return a===b};b.prototype._next=function(a){var b=a;if(this.keySelector&&(b=n.tryCatch(this.keySelector)(a),b===m.errorObject))return this.destination.error(m.errorObject.e);var c=!1;if(this.hasKey){if(c=n.tryCatch(this.compare)(this.key,b),c===m.errorObject)return this.destination.error(m.errorObject.e)}else this.hasKey=
-!0;!1===!!c&&(this.key=b,this.destination.next(a))};return b}(g.Subscriber)},function(g,e,a){var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var f in b)b.hasOwnProperty(f)&&(a[f]=b[f]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};g=a(2);e.filter=function(a,b){return this.lift(new n(a,b))};var n=function(){function a(a,c){this.predicate=a;this.thisArg=c}a.prototype.call=function(a,c){return c.subscribe(new m(a,this.predicate,this.thisArg))};return a}(),
-m=function(a){function b(b,c,h){a.call(this,b);this.predicate=c;this.thisArg=h;this.count=0}p(b,a);b.prototype._next=function(a){try{var b=this.predicate.call(this.thisArg,a,this.count++)}catch(h){this.destination.error(h);return}b&&this.destination.next(a)};return b}(g.Subscriber)},function(g,e,a){var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var f in b)b.hasOwnProperty(f)&&(a[f]=b[f]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};g=a(2);e.find=
-function(a,b){if("function"!==typeof a)throw new TypeError("predicate is not a function");return this.lift(new n(a,this,!1,b))};var n=function(){function a(a,c,f,h){this.predicate=a;this.source=c;this.yieldIndex=f;this.thisArg=h}a.prototype.call=function(a,c){return c.subscribe(new m(a,this.predicate,this.source,this.yieldIndex,this.thisArg))};return a}();e.FindValueOperator=n;var m=function(a){function b(b,c,h,e,k){a.call(this,b);this.predicate=c;this.source=h;this.yieldIndex=e;this.thisArg=k;this.index=
-0}p(b,a);b.prototype.notifyComplete=function(a){var b=this.destination;b.next(a);b.complete()};b.prototype._next=function(a){var b=this.predicate,c=this.thisArg,d=this.index++;try{b.call(c||this,a,d,this.source)&&this.notifyComplete(this.yieldIndex?d:a)}catch(k){this.destination.error(k)}};b.prototype._complete=function(){this.notifyComplete(this.yieldIndex?-1:void 0)};return b}(g.Subscriber);e.FindValueSubscriber=m},function(g,e,a){var p=this&&this.__extends||function(a,b){function c(){this.constructor=
-a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};g=a(10);var n=a(0),m=a(2),c=a(8);a=function(a){function f(b,c){a.call(this);this.source=b;this.subjectFactory=c;this._refCount=0;this._isComplete=!1}p(f,a);f.prototype._subscribe=function(a){return this.getSubject().subscribe(a)};f.prototype.getSubject=function(){var a=this._subject;if(!a||a.isStopped)this._subject=this.subjectFactory();return this._subject};f.prototype.connect=
-function(){var a=this._connection;a||(this._isComplete=!1,a=this._connection=new c.Subscription,a.add(this.source.subscribe(new b(this.getSubject(),this))),a.closed?(this._connection=null,a=c.Subscription.EMPTY):this._connection=a);return a};f.prototype.refCount=function(){return this.lift(new d(this))};return f}(n.Observable);e.ConnectableObservable=a;a=a.prototype;e.connectableObservableDescriptor={operator:{value:null},_refCount:{value:0,writable:!0},_subject:{value:null,writable:!0},_connection:{value:null,
-writable:!0},_subscribe:{value:a._subscribe},_isComplete:{value:a._isComplete,writable:!0},getSubject:{value:a.getSubject},connect:{value:a.connect},refCount:{value:a.refCount}};var b=function(a){function b(b,c){a.call(this,b);this.connectable=c}p(b,a);b.prototype._error=function(b){this._unsubscribe();a.prototype._error.call(this,b)};b.prototype._complete=function(){this.connectable._isComplete=!0;this._unsubscribe();a.prototype._complete.call(this)};b.prototype._unsubscribe=function(){var a=this.connectable;
-if(a){this.connectable=null;var b=a._connection;a._refCount=0;a._subject=null;a._connection=null;b&&b.unsubscribe()}};return b}(g.SubjectSubscriber),d=function(){function a(a){this.connectable=a}a.prototype.call=function(a,b){var c=this.connectable;c._refCount++;a=new f(a,c);b=b.subscribe(a);a.closed||(a.connection=c.connect());return b};return a}(),f=function(a){function b(b,c){a.call(this,b);this.connectable=c}p(b,a);b.prototype._unsubscribe=function(){var a=this.connectable;if(a){this.connectable=
-null;var b=a._refCount;0>=b?this.connection=null:(a._refCount=b-1,1<b?this.connection=null:(b=this.connection,a=a._connection,this.connection=null,!a||b&&a!==b||a.unsubscribe()))}else this.connection=null};return b}(m.Subscriber)},function(g,e,a){var p=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};g=a(10);var n=a(76);a=function(a){function c(b){a.call(this);
-this._value=b}p(c,a);Object.defineProperty(c.prototype,"value",{get:function(){return this.getValue()},enumerable:!0,configurable:!0});c.prototype._subscribe=function(b){var c=a.prototype._subscribe.call(this,b);c&&!c.closed&&b.next(this._value);return c};c.prototype.getValue=function(){if(this.hasError)throw this.thrownError;if(this.closed)throw new n.ObjectUnsubscribedError;return this._value};c.prototype.next=function(b){a.prototype.next.call(this,this._value=b)};return c}(g.Subject);e.BehaviorSubject=
-a},function(g,e,a){g=a(548);a=a(552);e.asap=new a.AsapScheduler(g.AsapAction)},function(g,e,a){(function(g){function n(a,c){this._id=a;this._clearFn=c}var m="undefined"!==typeof g&&g||"undefined"!==typeof self&&self||window,c=Function.prototype.apply;e.setTimeout=function(){return new n(c.call(setTimeout,m,arguments),clearTimeout)};e.setInterval=function(){return new n(c.call(setInterval,m,arguments),clearInterval)};e.clearTimeout=e.clearInterval=function(a){a&&a.close()};n.prototype.unref=n.prototype.ref=
-function(){};n.prototype.close=function(){this._clearFn.call(m,this._id)};e.enroll=function(a,c){clearTimeout(a._idleTimeoutId);a._idleTimeout=c};e.unenroll=function(a){clearTimeout(a._idleTimeoutId);a._idleTimeout=-1};e._unrefActive=e.active=function(a){clearTimeout(a._idleTimeoutId);var b=a._idleTimeout;0<=b&&(a._idleTimeoutId=setTimeout(function(){a._onTimeout&&a._onTimeout()},b))};a(550);e.setImmediate="undefined"!==typeof self&&self.setImmediate||"undefined"!==typeof g&&g.setImmediate||this&&
-this.setImmediate;e.clearImmediate="undefined"!==typeof self&&self.clearImmediate||"undefined"!==typeof g&&g.clearImmediate||this&&this.clearImmediate}).call(e,a(62))},function(g,e,a){var p=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};g=a(4);var n=a(5);e.defaultThrottleConfig={leading:!0,trailing:!1};e.throttle=function(a,c){void 0===c&&(c=e.defaultThrottleConfig);
-return this.lift(new m(a,c.leading,c.trailing))};var m=function(){function a(a,b,c){this.durationSelector=a;this.leading=b;this.trailing=c}a.prototype.call=function(a,b){return b.subscribe(new c(a,this.durationSelector,this.leading,this.trailing))};return a}(),c=function(a){function b(b,c,d,e){a.call(this,b);this.destination=b;this.durationSelector=c;this._leading=d;this._trailing=e;this._hasTrailingValue=!1}p(b,a);b.prototype._next=function(a){if(this.throttled)this._trailing&&(this._hasTrailingValue=
-!0,this._trailingValue=a);else{var b=this.tryDurationSelector(a);b&&this.add(this.throttled=n.subscribeToResult(this,b));this._leading&&(this.destination.next(a),this._trailing&&(this._hasTrailingValue=!0,this._trailingValue=a))}};b.prototype.tryDurationSelector=function(a){try{return this.durationSelector(a)}catch(h){return this.destination.error(h),null}};b.prototype._unsubscribe=function(){var a=this.throttled;this._trailingValue=null;this._hasTrailingValue=!1;a&&(this.remove(a),this.throttled=
-null,a.unsubscribe())};b.prototype._sendTrailing=function(){var a=this.destination,b=this._trailing,c=this._trailingValue,d=this._hasTrailingValue;this.throttled&&b&&d&&(a.next(c),this._trailingValue=null,this._hasTrailingValue=!1)};b.prototype.notifyNext=function(a,b,c,d,e){this._sendTrailing();this._unsubscribe()};b.prototype.notifyComplete=function(){this._sendTrailing();this._unsubscribe()};return b}(g.OuterSubscriber)},function(g,e,a){var p=this&&this.__extends||function(a,b){function c(){this.constructor=
-a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};g=a(2);var n=a(17);e.timeInterval=function(a){void 0===a&&(a=n.async);return this.lift(new c(a))};var m=function(){return function(a,b){this.value=a;this.interval=b}}();e.TimeInterval=m;var c=function(){function a(a){this.scheduler=a}a.prototype.call=function(a,c){return c.subscribe(new b(a,this.scheduler))};return a}(),b=function(a){function b(b,c){a.call(this,b);this.scheduler=
-c;this.lastTime=0;this.lastTime=c.now()}p(b,a);b.prototype._next=function(a){var b=this.scheduler.now(),c=b-this.lastTime;this.lastTime=b;this.destination.next(new m(a,c))};return b}(g.Subscriber)},function(g,e,a){var p=this&&this.__extends||function(a,e){function c(){this.constructor=a}for(var b in e)e.hasOwnProperty(b)&&(a[b]=e[b]);a.prototype=null===e?Object.create(e):(c.prototype=e.prototype,new c)};g=function(a){function e(){var c=a.call(this,"Timeout has occurred");this.name=c.name="TimeoutError";
-this.stack=c.stack;this.message=c.message}p(e,a);return e}(Error);e.TimeoutError=g},function(g,e,a){var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};g=a(2);var n=a(17);e.timestamp=function(a){void 0===a&&(a=n.async);return this.lift(new c(a))};var m=function(){return function(a,b){this.value=a;this.timestamp=b}}();e.Timestamp=m;var c=function(){function a(a){this.scheduler=
-a}a.prototype.call=function(a,c){return c.subscribe(new b(a,this.scheduler))};return a}(),b=function(a){function b(b,c){a.call(this,b);this.scheduler=c}p(b,a);b.prototype._next=function(a){var b=this.scheduler.now();this.destination.next(new m(a,b))};return b}(g.Subscriber)},function(g,e,a){var p=a(196);g=function(){function a(){this.subscriptions=[]}a.prototype.logSubscribedFrame=function(){this.subscriptions.push(new p.SubscriptionLog(this.scheduler.now()));return this.subscriptions.length-1};a.prototype.logUnsubscribedFrame=
-function(a){var c=this.subscriptions;c[a]=new p.SubscriptionLog(c[a].subscribedFrame,this.scheduler.now())};return a}();e.SubscriptionLoggable=g},function(g,e,a){g=function(){return function(a,e){void 0===e&&(e=Number.POSITIVE_INFINITY);this.subscribedFrame=a;this.unsubscribedFrame=e}}();e.SubscriptionLog=g},function(g,e,a){e.applyMixins=function(a,e){for(var g=0,c=e.length;g<c;g++)for(var b=e[g],d=Object.getOwnPropertyNames(b.prototype),f=0,h=d.length;f<h;f++){var q=d[f];a.prototype[q]=b.prototype[q]}}},
-function(g,e,a){var p=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};g=a(58);a=function(a){function c(b,c){var d=this;void 0===b&&(b=n);void 0===c&&(c=Number.POSITIVE_INFINITY);a.call(this,b,function(){return d.frame});this.maxFrames=c;this.frame=0;this.index=-1}p(c,a);c.prototype.flush=function(){for(var a=this.actions,c=this.maxFrames,f,h;(h=a.shift())&&(this.frame=
-h.delay)<=c&&!(f=h.execute(h.state,h.delay)););if(f){for(;h=a.shift();)h.unsubscribe();throw f;}};c.frameTimeFactor=10;return c}(a(59).AsyncScheduler);e.VirtualTimeScheduler=a;var n=function(a){function c(b,c,f){void 0===f&&(f=b.index+=1);a.call(this,b,c);this.scheduler=b;this.work=c;this.index=f;this.active=!0;this.index=b.index=f}p(c,a);c.prototype.schedule=function(b,d){void 0===d&&(d=0);if(!this.id)return a.prototype.schedule.call(this,b,d);this.active=!1;var f=new c(this.scheduler,this.work);
-this.add(f);return f.schedule(b,d)};c.prototype.requestAsyncId=function(a,d,f){void 0===f&&(f=0);this.delay=a.frame+f;a=a.actions;a.push(this);a.sort(c.sortActions);return!0};c.prototype.recycleAsyncId=function(a,c,f){};c.prototype._execute=function(b,c){if(!0===this.active)return a.prototype._execute.call(this,b,c)};c.sortActions=function(a,c){return a.delay===c.delay?a.index===c.index?0:a.index>c.index?1:-1:a.delay>c.delay?1:-1};return c}(g.AsyncAction);e.VirtualAction=n},function(g,e,a){a(118);
-a(232);a(236);a(91);a(237);a(136);a(239);a(137);a(241);a(139);a(242);a(140);a(244);a(141);a(246);a(247);a(248);a(93);a(256);a(69);a(151);a(270);g.exports=a(277)},function(g,e,a){a(29)},function(g,e,a){a(29)},function(g,e,a){function p(a,b,d){var c=b[0],h=b[1],e=b[2],k=b[3],g=b[4],r=b[5],l=b[6],m=b[7],n=b[8],p=b[9],z=b[10],B=b[11],x=b[12],v=b[13],E=b[14];b=b[15];var F=d[0],C=d[1],G=d[2],H=d[3];a[0]=F*c+C*g+G*n+H*x;a[1]=F*h+C*r+G*p+H*v;a[2]=F*e+C*l+G*z+H*E;a[3]=F*k+C*m+G*B+H*b;F=d[4];C=d[5];G=d[6];
-H=d[7];a[4]=F*c+C*g+G*n+H*x;a[5]=F*h+C*r+G*p+H*v;a[6]=F*e+C*l+G*z+H*E;a[7]=F*k+C*m+G*B+H*b;F=d[8];C=d[9];G=d[10];H=d[11];a[8]=F*c+C*g+G*n+H*x;a[9]=F*h+C*r+G*p+H*v;a[10]=F*e+C*l+G*z+H*E;a[11]=F*k+C*m+G*B+H*b;F=d[12];C=d[13];G=d[14];H=d[15];a[12]=F*c+C*g+G*n+H*x;a[13]=F*h+C*r+G*p+H*v;a[14]=F*e+C*l+G*z+H*E;a[15]=F*k+C*m+G*B+H*b;return a}function n(a,b,d){a[0]=b[0]-d[0];a[1]=b[1]-d[1];a[2]=b[2]-d[2];a[3]=b[3]-d[3];a[4]=b[4]-d[4];a[5]=b[5]-d[5];a[6]=b[6]-d[6];a[7]=b[7]-d[7];a[8]=b[8]-d[8];a[9]=b[9]-d[9];
-a[10]=b[10]-d[10];a[11]=b[11]-d[11];a[12]=b[12]-d[12];a[13]=b[13]-d[13];a[14]=b[14]-d[14];a[15]=b[15]-d[15];return a}Object.defineProperty(e,"__esModule",{value:!0});e.create=function(){var a=new m.a(16);a[0]=1;a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=1;a[6]=0;a[7]=0;a[8]=0;a[9]=0;a[10]=1;a[11]=0;a[12]=0;a[13]=0;a[14]=0;a[15]=1;return a};e.clone=function(a){var b=new m.a(16);b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];b[4]=a[4];b[5]=a[5];b[6]=a[6];b[7]=a[7];b[8]=a[8];b[9]=a[9];b[10]=a[10];b[11]=a[11];b[12]=a[12];
-b[13]=a[13];b[14]=a[14];b[15]=a[15];return b};e.copy=function(a,b){a[0]=b[0];a[1]=b[1];a[2]=b[2];a[3]=b[3];a[4]=b[4];a[5]=b[5];a[6]=b[6];a[7]=b[7];a[8]=b[8];a[9]=b[9];a[10]=b[10];a[11]=b[11];a[12]=b[12];a[13]=b[13];a[14]=b[14];a[15]=b[15];return a};e.fromValues=function(a,b,d,f,h,e,k,g,r,l,n,p,y,z,B,x){var c=new m.a(16);c[0]=a;c[1]=b;c[2]=d;c[3]=f;c[4]=h;c[5]=e;c[6]=k;c[7]=g;c[8]=r;c[9]=l;c[10]=n;c[11]=p;c[12]=y;c[13]=z;c[14]=B;c[15]=x;return c};e.set=function(a,b,d,f,h,e,k,g,r,l,m,n,p,z,B,x,v){a[0]=
-b;a[1]=d;a[2]=f;a[3]=h;a[4]=e;a[5]=k;a[6]=g;a[7]=r;a[8]=l;a[9]=m;a[10]=n;a[11]=p;a[12]=z;a[13]=B;a[14]=x;a[15]=v;return a};e.identity=function(a){a[0]=1;a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=1;a[6]=0;a[7]=0;a[8]=0;a[9]=0;a[10]=1;a[11]=0;a[12]=0;a[13]=0;a[14]=0;a[15]=1;return a};e.transpose=function(a,b){if(a===b){var c=b[1],f=b[2],h=b[3],e=b[6],k=b[7],g=b[11];a[1]=b[4];a[2]=b[8];a[3]=b[12];a[4]=c;a[6]=b[9];a[7]=b[13];a[8]=f;a[9]=e;a[11]=b[14];a[12]=h;a[13]=k;a[14]=g}else a[0]=b[0],a[1]=b[4],a[2]=b[8],
-a[3]=b[12],a[4]=b[1],a[5]=b[5],a[6]=b[9],a[7]=b[13],a[8]=b[2],a[9]=b[6],a[10]=b[10],a[11]=b[14],a[12]=b[3],a[13]=b[7],a[14]=b[11],a[15]=b[15];return a};e.invert=function(a,b){var c=b[0],f=b[1],h=b[2],e=b[3],k=b[4],g=b[5],r=b[6],l=b[7],m=b[8],n=b[9],p=b[10],z=b[11],B=b[12],x=b[13],v=b[14];b=b[15];var E=c*g-f*k,F=c*r-h*k,C=c*l-e*k,G=f*r-h*g,H=f*l-e*g,D=h*l-e*r,O=m*x-n*B,J=m*v-p*B,Q=m*b-z*B,T=n*v-p*x,S=n*b-z*x,L=p*b-z*v,P=E*L-F*S+C*T+G*Q-H*J+D*O;if(!P)return null;P=1/P;a[0]=(g*L-r*S+l*T)*P;a[1]=(h*S-
-f*L-e*T)*P;a[2]=(x*D-v*H+b*G)*P;a[3]=(p*H-n*D-z*G)*P;a[4]=(r*Q-k*L-l*J)*P;a[5]=(c*L-h*Q+e*J)*P;a[6]=(v*C-B*D-b*F)*P;a[7]=(m*D-p*C+z*F)*P;a[8]=(k*S-g*Q+l*O)*P;a[9]=(f*Q-c*S-e*O)*P;a[10]=(B*H-x*C+b*E)*P;a[11]=(n*C-m*H-z*E)*P;a[12]=(g*J-k*T-r*O)*P;a[13]=(c*T-f*J+h*O)*P;a[14]=(x*F-B*G-v*E)*P;a[15]=(m*G-n*F+p*E)*P;return a};e.adjoint=function(a,b){var c=b[0],f=b[1],h=b[2],e=b[3],k=b[4],g=b[5],r=b[6],l=b[7],m=b[8],n=b[9],p=b[10],z=b[11],B=b[12],x=b[13],v=b[14];b=b[15];a[0]=g*(p*b-z*v)-n*(r*b-l*v)+x*(r*
-z-l*p);a[1]=-(f*(p*b-z*v)-n*(h*b-e*v)+x*(h*z-e*p));a[2]=f*(r*b-l*v)-g*(h*b-e*v)+x*(h*l-e*r);a[3]=-(f*(r*z-l*p)-g*(h*z-e*p)+n*(h*l-e*r));a[4]=-(k*(p*b-z*v)-m*(r*b-l*v)+B*(r*z-l*p));a[5]=c*(p*b-z*v)-m*(h*b-e*v)+B*(h*z-e*p);a[6]=-(c*(r*b-l*v)-k*(h*b-e*v)+B*(h*l-e*r));a[7]=c*(r*z-l*p)-k*(h*z-e*p)+m*(h*l-e*r);a[8]=k*(n*b-z*x)-m*(g*b-l*x)+B*(g*z-l*n);a[9]=-(c*(n*b-z*x)-m*(f*b-e*x)+B*(f*z-e*n));a[10]=c*(g*b-l*x)-k*(f*b-e*x)+B*(f*l-e*g);a[11]=-(c*(g*z-l*n)-k*(f*z-e*n)+m*(f*l-e*g));a[12]=-(k*(n*v-p*x)-m*(g*
-v-r*x)+B*(g*p-r*n));a[13]=c*(n*v-p*x)-m*(f*v-h*x)+B*(f*p-h*n);a[14]=-(c*(g*v-r*x)-k*(f*v-h*x)+B*(f*r-h*g));a[15]=c*(g*p-r*n)-k*(f*p-h*n)+m*(f*r-h*g);return a};e.determinant=function(a){var b=a[0],c=a[1],f=a[2],h=a[3],e=a[4],k=a[5],g=a[6],m=a[7],l=a[8],n=a[9],p=a[10],y=a[11],z=a[12],B=a[13],x=a[14];a=a[15];return(b*k-c*e)*(p*a-y*x)-(b*g-f*e)*(n*a-y*B)+(b*m-h*e)*(n*x-p*B)+(c*g-f*k)*(l*a-y*z)-(c*m-h*k)*(l*x-p*z)+(f*m-h*g)*(l*B-n*z)};e.multiply=p;e.translate=function(a,b,d){var c=d[0],h=d[1];d=d[2];if(b===
-a)a[12]=b[0]*c+b[4]*h+b[8]*d+b[12],a[13]=b[1]*c+b[5]*h+b[9]*d+b[13],a[14]=b[2]*c+b[6]*h+b[10]*d+b[14],a[15]=b[3]*c+b[7]*h+b[11]*d+b[15];else{var e=b[0];var k=b[1];var g=b[2];var m=b[3];var l=b[4];var n=b[5];var p=b[6];var y=b[7];var z=b[8];var B=b[9];var x=b[10];var v=b[11];a[0]=e;a[1]=k;a[2]=g;a[3]=m;a[4]=l;a[5]=n;a[6]=p;a[7]=y;a[8]=z;a[9]=B;a[10]=x;a[11]=v;a[12]=e*c+l*h+z*d+b[12];a[13]=k*c+n*h+B*d+b[13];a[14]=g*c+p*h+x*d+b[14];a[15]=m*c+y*h+v*d+b[15]}return a};e.scale=function(a,b,d){var c=d[0],
-h=d[1];d=d[2];a[0]=b[0]*c;a[1]=b[1]*c;a[2]=b[2]*c;a[3]=b[3]*c;a[4]=b[4]*h;a[5]=b[5]*h;a[6]=b[6]*h;a[7]=b[7]*h;a[8]=b[8]*d;a[9]=b[9]*d;a[10]=b[10]*d;a[11]=b[11]*d;a[12]=b[12];a[13]=b[13];a[14]=b[14];a[15]=b[15];return a};e.rotate=function(a,b,d,f){var c=f[0],e=f[1];f=f[2];var k=Math.sqrt(c*c+e*e+f*f);if(Math.abs(k)<m.b)return null;k=1/k;c*=k;e*=k;f*=k;var g=Math.sin(d);var r=Math.cos(d);var l=1-r;d=b[0];k=b[1];var n=b[2];var p=b[3];var y=b[4];var z=b[5];var B=b[6];var x=b[7];var v=b[8];var E=b[9];
-var F=b[10];var C=b[11];var G=c*c*l+r;var H=e*c*l+f*g;var D=f*c*l-e*g;var O=c*e*l-f*g;var J=e*e*l+r;var Q=f*e*l+c*g;var T=c*f*l+e*g;c=e*f*l-c*g;e=f*f*l+r;a[0]=d*G+y*H+v*D;a[1]=k*G+z*H+E*D;a[2]=n*G+B*H+F*D;a[3]=p*G+x*H+C*D;a[4]=d*O+y*J+v*Q;a[5]=k*O+z*J+E*Q;a[6]=n*O+B*J+F*Q;a[7]=p*O+x*J+C*Q;a[8]=d*T+y*c+v*e;a[9]=k*T+z*c+E*e;a[10]=n*T+B*c+F*e;a[11]=p*T+x*c+C*e;b!==a&&(a[12]=b[12],a[13]=b[13],a[14]=b[14],a[15]=b[15]);return a};e.rotateX=function(a,b,d){var c=Math.sin(d);d=Math.cos(d);var h=b[4],e=b[5],
-k=b[6],g=b[7],m=b[8],l=b[9],n=b[10],p=b[11];b!==a&&(a[0]=b[0],a[1]=b[1],a[2]=b[2],a[3]=b[3],a[12]=b[12],a[13]=b[13],a[14]=b[14],a[15]=b[15]);a[4]=h*d+m*c;a[5]=e*d+l*c;a[6]=k*d+n*c;a[7]=g*d+p*c;a[8]=m*d-h*c;a[9]=l*d-e*c;a[10]=n*d-k*c;a[11]=p*d-g*c;return a};e.rotateY=function(a,b,d){var c=Math.sin(d);d=Math.cos(d);var h=b[0],e=b[1],k=b[2],g=b[3],m=b[8],l=b[9],n=b[10],p=b[11];b!==a&&(a[4]=b[4],a[5]=b[5],a[6]=b[6],a[7]=b[7],a[12]=b[12],a[13]=b[13],a[14]=b[14],a[15]=b[15]);a[0]=h*d-m*c;a[1]=e*d-l*c;a[2]=
-k*d-n*c;a[3]=g*d-p*c;a[8]=h*c+m*d;a[9]=e*c+l*d;a[10]=k*c+n*d;a[11]=g*c+p*d;return a};e.rotateZ=function(a,b,d){var c=Math.sin(d);d=Math.cos(d);var h=b[0],e=b[1],k=b[2],g=b[3],m=b[4],l=b[5],n=b[6],p=b[7];b!==a&&(a[8]=b[8],a[9]=b[9],a[10]=b[10],a[11]=b[11],a[12]=b[12],a[13]=b[13],a[14]=b[14],a[15]=b[15]);a[0]=h*d+m*c;a[1]=e*d+l*c;a[2]=k*d+n*c;a[3]=g*d+p*c;a[4]=m*d-h*c;a[5]=l*d-e*c;a[6]=n*d-k*c;a[7]=p*d-g*c;return a};e.fromTranslation=function(a,b){a[0]=1;a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=1;a[6]=0;a[7]=
-0;a[8]=0;a[9]=0;a[10]=1;a[11]=0;a[12]=b[0];a[13]=b[1];a[14]=b[2];a[15]=1;return a};e.fromScaling=function(a,b){a[0]=b[0];a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=b[1];a[6]=0;a[7]=0;a[8]=0;a[9]=0;a[10]=b[2];a[11]=0;a[12]=0;a[13]=0;a[14]=0;a[15]=1;return a};e.fromRotation=function(a,b,d){var c=d[0],h=d[1];d=d[2];var e=Math.sqrt(c*c+h*h+d*d);if(Math.abs(e)<m.b)return null;e=1/e;c*=e;h*=e;d*=e;e=Math.sin(b);b=Math.cos(b);var k=1-b;a[0]=c*c*k+b;a[1]=h*c*k+d*e;a[2]=d*c*k-h*e;a[3]=0;a[4]=c*h*k-d*e;a[5]=h*h*k+b;
-a[6]=d*h*k+c*e;a[7]=0;a[8]=c*d*k+h*e;a[9]=h*d*k-c*e;a[10]=d*d*k+b;a[11]=0;a[12]=0;a[13]=0;a[14]=0;a[15]=1;return a};e.fromXRotation=function(a,b){var c=Math.sin(b);b=Math.cos(b);a[0]=1;a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=b;a[6]=c;a[7]=0;a[8]=0;a[9]=-c;a[10]=b;a[11]=0;a[12]=0;a[13]=0;a[14]=0;a[15]=1;return a};e.fromYRotation=function(a,b){var c=Math.sin(b);b=Math.cos(b);a[0]=b;a[1]=0;a[2]=-c;a[3]=0;a[4]=0;a[5]=1;a[6]=0;a[7]=0;a[8]=c;a[9]=0;a[10]=b;a[11]=0;a[12]=0;a[13]=0;a[14]=0;a[15]=1;return a};e.fromZRotation=
-function(a,b){var c=Math.sin(b);b=Math.cos(b);a[0]=b;a[1]=c;a[2]=0;a[3]=0;a[4]=-c;a[5]=b;a[6]=0;a[7]=0;a[8]=0;a[9]=0;a[10]=1;a[11]=0;a[12]=0;a[13]=0;a[14]=0;a[15]=1;return a};e.fromRotationTranslation=function(a,b,d){var c=b[0],h=b[1],e=b[2],k=b[3],g=c+c,m=h+h,l=e+e;b=c*g;var n=c*m;c*=l;var p=h*m;h*=l;e*=l;g*=k;m*=k;k*=l;a[0]=1-(p+e);a[1]=n+k;a[2]=c-m;a[3]=0;a[4]=n-k;a[5]=1-(b+e);a[6]=h+g;a[7]=0;a[8]=c+m;a[9]=h-g;a[10]=1-(b+p);a[11]=0;a[12]=d[0];a[13]=d[1];a[14]=d[2];a[15]=1;return a};e.getTranslation=
-function(a,b){a[0]=b[12];a[1]=b[13];a[2]=b[14];return a};e.getScaling=function(a,b){var c=b[0],f=b[1],h=b[2],e=b[4],k=b[5],g=b[6],m=b[8],l=b[9];b=b[10];a[0]=Math.sqrt(c*c+f*f+h*h);a[1]=Math.sqrt(e*e+k*k+g*g);a[2]=Math.sqrt(m*m+l*l+b*b);return a};e.getRotation=function(a,b){var c=b[0]+b[5]+b[10];0<c?(c=2*Math.sqrt(c+1),a[3]=.25*c,a[0]=(b[6]-b[9])/c,a[1]=(b[8]-b[2])/c,a[2]=(b[1]-b[4])/c):b[0]>b[5]&b[0]>b[10]?(c=2*Math.sqrt(1+b[0]-b[5]-b[10]),a[3]=(b[6]-b[9])/c,a[0]=.25*c,a[1]=(b[1]+b[4])/c,a[2]=(b[8]+
-b[2])/c):b[5]>b[10]?(c=2*Math.sqrt(1+b[5]-b[0]-b[10]),a[3]=(b[8]-b[2])/c,a[0]=(b[1]+b[4])/c,a[1]=.25*c,a[2]=(b[6]+b[9])/c):(c=2*Math.sqrt(1+b[10]-b[0]-b[5]),a[3]=(b[1]-b[4])/c,a[0]=(b[8]+b[2])/c,a[1]=(b[6]+b[9])/c,a[2]=.25*c);return a};e.fromRotationTranslationScale=function(a,b,d,f){var c=b[0],e=b[1],k=b[2],g=b[3],m=c+c,l=e+e,n=k+k;b=c*m;var p=c*l;c*=n;var y=e*l;e*=n;k*=n;m*=g;l*=g;g*=n;n=f[0];var z=f[1];f=f[2];a[0]=(1-(y+k))*n;a[1]=(p+g)*n;a[2]=(c-l)*n;a[3]=0;a[4]=(p-g)*z;a[5]=(1-(b+k))*z;a[6]=
-(e+m)*z;a[7]=0;a[8]=(c+l)*f;a[9]=(e-m)*f;a[10]=(1-(b+y))*f;a[11]=0;a[12]=d[0];a[13]=d[1];a[14]=d[2];a[15]=1;return a};e.fromRotationTranslationScaleOrigin=function(a,b,d,f,h){var c=b[0],e=b[1],g=b[2],m=b[3],l=c+c,n=e+e,p=g+g;b=c*l;var y=c*n;c*=p;var z=e*n;e*=p;g*=p;l*=m;n*=m;m*=p;p=f[0];var B=f[1];f=f[2];var x=h[0],v=h[1];h=h[2];a[0]=(1-(z+g))*p;a[1]=(y+m)*p;a[2]=(c-n)*p;a[3]=0;a[4]=(y-m)*B;a[5]=(1-(b+g))*B;a[6]=(e+l)*B;a[7]=0;a[8]=(c+n)*f;a[9]=(e-l)*f;a[10]=(1-(b+z))*f;a[11]=0;a[12]=d[0]+x-(a[0]*
-x+a[4]*v+a[8]*h);a[13]=d[1]+v-(a[1]*x+a[5]*v+a[9]*h);a[14]=d[2]+h-(a[2]*x+a[6]*v+a[10]*h);a[15]=1;return a};e.fromQuat=function(a,b){var c=b[0],f=b[1],h=b[2];b=b[3];var e=c+c,k=f+f,g=h+h;c*=e;var m=f*e;f*=k;var l=h*e,n=h*k;h*=g;e*=b;k*=b;b*=g;a[0]=1-f-h;a[1]=m+b;a[2]=l-k;a[3]=0;a[4]=m-b;a[5]=1-c-h;a[6]=n+e;a[7]=0;a[8]=l+k;a[9]=n-e;a[10]=1-c-f;a[11]=0;a[12]=0;a[13]=0;a[14]=0;a[15]=1;return a};e.frustum=function(a,b,d,f,h,e,k){var c=1/(d-b),g=1/(h-f),l=1/(e-k);a[0]=2*e*c;a[1]=0;a[2]=0;a[3]=0;a[4]=0;
-a[5]=2*e*g;a[6]=0;a[7]=0;a[8]=(d+b)*c;a[9]=(h+f)*g;a[10]=(k+e)*l;a[11]=-1;a[12]=0;a[13]=0;a[14]=k*e*2*l;a[15]=0;return a};e.perspective=function(a,b,d,f,h){b=1/Math.tan(b/2);var c=1/(f-h);a[0]=b/d;a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=b;a[6]=0;a[7]=0;a[8]=0;a[9]=0;a[10]=(h+f)*c;a[11]=-1;a[12]=0;a[13]=0;a[14]=2*h*f*c;a[15]=0;return a};e.perspectiveFromFieldOfView=function(a,b,d,f){var c=Math.tan(b.upDegrees*Math.PI/180),e=Math.tan(b.downDegrees*Math.PI/180),k=Math.tan(b.leftDegrees*Math.PI/180);b=Math.tan(b.rightDegrees*
-Math.PI/180);var g=2/(k+b),m=2/(c+e);a[0]=g;a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=m;a[6]=0;a[7]=0;a[8]=-((k-b)*g*.5);a[9]=(c-e)*m*.5;a[10]=f/(d-f);a[11]=-1;a[12]=0;a[13]=0;a[14]=f*d/(d-f);a[15]=0;return a};e.ortho=function(a,b,d,f,h,e,k){var c=1/(b-d),g=1/(f-h),l=1/(e-k);a[0]=-2*c;a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=-2*g;a[6]=0;a[7]=0;a[8]=0;a[9]=0;a[10]=2*l;a[11]=0;a[12]=(b+d)*c;a[13]=(h+f)*g;a[14]=(k+e)*l;a[15]=1;return a};e.lookAt=function(a,b,d,f){var c=b[0],e=b[1];b=b[2];var k=f[0];var g=f[1];var r=
-f[2];var l=d[0];f=d[1];var n=d[2];if(Math.abs(c-l)<m.b&&Math.abs(e-f)<m.b&&Math.abs(b-n)<m.b)return mat4.identity(a);d=c-l;f=e-f;l=b-n;var p=1/Math.sqrt(d*d+f*f+l*l);d*=p;f*=p;l*=p;n=g*l-r*f;r=r*d-k*l;k=k*f-g*d;(p=Math.sqrt(n*n+r*r+k*k))?(p=1/p,n*=p,r*=p,k*=p):k=r=n=0;g=f*k-l*r;var y=l*n-d*k;var z=d*r-f*n;(p=Math.sqrt(g*g+y*y+z*z))?(p=1/p,g*=p,y*=p,z*=p):z=y=g=0;a[0]=n;a[1]=g;a[2]=d;a[3]=0;a[4]=r;a[5]=y;a[6]=f;a[7]=0;a[8]=k;a[9]=z;a[10]=l;a[11]=0;a[12]=-(n*c+r*e+k*b);a[13]=-(g*c+y*e+z*b);a[14]=-(d*
-c+f*e+l*b);a[15]=1;return a};e.targetTo=function(a,b,d,f){var c=b[0],e=b[1];b=b[2];var k=f[0],g=f[1],m=f[2];f=c-d[0];var l=e-d[1];d=b-d[2];var n=f*f+l*l+d*d;0<n&&(n=1/Math.sqrt(n),f*=n,l*=n,d*=n);n=g*d-m*l;m=m*f-k*d;k=k*l-g*f;a[0]=n;a[1]=m;a[2]=k;a[3]=0;a[4]=l*k-d*m;a[5]=d*n-f*k;a[6]=f*m-l*n;a[7]=0;a[8]=f;a[9]=l;a[10]=d;a[11]=0;a[12]=c;a[13]=e;a[14]=b;a[15]=1;return a};e.str=function(a){return"mat4("+a[0]+", "+a[1]+", "+a[2]+", "+a[3]+", "+a[4]+", "+a[5]+", "+a[6]+", "+a[7]+", "+a[8]+", "+a[9]+", "+
-a[10]+", "+a[11]+", "+a[12]+", "+a[13]+", "+a[14]+", "+a[15]+")"};e.frob=function(a){return Math.sqrt(Math.pow(a[0],2)+Math.pow(a[1],2)+Math.pow(a[2],2)+Math.pow(a[3],2)+Math.pow(a[4],2)+Math.pow(a[5],2)+Math.pow(a[6],2)+Math.pow(a[7],2)+Math.pow(a[8],2)+Math.pow(a[9],2)+Math.pow(a[10],2)+Math.pow(a[11],2)+Math.pow(a[12],2)+Math.pow(a[13],2)+Math.pow(a[14],2)+Math.pow(a[15],2))};e.add=function(a,b,d){a[0]=b[0]+d[0];a[1]=b[1]+d[1];a[2]=b[2]+d[2];a[3]=b[3]+d[3];a[4]=b[4]+d[4];a[5]=b[5]+d[5];a[6]=b[6]+
-d[6];a[7]=b[7]+d[7];a[8]=b[8]+d[8];a[9]=b[9]+d[9];a[10]=b[10]+d[10];a[11]=b[11]+d[11];a[12]=b[12]+d[12];a[13]=b[13]+d[13];a[14]=b[14]+d[14];a[15]=b[15]+d[15];return a};e.subtract=n;e.multiplyScalar=function(a,b,d){a[0]=b[0]*d;a[1]=b[1]*d;a[2]=b[2]*d;a[3]=b[3]*d;a[4]=b[4]*d;a[5]=b[5]*d;a[6]=b[6]*d;a[7]=b[7]*d;a[8]=b[8]*d;a[9]=b[9]*d;a[10]=b[10]*d;a[11]=b[11]*d;a[12]=b[12]*d;a[13]=b[13]*d;a[14]=b[14]*d;a[15]=b[15]*d;return a};e.multiplyScalarAndAdd=function(a,b,d,f){a[0]=b[0]+d[0]*f;a[1]=b[1]+d[1]*
-f;a[2]=b[2]+d[2]*f;a[3]=b[3]+d[3]*f;a[4]=b[4]+d[4]*f;a[5]=b[5]+d[5]*f;a[6]=b[6]+d[6]*f;a[7]=b[7]+d[7]*f;a[8]=b[8]+d[8]*f;a[9]=b[9]+d[9]*f;a[10]=b[10]+d[10]*f;a[11]=b[11]+d[11]*f;a[12]=b[12]+d[12]*f;a[13]=b[13]+d[13]*f;a[14]=b[14]+d[14]*f;a[15]=b[15]+d[15]*f;return a};e.exactEquals=function(a,b){return a[0]===b[0]&&a[1]===b[1]&&a[2]===b[2]&&a[3]===b[3]&&a[4]===b[4]&&a[5]===b[5]&&a[6]===b[6]&&a[7]===b[7]&&a[8]===b[8]&&a[9]===b[9]&&a[10]===b[10]&&a[11]===b[11]&&a[12]===b[12]&&a[13]===b[13]&&a[14]===
-b[14]&&a[15]===b[15]};e.equals=function(a,b){var c=a[0],f=a[1],e=a[2],g=a[3],k=a[4],n=a[5],r=a[6],l=a[7],p=a[8],A=a[9],y=a[10],z=a[11],B=a[12],x=a[13],v=a[14];a=a[15];var E=b[0],F=b[1],C=b[2],G=b[3],H=b[4],D=b[5],O=b[6],J=b[7],Q=b[8],T=b[9],S=b[10],L=b[11],P=b[12],Y=b[13],aa=b[14];b=b[15];return Math.abs(c-E)<=m.b*Math.max(1,Math.abs(c),Math.abs(E))&&Math.abs(f-F)<=m.b*Math.max(1,Math.abs(f),Math.abs(F))&&Math.abs(e-C)<=m.b*Math.max(1,Math.abs(e),Math.abs(C))&&Math.abs(g-G)<=m.b*Math.max(1,Math.abs(g),
-Math.abs(G))&&Math.abs(k-H)<=m.b*Math.max(1,Math.abs(k),Math.abs(H))&&Math.abs(n-D)<=m.b*Math.max(1,Math.abs(n),Math.abs(D))&&Math.abs(r-O)<=m.b*Math.max(1,Math.abs(r),Math.abs(O))&&Math.abs(l-J)<=m.b*Math.max(1,Math.abs(l),Math.abs(J))&&Math.abs(p-Q)<=m.b*Math.max(1,Math.abs(p),Math.abs(Q))&&Math.abs(A-T)<=m.b*Math.max(1,Math.abs(A),Math.abs(T))&&Math.abs(y-S)<=m.b*Math.max(1,Math.abs(y),Math.abs(S))&&Math.abs(z-L)<=m.b*Math.max(1,Math.abs(z),Math.abs(L))&&Math.abs(B-P)<=m.b*Math.max(1,Math.abs(B),
-Math.abs(P))&&Math.abs(x-Y)<=m.b*Math.max(1,Math.abs(x),Math.abs(Y))&&Math.abs(v-aa)<=m.b*Math.max(1,Math.abs(v),Math.abs(aa))&&Math.abs(a-b)<=m.b*Math.max(1,Math.abs(a),Math.abs(b))};var m=a(29);e.mul=p;e.sub=n},function(g,e,a){function p(){var a=new d.a(4);a[0]=0;a[1]=0;a[2]=0;a[3]=1;return a}function n(a,b,c){c*=.5;var d=Math.sin(c);a[0]=d*b[0];a[1]=d*b[1];a[2]=d*b[2];a[3]=Math.cos(c);return a}function m(a,b,c){var d=b[0],f=b[1],e=b[2];b=b[3];var h=c[0],k=c[1],g=c[2];c=c[3];a[0]=d*c+b*h+f*g-e*
-k;a[1]=f*c+b*k+e*h-d*g;a[2]=e*c+b*g+d*k-f*h;a[3]=b*c-d*h-f*k-e*g;return a}function c(a,b,c,d){var f=b[0],e=b[1],h=b[2];b=b[3];var k=c[0],g=c[1],l=c[2];c=c[3];var q=f*k+e*g+h*l+b*c;0>q&&(q=-q,k=-k,g=-g,l=-l,c=-c);if(1E-6<1-q){var m=Math.acos(q);var r=Math.sin(m);q=Math.sin((1-d)*m)/r;d=Math.sin(d*m)/r}else q=1-d;a[0]=q*f+d*k;a[1]=q*e+d*g;a[2]=q*h+d*l;a[3]=q*b+d*c;return a}function b(a,b){var c=b[0]+b[4]+b[8];if(0<c)c=Math.sqrt(c+1),a[3]=.5*c,c=.5/c,a[0]=(b[5]-b[7])*c,a[1]=(b[6]-b[2])*c,a[2]=(b[1]-
-b[3])*c;else{var d=0;b[4]>b[0]&&(d=1);b[8]>b[3*d+d]&&(d=2);var f=(d+1)%3,e=(d+2)%3;c=Math.sqrt(b[3*d+d]-b[3*f+f]-b[3*e+e]+1);a[d]=.5*c;c=.5/c;a[3]=(b[3*f+e]-b[3*e+f])*c;a[f]=(b[3*f+d]+b[3*d+f])*c;a[e]=(b[3*e+d]+b[3*d+e])*c}return a}Object.defineProperty(e,"__esModule",{value:!0});e.create=p;e.identity=function(a){a[0]=0;a[1]=0;a[2]=0;a[3]=1;return a};e.setAxisAngle=n;e.getAxisAngle=function(a,b){var c=2*Math.acos(b[3]),d=Math.sin(c/2);0!=d?(a[0]=b[0]/d,a[1]=b[1]/d,a[2]=b[2]/d):(a[0]=1,a[1]=0,a[2]=
-0);return c};e.multiply=m;e.rotateX=function(a,b,c){c*=.5;var d=b[0],f=b[1],e=b[2];b=b[3];var h=Math.sin(c);c=Math.cos(c);a[0]=d*c+b*h;a[1]=f*c+e*h;a[2]=e*c-f*h;a[3]=b*c-d*h;return a};e.rotateY=function(a,b,c){c*=.5;var d=b[0],f=b[1],e=b[2];b=b[3];var h=Math.sin(c);c=Math.cos(c);a[0]=d*c-e*h;a[1]=f*c+b*h;a[2]=e*c+d*h;a[3]=b*c-f*h;return a};e.rotateZ=function(a,b,c){c*=.5;var d=b[0],f=b[1],e=b[2];b=b[3];var h=Math.sin(c);c=Math.cos(c);a[0]=d*c+f*h;a[1]=f*c-d*h;a[2]=e*c+b*h;a[3]=b*c-e*h;return a};e.calculateW=
-function(a,b){var c=b[0],d=b[1];b=b[2];a[0]=c;a[1]=d;a[2]=b;a[3]=Math.sqrt(Math.abs(1-c*c-d*d-b*b));return a};e.slerp=c;e.invert=function(a,b){var c=b[0],d=b[1],f=b[2];b=b[3];var e=c*c+d*d+f*f+b*b;e=e?1/e:0;a[0]=-c*e;a[1]=-d*e;a[2]=-f*e;a[3]=b*e;return a};e.conjugate=function(a,b){a[0]=-b[0];a[1]=-b[1];a[2]=-b[2];a[3]=b[3];return a};e.fromMat3=b;e.fromEuler=function(a,b,c,d){var f=.5*Math.PI/180;b*=f;c*=f;d*=f;f=Math.sin(b);b=Math.cos(b);var e=Math.sin(c);c=Math.cos(c);var h=Math.sin(d);d=Math.cos(d);
-a[0]=f*c*d-b*e*h;a[1]=b*e*d+f*c*h;a[2]=b*c*h-f*e*d;a[3]=b*c*d+f*e*h;return a};e.str=function(a){return"quat("+a[0]+", "+a[1]+", "+a[2]+", "+a[3]+")"};var d=a(29),f=a(120),h=a(121);g=a(122);e.clone=g.clone;e.fromValues=g.fromValues;e.copy=g.copy;e.set=g.set;e.add=g.add;e.mul=m;e.scale=g.scale;e.dot=g.dot;e.lerp=g.lerp;a=g.length;e.length=a;e.len=a;a=g.squaredLength;e.squaredLength=a;e.sqrLen=a;var q=g.normalize;e.normalize=q;e.exactEquals=g.exactEquals;e.equals=g.equals;g=function(){var a=h.create(),
-b=h.fromValues(1,0,0),c=h.fromValues(0,1,0);return function(d,f,e){var g=h.dot(f,e);if(-.999999>g)return h.cross(a,b,f),1E-6>h.len(a)&&h.cross(a,c,f),h.normalize(a,a),n(d,a,Math.PI),d;if(.999999<g)return d[0]=0,d[1]=0,d[2]=0,d[3]=1,d;h.cross(a,f,e);d[0]=a[0];d[1]=a[1];d[2]=a[2];d[3]=1+g;return q(d,d)}}();e.rotationTo=g;g=function(){var a=p(),b=p();return function(d,f,e,h,g,k){c(a,f,g,k);c(b,e,h,k);c(d,a,b,2*k*(1-k));return d}}();e.sqlerp=g;g=function(){var a=f.create();return function(c,d,f,e){a[0]=
-f[0];a[3]=f[1];a[6]=f[2];a[1]=e[0];a[4]=e[1];a[7]=e[2];a[2]=-d[0];a[5]=-d[1];a[8]=-d[2];return q(c,b(c,a))}}();e.setAxes=g},function(g,e,a){function p(){var a=new n.a(2);a[0]=0;a[1]=0;return a}var n=a(29);(function(){var a=p();return function(c,b,d,f,e,g){b||(b=2);d||(d=0);for(f=f?Math.min(f*b+d,c.length):c.length;d<f;d+=b)a[0]=c[d],a[1]=c[d+1],e(a,a,g),c[d]=a[0],c[d+1]=a[1];return c}})()},function(g,e,a){function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+
-typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function n(a,b){var d=a.memoize.get({type:"getSharedCredentialsProvider",credentialsProvider:Object(c.a)(b)},function(){return new m.a(b.addRef(),a.rpc)}),f=d.addCounterpartRef();d.dispose();return f}e.a=function(){return function(a){return function(a){function f(a){for(var b=[],c=0;c<arguments.length;++c)b[c-0]=arguments[c];
-if(!(this instanceof f))throw new TypeError("Cannot call a class as a function");var d;c=(d=f.__proto__||Object.getPrototypeOf(f)).call.apply(d,[].concat([this],$jscomp.arrayFromIterable(b)));if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");d=!c||"object"!==typeof c&&"function"!==typeof c?this:c;d.credentialsProvider=b[1].credentialsProvider.addRef();return d}p(f,a);b(f,[{key:"initializeCounterpart",value:function(a,b){b.credentialsProvider=n(this.chunkManager,
-this.credentialsProvider);d(f.prototype.__proto__||Object.getPrototypeOf(f.prototype),"initializeCounterpart",this).call(this,a,b)}}],[{key:"encodeOptions",value:function(a){var b=d(f.__proto__||Object.getPrototypeOf(f),"encodeOptions",this).call(this,a);b.credentialsProvider=Object(c.a)(a.credentialsProvider);return b}}]);return f}(a)}};var m=a(206),c=a(27),b=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=
-!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),d=function h(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return h(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}}},function(g,e,a){function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);
-a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(e,"a",function(){return m});g=a(207);a=a(15);var n=function(){function a(a,c){for(var b=0;b<c.length;b++){var d=c[b];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,f){c&&a(b.prototype,c);f&&a(b,f);return b}}();e=this&&this.__decorate||function(a,
-b,d,f){var c=arguments.length,e=3>c?b:null===f?f=Object.getOwnPropertyDescriptor(b,d):f,g;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)e=Reflect.decorate(a,b,d,f);else for(var m=a.length-1;0<=m;m--)if(g=a[m])e=(3>c?g(e):3<c?g(b,d,e):g(b,d))||e;return 3<c&&e&&Object.defineProperty(b,d,e),e};var m=function(a){function b(a,c){if(!(this instanceof b))throw new TypeError("Cannot call a class as a function");var d=(b.__proto__||Object.getPrototypeOf(b)).call(this);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
-d=!d||"object"!==typeof d&&"function"!==typeof d?this:d;d.provider=a;d.registerDisposer(a);d.initializeCounterpart(c);return d}p(b,a);n(b,[{key:"get",value:function(a,b){return this.provider.get(a,b)}}]);return b}(a.b);m=e([Object(a.g)(g.b)],m);Object(a.d)(g.a,function(a,b){return this.get(a.providerId).get(a.invalidCredentials,b).then(function(a){return{value:a}})})},function(g,e,a){e.b="CredentialsProvider";e.a="CredentialsProvider.get"},function(g,e,a){e.a=function(a){for(var e=0,g=a.length,c=
-0;c<g;++c)e=31*e+a.charCodeAt(c)|0;return e}},function(g,e,a){function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function n(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}a.d(e,"c",function(){return m});
-a.d(e,"d",function(){return c});a.d(e,"a",function(){return b});a.d(e,"b",function(){return d});var m;(function(a){a[a.RAW=0]="RAW";a[a.JPEG=1]="JPEG";a[a.COMPRESSED_SEGMENTATION=2]="COMPRESSED_SEGMENTATION"})(m||(m={}));var c=function h(){n(this,h)};c.RPC_ID="brainmaps/VolumeChunkSource";var b=function q(){n(this,q)};b.RPC_ID="brainmaps/MeshSource";var d=function(a){function b(){n(this,b);var a=(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
-return!a||"object"!==typeof a&&"function"!==typeof a?this:a}p(b,a);return b}(b);d.RPC_ID="brainmaps/SkeletonSource"},function(g,e,a){e.b="mesh/MeshLayer";e.a="mesh/FragmentSource"},function(g,e,a){var p=a(123);g.exports=function(){return p.Date.now()}},function(g,e,a){e=a(62);g.exports="object"==typeof e&&e&&e.Object===Object&&e},function(g,e,a){var p=a(86),n=a(214),m=0/0,c=/^\s+|\s+$/g,b=/^[-+]0x[0-9a-f]+$/i,d=/^0b[01]+$/i,f=/^0o[0-7]+$/i,h=parseInt;g.exports=function(a){if("number"==typeof a)return a;
-if(n(a))return m;p(a)&&(a="function"==typeof a.valueOf?a.valueOf():a,a=p(a)?a+"":a);if("string"!=typeof a)return 0===a?a:+a;a=a.replace(c,"");var e=d.test(a);return e||f.test(a)?h(a.slice(2),e?2:8):b.test(a)?m:+a}},function(g,e,a){var p=a(215),n=a(218);g.exports=function(a){return"symbol"==typeof a||n(a)&&"[object Symbol]"==p(a)}},function(g,e,a){e=a(124);var p=a(216),n=a(217),m=e?e.toStringTag:void 0;g.exports=function(a){return null==a?void 0===a?"[object Undefined]":"[object Null]":m&&m in Object(a)?
-p(a):n(a)}},function(g,e,a){e=a(124);a=Object.prototype;var p=a.hasOwnProperty,n=a.toString,m=e?e.toStringTag:void 0;g.exports=function(a){var b=p.call(a,m),c=a[m];try{a[m]=void 0;var f=!0}catch(q){}var e=n.call(a);f&&(b?a[m]=c:delete a[m]);return e}},function(g,e){var a=Object.prototype.toString;g.exports=function(e){return a.call(e)}},function(g,e){g.exports=function(a){return null!=a&&"object"==typeof a}},function(g,e,a){var p=a(24),n=a(86);g.exports=function(a,c,b){var d=!0,f=!0;if("function"!=
-typeof a)throw new TypeError("Expected a function");n(b)&&(d="leading"in b?!!b.leading:d,f="trailing"in b?!!b.trailing:f);return p(a,c,{leading:d,maxWait:c,trailing:f})}},function(g,e,a){e.b=function(a,e){a.remove(e)};e.a=function(a,e){a.add(e)}},function(g,e,a){e.b=function(a,e){return a.low+","+a.high+(e?"_"+e.center.toString()+"_"+e.size.toString():"")};e.a=function(a,e){var g=a.segmentEquivalences;a=$jscomp.makeIterator(a.visibleSegments);for(var c=a.next();!c.done;c=a.next())if(c=c.value,g.disjointSets.isMinElement(c))for(var b=
-$jscomp.makeIterator(g.setElements(c)),d=b.next();!d.done;d=b.next())e(d.value,c)}},function(g,e,a){a.d(e,"b",function(){return p});var p;(function(a){a[a.LITTLE=0]="LITTLE";a[a.BIG=1]="BIG"})(p||(p={}));g=function(){var a=Uint16Array.of(4386);return 17===(new Uint8Array(a.buffer))[0]?p.BIG:p.LITTLE}();e.a=g},function(g,e,a){e.a="skeleton/SkeletonLayer"},function(g,e,a){e.a=function(a){var e={antialias:!1,stencil:!0};a=a.getContext("webgl",e)||a.getContext("experimental-webgl",e);if(null==a)throw Error("WebGL not supported.");
-a.memoize=new p.a;a.maxTextureSize=a.getParameter(a.MAX_TEXTURE_SIZE);a.maxTextureImageUnits=a.getParameter(a.MAX_TEXTURE_IMAGE_UNITS);a.tempTextureUnit=a.maxTextureImageUnits-1;a.WEBGL_draw_buffers=a.getExtension("WEBGL_draw_buffers");if(!a.WEBGL_draw_buffers)throw Error("WEBGL_draw_buffers extension not available");a.ANGLE_instanced_arrays=a.getExtension("ANGLE_instanced_arrays");if(!a.ANGLE_instanced_arrays)throw Error("ANGLE_instanced_ararys extension not available");e=$jscomp.makeIterator(["OES_texture_float",
-"OES_element_index_uint"]);for(var c=e.next();!c.done;c=e.next())if(c=c.value,!a.getExtension(c))throw Error(c+" extension not available");return a};var p=a(84)},function(g,e,a){var p=function(){function a(a,c){for(var b=0;b<c.length;b++){var d=c[b];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(e,c,b){c&&a(e.prototype,c);b&&a(e,b);return e}}();g=function(){function a(){if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");
-}p(a,null,[{key:"insertAfter",value:function(a,c){var b=a.next0;c.next0=b;c.prev0=a;a.next0=c;b.prev0=c}},{key:"insertBefore",value:function(a,c){var b=a.prev0;c.prev0=b;c.next0=a;a.prev0=c;b.next0=c}},{key:"front",value:function(a){var c=a.next0;return c===a?null:c}},{key:"back",value:function(a){var c=a.prev0;return c===a?null:c}},{key:"pop",value:function(a){var c=a.next0,b=a.prev0;c.prev0=b;b.next0=c;a.next0=null;a.prev0=null;return a}},{key:"iterator",value:function(a){function c(c,f){for(;;)switch(b){case 0:d=
-a.next0;case 1:if(d===a){b=3;break}b=4;return{value:d,done:!1};case 4:if(void 0===f){b=5;break}b=-1;throw f;case 5:case 2:d=d.next0;b=1;break;case 3:b=-1;default:return{value:void 0,done:!0}}}var b=0,d,f={next:function(a){return c(a,void 0)},throw:function(a){return c(void 0,a)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();f[Symbol.iterator]=function(){return this};return f}},{key:"reverseIterator",value:function(a){function c(c,f){for(;;)switch(b){case 0:d=
-a.prev0;case 1:if(d===a){b=3;break}b=4;return{value:d,done:!1};case 4:if(void 0===f){b=5;break}b=-1;throw f;case 5:case 2:d=d.prev0;b=1;break;case 3:b=-1;default:return{value:void 0,done:!0}}}var b=0,d,f={next:function(a){return c(a,void 0)},throw:function(a){return c(void 0,a)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();f[Symbol.iterator]=function(){return this};return f}},{key:"initializeHead",value:function(a){a.next0=a.prev0=a}}]);return a}();e.a=g},
-function(g,e,a){a.d(e,"a",function(){return n});var p=function(){function a(a,b){for(var c=0;c<b.length;c++){var f=b[c];f.enumerable=f.enumerable||!1;f.configurable=!0;"value"in f&&(f.writable=!0);Object.defineProperty(a,f.key,f)}}return function(c,b,d){b&&a(c.prototype,b);d&&a(c,d);return c}}(),n=function(){function a(c){if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");this.parents=[];this.parentPriorities=[];this.bindings=new Map;if(void 0!==c){this.parents.push.apply(this.parents,
-[].concat($jscomp.arrayFromIterable(c.parents)));this.parentPriorities.push.apply(this.parentPriorities,[].concat($jscomp.arrayFromIterable(c.parentPriorities)));c=$jscomp.makeIterator(c.bindings);for(var b=c.next();!b.done;b=c.next()){var d=$jscomp.makeIterator(b.value);b=d.next().value;d=d.next().value;this.bindings.set(b,d)}}}p(a,[{key:"addParent",value:function(a,b){for(var c=this,f=this.parents,e=this.parentPriorities,g=0,k=f.length;g<k&&b<e[g];)++g;f.splice(g,0,a);e.splice(g,0,b);return function(){c.removeParent(a)}}},
-{key:"removeParent",value:function(a){a=this.parents.indexOf(a);if(-1===a)throw Error("Attempt to remove non-existent parent map.");this.parents.splice(a,1);this.parentPriorities.splice(a,1)}},{key:"set",value:function(a,b){this.bindings.set(a,b)}},{key:"delete",value:function(a){this.bindings.delete(a)}},{key:"clear",value:function(){this.bindings.clear();this.parents.length=0;this.parentPriorities.length=0}},{key:"get",value:function(a){for(var b=this.parents,c=this.parentPriorities,f=c.length,
-e=0,g;e<f&&0<c[e];++e)if(g=b[e].get(a),void 0!==g)return g;g=this.bindings.get(a);if(void 0!==g)return g;for(;e<f;++e)if(g=b[e].get(a),void 0!==g)return g}},{key:"getAll",value:function(a){function b(b,d){for(;;)switch(c){case 0:r=l,m=r.parents,k=r.parentPriorities,g=k.length,e=0;case 1:if(!(e<g&&0<k[e])){c=2;break}f=m[e].get(a);if(void 0===f){c=3;break}c=4;return{value:f,done:!1};case 4:if(void 0===d){c=5;break}c=-1;throw d;case 5:case 3:c=1;break;case 2:f=l.bindings.get(a);if(void 0===f){c=6;break}c=
-7;return{value:f,done:!1};case 7:if(void 0===d){c=8;break}c=-1;throw d;case 8:case 6:case 9:if(!(e<g)){c=10;break}f=m[e].get(a);if(void 0===f){c=11;break}c=12;return{value:f,done:!1};case 12:if(void 0===d){c=13;break}c=-1;throw d;case 13:case 11:c=9;break;case 10:c=-1;default:return{value:void 0,done:!0}}}var c=0,f,e,g,k,m,r,l=this,n={next:function(a){return b(a,void 0)},throw:function(a){return b(void 0,a)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();n[Symbol.iterator]=
-function(){return this};return n}}]);return a}()},function(g,e,a){e.a=function(a){var e=0;switch(a.deltaMode){case 0:e=.005;break;case 1:e=.1;break;case 2:e=2}return Math.exp(a.deltaY*e)}},function(g,e){},function(g,e,a){a.d(e,"a",function(){return m});var p=a(3),n=function(){function a(a,c){for(var b=0;b<c.length;b++){var d=c[b];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,f){c&&a(b.prototype,c);f&&a(b,f);return b}}(),
-m=function(){function a(b,c){c=void 0===c?p.d:c;if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");this.size=p.p.clone(b);this.transform=p.j.clone(c);this.invTransform=p.j.invert(p.j.create(),c)}n(a,[{key:"toObject",value:function(a){a.size=this.size;a.transform=this.transform}},{key:"localSpatialToGlobal",value:function(a,c){return p.p.transformMat4(a,c,this.transform)}},{key:"globalToLocalSpatial",value:function(a,c){return p.p.transformMat4(a,c,this.invTransform)}},
-{key:"globalToLocalGrid",value:function(a,c){this.globalToLocalSpatial(a,c);p.p.divide(a,a,this.size);return a}},{key:"localSpatialVectorToGlobal",value:function(a,c){return Object(p.n)(a,c,this.transform)}},{key:"globalToLocalSpatialVector",value:function(a,c){return Object(p.n)(a,c,this.invTransform)}},{key:"assignLocalSpatialToGlobalMat4",value:function(a){return p.j.copy(a,this.transform)}}],[{key:"get",value:function(b,c){c=void 0===c?p.d:c;var d=a.cache,e=JSON.stringify([Array.from(b),Array.from(c)]),
-g=d.get(e);void 0===g&&(g=new a(b,c),d.set(e,g));return g}},{key:"fromObject",value:function(b){return a.get(b.size,b.transform)}}]);return a}();m.cache=new Map},function(g,e,a){e.a=function(a,e){return a===e?!0:1E-6>Math.abs(a-e)/Math.min(Math.abs(a),Math.abs(e))}},function(g,e){},function(g,e,a){Object.defineProperty(e,"__esModule",{value:!0});g=a(133);e=a(85);var p=a(233);g.a.register(e.a,function(){return new p.a})},function(g,e,a){function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
-return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(e,"a",function(){return f});var m=a(134),c=a(40),b=a(26),d=a(234),f=function(a){function f(){if(!(this instanceof f))throw new TypeError("Cannot call a class as a function");
-var a=p(this,(f.__proto__||Object.getPrototypeOf(f)).apply(this,arguments));a.get=Object(m.c)(function(a){var f=new c.a(!0),e;return new Promise(function(c,h){function g(a,b){b=void 0===b?"Request authorization.":b;f.setText((void 0===a?"Brain Maps authorization required.":a)+"  ");a=document.createElement("button");a.textContent=b;f.element.appendChild(a);a.addEventListener("click",function(){k(!1)});f.setVisible(!0)}function k(a){void 0!==e&&e.cancel();e=new b.b;g("Waiting for Brain Maps authorization...",
-"Retry");Object(d.a)({clientId:"639403125587-4k5hgdfumtrvur8v48e3pr7oo91d765k.apps.googleusercontent.com",scopes:["https://www.googleapis.com/auth/brainmaps"],immediate:a,authUser:0},e).then(function(a){void 0!==e&&(e=void 0,f.dispose(),c(a))},function(b){void 0!==e&&(e=void 0,a?g():g("Brain Maps authorization failed: "+b+".","Retry"))})}a.add(function(){void 0!==e&&(e.cancel(),e=void 0,f.dispose(),h(b.a))});k(!0)})});return a}n(f,a);return f}(m.b)},function(g,e,a){function p(a,b){if(!(a instanceof
-b))throw new TypeError("Cannot call a class as a function");}function n(a,b){var c=document.createElement("iframe");c.style.display="none";c.id=a;c.name=a;c.src="https://accounts.google.com/o/oauth2/postmessageRelay?"+("parent="+encodeURIComponent(location.origin)+"#rpctoken="+b);document.body.appendChild(c)}e.a=function(a,b){b=void 0===b?m.e:b;var f=Object(d.a)();void 0===t&&(t=new k);var e=t,h=e.makeAuthRequestUrl({state:f,clientId:a.clientId,scopes:a.scopes,approvalPrompt:a.approvalPrompt,loginHint:a.loginHint,
-immediate:a.immediate,authUser:a.authUser}),g=e.addPendingRequest(f);f=new Promise(function(a,b){g.finished.add(function(c,d){void 0!==c?a(c):b(d)})});g.finished.add(b.add(function(){g.finished.dispatch(void 0,m.a)}));if(a.immediate)e.relayReadyPromise.then(function(){if(!b.isCanceled){var a=document.createElement("iframe");a.src=h;a.style.display="none";document.body.appendChild(a);g.finished.add(function(){Object(c.b)(a)})}});else if(!b.isCanceled){var l=open(h);null!==l&&g.finished.add(function(){l.close()})}return f};
-var m=a(26),c=a(9),b=a(6),d=a(235),f=a(7),h=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),q=function l(){p(this,l);this.finished=new f.b},k=function(){function a(){var c=this;p(this,a);this.proxyName="postmessageRelay"+Object(d.a)();this.rpcToken=""+Object(d.a)();this.relayReadyService="oauth2relayReady:"+
-this.rpcToken;this.oauth2CallbackService="oauth2callback:"+this.rpcToken;this.pendingRequests=new Map;n(this.proxyName,this.rpcToken);this.relayReadyPromise=new Promise(function(a){addEventListener("message",function(d){if("https://accounts.google.com"===d.origin)try{var f=Object(b.u)(JSON.parse(d.data)),e=Object(b.B)(f.s);e===c.relayReadyService&&a();if(e===c.oauth2CallbackService){var h=Object(b.a)(f.a,function(a){return a}),g=Object(b.B)(h[0]),k=location.origin;if(!g.startsWith(k+"#")&&!g.startsWith(k+
-"?"))throw Error("oauth2callback: URL "+JSON.stringify(g)+" "+("does not match current origin "+k+"."));for(var l=g.substring(k.length+1).split("&"),q=new Map,m=$jscomp.makeIterator(l),n=m.next();!n.done;n=m.next()){var p=n.value.match("^([a-z_]+)=(.*)$");if(null===p)throw Error("oauth2callback: URL part "+JSON.stringify(p)+" does not match expected pattern.");q.set(p[1],p[2])}var t=q.get("state");if(void 0===t)throw Error("oauth2callback: State argument is missing.");var u=c.pendingRequests.get(t);
-if(void 0!==u){var A=q.get("error");if(void 0!==A){var y=q.get("error_subtype");f=A;void 0!==y&&(f+=": "+y);u.finished.dispatch(void 0,Error("Error obtaining Google OAuth2 token: "+f))}else{var S=q.get("access_token"),L=q.get("token_type"),P=q.get("expires_in"),Y=q.get("scope");if(void 0===S||void 0===L||void 0===P||void 0===Y)throw Error("oauth2callback: URL lacks expected parameters.");u.finished.dispatch({accessToken:S,tokenType:L,expiresIn:P,scope:Y})}}}}catch(aa){throw Error("Invalid message received from https://accounts.google.com: "+
-JSON.stringify(d.data)+": "+(aa.message+"."));}})})}h(a,[{key:"addPendingRequest",value:function(a){var b=this,c=new q;this.pendingRequests.set(a,c);c.finished.add(function(){b.pendingRequests.delete(a)});return c}},{key:"makeAuthRequestUrl",value:function(a){var b="https://accounts.google.com/o/oauth2/auth?client_id="+encodeURIComponent(a.clientId);b=b+"&redirect_uri=postmessage&response_type=token"+("&origin="+encodeURIComponent(void 0===a.origin?location.origin:a.origin));b+="&proxy="+this.proxyName;
-b=b+"&include_granted_scopes=true"+("&scope="+encodeURIComponent(a.scopes.join(" ")));a.state&&(b+="&state="+a.state);a.approvalPrompt&&(b+="&approval_prompt="+encodeURIComponent(a.approvalPrompt));a.loginHint&&(b+="&login_hint="+encodeURIComponent(a.loginHint));a.immediate&&(b+="&immediate=true");void 0!==a.authUser&&(b+="&authuser="+a.authUser);return b}}]);return a}(),t},function(g,e,a){e.a=function(a){a=Math.ceil((void 0===a?128:a)/32);var e=new Uint32Array(a);crypto.getRandomValues(e);for(var g=
-"",c=0;c<a;++c)g+=("00000000"+e[c].toString(16)).slice(-8);return g}},function(g,e,a){Object.defineProperty(e,"__esModule",{value:!0});var p=a(118),n=a(85);g=a(37);Object(g.b)("brainmaps",function(a){return new p.BrainmapsDataSource(p.productionInstance,a.credentialsManager.getCredentialsProvider(n.a))})},function(g,e,a){Object.defineProperty(e,"__esModule",{value:!0});var p=a(91);g=a(37);Object(g.b)("ndstore",function(){return new p.NDStoreDataSource})},function(g,e,a){function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
-return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function m(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}a.d(e,"c",function(){return c});a.d(e,
-"d",function(){return b});a.d(e,"b",function(){return d});a.d(e,"a",function(){return f});var c;(function(a){a[a.JPEG=0]="JPEG";a[a.COMPRESSED_SEGMENTATION=1]="COMPRESSED_SEGMENTATION"})(c||(c={}));g=function q(){m(this,q)};var b=function(a){function b(){m(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);return b}(g);b.RPC_ID="dvid/VolumeChunkSource";var d;(function(a){a[a.JPEG=0]="JPEG"})(d||(d={}));var f=function(a){function b(){m(this,b);return p(this,
-(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);return b}(g);f.RPC_ID="dvid/TileChunkSource"},function(g,e,a){Object.defineProperty(e,"__esModule",{value:!0});var p=a(136);g=a(37);Object(g.b)("dvid",function(){return new p.DVIDDataSource})},function(g,e,a){function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+
-typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function m(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}a.d(e,"b",function(){return c});a.d(e,"a",function(){return b});g=function(a){function b(){m(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);return b}(function f(){m(this,f)});
-var c=function(a){function b(){m(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);return b}(g);c.RPC_ID="render/TileChunkSource";var b=function(a){function b(){m(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);return b}(g);b.RPC_ID="render/PointMatchSource"},function(g,e,a){Object.defineProperty(e,"__esModule",{value:!0});g=a(37);var p=a(137);Object(g.b)("render",function(){return new p.RenderDataSource})},function(g,
-e,a){Object.defineProperty(e,"__esModule",{value:!0});var p=a(139);g=a(37);Object(g.b)("openconnectome",function(){return new p.OpenConnectomeDataSource})},function(g,e,a){function p(a,c){if(!(a instanceof c))throw new TypeError("Cannot call a class as a function");}a.d(e,"b",function(){return n});a.d(e,"c",function(){return m});a.d(e,"a",function(){return c});var n;(function(a){a[a.RAW=0]="RAW";a[a.JPEG=1]="JPEG";a[a.COMPRESSED_SEGMENTATION=2]="COMPRESSED_SEGMENTATION"})(n||(n={}));var m=function d(){p(this,
-d)};m.RPC_ID="precomputed/VolumeChunkSource";var c=function f(){p(this,f)};c.RPC_ID="precomputed/MeshSource"},function(g,e,a){Object.defineProperty(e,"__esModule",{value:!0});var p=a(140);g=a(37);Object(g.b)("precomputed",function(){return new p.PrecomputedDataSource})},function(g,e,a){a.d(e,"b",function(){return n});e.a="nifti/getNiftiVolumeInfo";var p;(function(a){a[a.NONE=0]="NONE";a[a.BINARY=1]="BINARY";a[a.UINT8=2]="UINT8";a[a.INT16=4]="INT16";a[a.INT32=8]="INT32";a[a.FLOAT32=16]="FLOAT32";a[a.COMPLEX64=
-32]="COMPLEX64";a[a.FLOAT64=64]="FLOAT64";a[a.RGB24=128]="RGB24";a[a.INT8=256]="INT8";a[a.UINT16=512]="UINT16";a[a.UINT32=768]="UINT32";a[a.INT64=1024]="INT64";a[a.UINT64=1280]="UINT64";a[a.FLOAT128=1536]="FLOAT128";a[a.COMPLEX128=1792]="COMPLEX128";a[a.COMPLEX256=2048]="COMPLEX256"})(p||(p={}));var n=function c(){if(!(this instanceof c))throw new TypeError("Cannot call a class as a function");};n.RPC_ID="nifti/VolumeChunkSource"},function(g,e,a){Object.defineProperty(e,"__esModule",{value:!0});var p=
-a(141);g=a(37);Object(g.b)("nifti",function(){return new p.NiftiDataSource})},function(g,e){},function(g,e){},function(g,e){},function(g,e){},function(g,e,a){(function(a){function e(b,c){function d(b){if(!f.parentNode)return a.off(document,"mousemove",d);f.style.top=Math.max(0,b.clientY-f.offsetHeight-5)+"px";f.style.left=b.clientX+5+"px"}var f=document.createElement("div");f.className="CodeMirror-lint-tooltip";f.appendChild(c.cloneNode(!0));document.body.appendChild(f);a.on(document,"mousemove",
-d);d(b);null!=f.style.opacity&&(f.style.opacity=1);return f}function g(a){a.parentNode&&(null==a.style.opacity&&a.parentNode&&a.parentNode.removeChild(a),a.style.opacity=0,setTimeout(function(){a.parentNode&&a.parentNode.removeChild(a)},600))}function c(b,c,d){function f(){a.off(d,"mouseout",f);h&&(g(h),h=null)}var h=e(b,c),k=setInterval(function(){if(h)for(var a=d;;a=a.parentNode){a&&11==a.nodeType&&(a=a.host);if(a==document.body)return;if(!a){f();break}}if(!h)return clearInterval(k)},400);a.on(d,
-"mouseout",f)}function b(a,b,d){this.marked=[];this.options=b;this.timeout=null;this.hasGutter=d;this.onMouseOver=function(b){var d=b.target||b.srcElement;if(/\bCodeMirror-lint-mark-/.test(d.className)){d=d.getBoundingClientRect();var f=a.findMarksAt(a.coordsChar({left:(d.left+d.right)/2,top:(d.top+d.bottom)/2},"client"));d=[];for(var e=0;e<f.length;++e){var g=f[e].__annotation;g&&d.push(g)}if(d.length){f=b.target||b.srcElement;e=document.createDocumentFragment();for(g=0;g<d.length;g++)e.appendChild(h(d[g]));
-c(b,e,f)}}};this.waitingFor=0}function d(a){var b=a.state.lint;b.hasGutter&&a.clearGutter("CodeMirror-lint-markers");for(a=0;a<b.marked.length;++a)b.marked[a].clear();b.marked.length=0}function f(b,d,f,e){var h=document.createElement("div"),g=h;h.className="CodeMirror-lint-marker-"+d;f&&(g=h.appendChild(document.createElement("div")),g.className="CodeMirror-lint-marker-multiple");if(0!=e)a.on(g,"mouseover",function(a){c(a,b,g)});return h}function h(a){var b=a.severity;b||(b="error");var c=document.createElement("div");
-c.className="CodeMirror-lint-message-"+b;"undefined"!=typeof a.messageHTML?c.innerHTML=a.messageHTML:c.appendChild(document.createTextNode(a.message));return c}function q(b,c,d){function f(){h=-1;b.off("change",f)}var e=b.state.lint,h=++e.waitingFor;b.on("change",f);c(b.getValue(),function(c,d){b.off("change",f);e.waitingFor==h&&(d&&c instanceof a&&(c=d),b.operation(function(){p(b,c)}))},d,b)}function k(b){var c=b.state.lint.options,d=c.options||c,f=c.getAnnotations||b.getHelper(a.Pos(0,0),"lint");
-if(f)if(c.async||f.async)q(b,f,d);else{var e=f(b.getValue(),d,b);e&&(e.then?e.then(function(a){b.operation(function(){p(b,a)})}):b.operation(function(){p(b,e)}))}}function p(a,b){d(a);for(var c=a.state.lint,e=c.options,g=[],k=0;k<b.length;++k){var l=b[k],q=l.from.line;(g[q]||(g[q]=[])).push(l)}for(k=0;k<g.length;++k)if(l=g[k]){q=null;for(var m=c.hasGutter&&document.createDocumentFragment(),r=0;r<l.length;++r){var n=l[r],p=n.severity;p||(p="error");"error"!=q&&(q=p);e.formatAnnotation&&(n=e.formatAnnotation(n));
-c.hasGutter&&m.appendChild(h(n));n.to&&c.marked.push(a.markText(n.from,n.to,{className:"CodeMirror-lint-mark-"+p,__annotation:n}))}c.hasGutter&&a.setGutterMarker(k,"CodeMirror-lint-markers",f(m,q,1<l.length,c.options.tooltips))}if(e.onUpdateLinting)e.onUpdateLinting(b,g,a)}function r(a){var b=a.state.lint;b&&(clearTimeout(b.timeout),b.timeout=setTimeout(function(){k(a)},b.options.delay||500))}a.defineOption("lint",!1,function(c,f,e){e&&e!=a.Init&&(d(c),!1!==c.state.lint.options.lintOnChange&&c.off("change",
-r),a.off(c.getWrapperElement(),"mouseover",c.state.lint.onMouseOver),clearTimeout(c.state.lint.timeout),delete c.state.lint);if(f){var h=c.getOption("gutters");e=!1;for(var g=0;g<h.length;++g)"CodeMirror-lint-markers"==h[g]&&(e=!0);h=c.state;f instanceof Function?f={getAnnotations:f}:f&&!0!==f||(f={});e=h.lint=new b(c,f,e);if(!1!==e.options.lintOnChange)c.on("change",r);if(0!=e.options.tooltips&&"gutter"!=e.options.tooltips)a.on(c.getWrapperElement(),"mouseover",e.onMouseOver);k(c)}});a.defineExtension("performLint",
-function(){this.state.lint&&k(this)})})(a(145))},function(g,e){},function(g,e){},function(g,e){},function(g,e){g.exports=function(a){function e(a){var b={};a=a.split(" ");for(var c=0;c<a.length;++c)b[a[c]]=!0;return b}a.defineMode("glsl",function(a,b){function c(a,b){var c=a.next();if(z[c]){var d=z[c](a,b);if(!1!==d)return d}if('"'==c||"'"==c)return b.tokenize=f(c),b.tokenize(a,b);if(/[\[\]{}\(\),;\:\.]/.test(c))return v=c,"bracket";if(/\d/.test(c))return a.eatWhile(/[\w\.]/),"number";if("/"==c){if(a.eat("*"))return b.tokenize=
-h,h(a,b);if(a.eat("/"))return a.skipToEnd(),"comment"}if("#"==c)return a.eatWhile(/[\S]+/),a.eatWhile(/[\s]+/),a.eatWhile(/[\S]+/),a.eatWhile(/[\s]+/),"comment";if(x.test(c))return a.eatWhile(x),"operator";a.eatWhile(/[\w\$_]/);a=a.current();return l.propertyIsEnumerable(a)?(A.propertyIsEnumerable(a)&&(v="newstatement"),"keyword"):p.propertyIsEnumerable(a)?"builtin":y.propertyIsEnumerable(a)?"atom":"word"}function f(a){return function(b,d){for(var f=!1,e,h=!1;null!=(e=b.next());){if(e==a&&!f){h=!0;
-break}f=!f&&"\\"==e}if(h||!f&&!B)d.tokenize=c;return"string"}}function h(a,b){for(var d=!1,f;f=a.next();){if("/"==f&&d){b.tokenize=c;break}d="*"==f}return"comment"}function q(a,b,c,d,f){this.indented=a;this.column=b;this.type=c;this.align=d;this.prev=f}function k(a,b,c){return a.context=new q(a.indented,b,c,null,a.context)}function n(a){var b=a.context.type;if(")"==b||"]"==b||"}"==b)a.indented=a.context.indented;return a.context=a.context.prev}var r=a.indentUnit,l=b.keywords||e(g),p=b.builtins||e(m),
-A=b.blockKeywords||e("case do else for if switch while struct"),y=b.atoms||e("null"),z=b.hooks||{},B=b.multiLineStrings,x=/[+\-*&%=<>!?|\/]/,v;return{startState:function(a){return{tokenize:null,context:new q((a||0)-r,0,"top",!1),indented:0,startOfLine:!0}},token:function(a,b){var d=b.context;a.sol()&&(null==d.align&&(d.align=!1),b.indented=a.indentation(),b.startOfLine=!0);if(a.eatSpace())return null;v=null;var f=(b.tokenize||c)(a,b);if("comment"==f||"meta"==f)return f;null==d.align&&(d.align=!0);
-if(";"!=v&&":"!=v||"statement"!=d.type)if("{"==v)k(b,a.column(),"}");else if("["==v)k(b,a.column(),"]");else if("("==v)k(b,a.column(),")");else if("}"==v){for(;"statement"==d.type;)d=n(b);for("}"==d.type&&(d=n(b));"statement"==d.type;)d=n(b)}else v==d.type?n(b):("}"==d.type||"top"==d.type||"statement"==d.type&&"newstatement"==v)&&k(b,a.column(),"statement");else n(b);b.startOfLine=!1;return f},indent:function(a,b){if(a.tokenize!=c&&null!=a.tokenize)return 0;b=b&&b.charAt(0);a=a.context;var d=b==a.type;
-return"statement"==a.type?a.indented+("{"==b?0:r):a.align?a.column+(d?0:1):a.indented+(d?0:r)},electricChars:"{}"}});var g="attribute const uniform varying break continue do for while if else in out inout float int void bool true false lowp mediump highp precision invariant discard return mat2 mat3 mat4 vec2 vec3 vec4 ivec2 ivec3 ivec4 bvec2 bvec3 bvec4 sampler2D samplerCube struct gl_FragCoord gl_FragColor",m="radians degrees sin cos tan asin acos atan pow exp log exp2 log2 sqrt inversesqrt abs sign floor ceil fract mod min max clamp mix step smoothstep length distance dot cross normalize faceforward reflect refract matrixCompMult lessThan lessThanEqual greaterThan greaterThanEqual equal notEqual any all not dFdx dFdy fwidth texture2D texture2DProj texture2DLod texture2DProjLod textureCube textureCubeLod require export";
-a.defineMIME("text/x-glsl",{name:"glsl",keywords:e(g),builtins:e(m),blockKeywords:e("case do else for if switch while struct"),atoms:e("null"),hooks:{"#":function(a,b){if(!b.startOfLine)return!1;a.skipToEnd();return"meta"}}})}},function(g,e,a){function p(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function n(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:
-b}function m(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a,b,c,d){d=void 0===d?{}:d;return f.a.forPromise(new Promise(function(f){f(a.getVectorGraphicsSource(b,c,d))}),{initialMessage:"Retrieving metadata for vector graphics source "+
-c+".",delay:!0,errorPrefix:"Error retrieving metadata for vector graphics source "+c+": "})}Object.defineProperty(e,"__esModule",{value:!0});a.d(e,"VectorGraphicsUserLayer",function(){return y});g=a(21);e=a(20);var b=a(92),d=a(257),f=a(40),h=a(52),q=a(148),k=a(149),t=a(3),r=a(6),l=a(95),u=a(258),A=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&
-a(b.prototype,c);d&&a(b,d);return b}}();a(146);a(97);a(147);var y=function(a){function f(a,e){p(this,f);var g=n(this,(f.__proto__||Object.getPrototypeOf(f)).call(this));g.opacity=Object(h.a)(.5);g.lineWidth=Object(q.a)(10);g.color=Object(k.a)(t.p.fromValues(1,1,1));g.opacity.restoreState(e.opacity);g.lineWidth.restoreState(e.linewidth);g.color.restoreState(e.color);g.lineWidth.changed.add(function(){g.specificationChanged.dispatch()});g.color.changed.add(function(){g.specificationChanged.dispatch()});
-g.vectorGraphicsLayerType=Object(r.n)(e.type,b.c);e=g.vectorGraphicsPath=Object(r.z)(e.source);void 0!==e&&g.vectorGraphicsLayerType===b.c.LINE&&c(a.dataSourceProvider,a.chunkManager,e).then(function(a){g.wasDisposed||(a=g.renderLayer=new d.a(a,{opacity:g.opacity,lineWidth:g.lineWidth,color:g.color,sourceOptions:{}}),g.addRenderLayer(a))});return g}m(f,a);A(f,[{key:"toJSON",value:function(){var a={type:this.getLayerType()};a.source=this.vectorGraphicsPath;a.opacity=this.opacity.toJSON();a.linewidth=
-this.lineWidth.toJSON();a.color=this.color.toJSON();return a}},{key:"getLayerType",value:function(){return b.c[this.vectorGraphicsLayerType].toLowerCase()}},{key:"makeDropdown",value:function(a){return new z(a,this)}}]);return f}(g.f),z=function(a){function b(a,c){p(this,b);var d=n(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));d.element=a;d.layer=c;d.opacityWidget=d.registerDisposer(new l.a(d.layer.opacity));d.lineWidthWidget=d.registerDisposer(new l.a(d.layer.lineWidth,{min:0,max:50,step:1}));
-d.colorWidget=d.registerDisposer(new B(d.layer.color));a.classList.add("image-dropdown");var f=d.opacityWidget,e=d.lineWidthWidget,h=d.colorWidget;c=document.createElement("div");c.className="image-dropdown-top-row";f.promptElement.textContent="Opacity";e.promptElement.textContent="Line Width";h.promptElement.textContent="Color";f=document.createElement("div");f.style.flex="1";e=document.createElement("a");h=document.createElement("button");h.type="button";h.textContent="?";h.className="help-link";
-e.appendChild(h);e.title="Documentation on vector graphics layer rendering";e.target="_blank";e.href="https://github.com/google/neuroglancer/blob/master/src/neuroglancer/sliceview/vectorgraphics_layer_rendering.md";c.appendChild(f);c.appendChild(e);a.appendChild(c);a.appendChild(d.opacityWidget.element);a.appendChild(d.lineWidthWidget.element);a.appendChild(d.colorWidget.element);return d}m(b,a);return b}(g.g),B=function(a){function b(a){p(this,b);return n(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,
-a))}m(b,a);A(b,[{key:"verifyValue",value:function(a){a=Object(r.o)(a);a/=255;return 0>a?0:1<a?1:a}},{key:"updateInput",value:function(){this.inputx.valueAsNumber=Math.round(255*this.model.value[0]);this.inputy.valueAsNumber=Math.round(255*this.model.value[1]);this.inputz.valueAsNumber=Math.round(255*this.model.value[2])}}]);return b}(u.a);Object(e.e)("line",y)},function(g,e,a){function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==
-typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(e,"a",function(){return l});var m=a(25);g=a(138);var c=a(52),b=a(148),d=a(149),f=a(3),h=a(30),q=a(35),k=function(){function a(a,b){for(var c=0;c<
-b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),t=function A(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return A(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},r=f.j.create(),l=function(a){function e(a,g){var k=void 0===
-g?{}:g;g=void 0===k.opacity?Object(c.a)(.5):k.opacity;var l=void 0===k.lineWidth?Object(b.a)(10):k.lineWidth,q=void 0===k.color?Object(d.a)(f.p.fromValues(255,255,255)):k.color;k=void 0===k.sourceOptions?{}:k.sourceOptions;if(!(this instanceof e))throw new TypeError("Cannot call a class as a function");var m=p(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,a,{sourceOptions:k}));m.opacity=g;m.registerDisposer(g.changed.add(function(){m.redrawNeeded.dispatch()}));m.lineWidth=l;m.registerDisposer(l.changed.add(function(){m.redrawNeeded.dispatch()}));
-m.color=q;m.registerDisposer(q.changed.add(function(){m.redrawNeeded.dispatch()}));a=m.gl;g=new Float32Array([1,0,0,1,1,0,0,1]);m.vertexIndexBuffer=h.a.fromData(a,g,a.ARRAY_BUFFER,a.STATIC_DRAW);g=new Float32Array([1,1,-1,-1]);m.normalDirectionBuffer=h.a.fromData(a,g,a.ARRAY_BUFFER,a.STATIC_DRAW);return m}n(e,a);k(e,[{key:"getShaderKey",value:function(){return"vectorgraphics.VectorGraphicsLineRenderLayer"}},{key:"defineShader",value:function(a){t(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),
-"defineShader",this).call(this,a);a.addUniform("highp float","uOpacity");a.addUniform("highp float","ulineWidth");a.addUniform("highp vec3","uColor");a.addVarying("vec3","vNormal");a.addAttribute("highp float","aNormalDirection");a.addAttribute("highp vec2","aVertexIndex");a.addAttribute("highp vec3","aVertexFirst");a.addAttribute("highp vec3","aVertexSecond");a.addUniform("highp mat4","uProjection");a.setFragmentMain("    \nfloat distance = length(vNormal);\n\nfloat antialiasing = 0.5;\n\nif (distance >= 1.0 - antialiasing) {\n  emitRGBA(vec4(uColor, (distance - 1.0) / -antialiasing )); \n}\nelse if (distance < 1.0 - antialiasing) {\n  emitRGB(uColor);\n}\n");
-a.setVertexMain("\nvec3 direction = vec3(0., 0., 0.); \ndirection.z = aNormalDirection;\n\nvec3 difference = aVertexSecond - aVertexFirst;\ndifference.z = 0.; \n\nvec3 normal = cross(difference, direction);\nnormal = normalize(normal); \nvNormal = normal; \n\nvec4 delta = vec4(normal * ulineWidth, 0.0);\nvec4 pos = vec4(aVertexFirst * aVertexIndex.x + aVertexSecond * aVertexIndex.y, 1.0);\n\ngl_Position = uProjection * (pos + delta);\n")}},{key:"beginSlice",value:function(a){t(e.prototype.__proto__||
-Object.getPrototypeOf(e.prototype),"beginSlice",this).call(this,a);a=this.gl;var b=this.shader;a.uniform1f(b.uniform("uOpacity"),this.opacity.value);a.uniform1f(b.uniform("ulineWidth"),this.lineWidth.value);a.uniform3fv(b.uniform("uColor"),this.color.value);this.vertexIndexBuffer.bindToVertexAttrib(b.attribute("aVertexIndex"),2);this.normalDirectionBuffer.bindToVertexAttrib(b.attribute("aNormalDirection"),1);return b}},{key:"endSlice",value:function(a){var b=this.gl;b.disableVertexAttribArray(a.attribute("aVertexIndex"));
-b.disableVertexAttribArray(a.attribute("aNormalDirection"));b.disableVertexAttribArray(a.attribute("aVertexFirst"));b.disableVertexAttribArray(a.attribute("aVertexSecond"))}},{key:"draw",value:function(a){var b=a.visibleLayers.get(this);if(0!==b.length)if(this.initializeShader(),void 0===this.shader)console.log("error: shader undefined");else{var c=this.gl,d=this.beginSlice(a);b=$jscomp.makeIterator(b);for(var e=b.next();!e.done;e=b.next()){var h=e.value,g=h.spec.chunkLayout,k=h.spec.voxelSize;e=
-h.chunks;var l=r;f.j.identity(l);h.vectorGraphicsCoordinatesInVoxels&&f.j.scale(l,l,k);f.j.multiply(l,g.transform,l);c.uniformMatrix4fv(d.uniform("uProjection"),!1,f.j.multiply(r,a.dataToDevice,l));if(h=a.visibleChunks.get(g))for(h=$jscomp.makeIterator(h),g=h.next();!g.done;g=h.next())if((g=e.get(g.value))&&g.state===m.d.GPU_MEMORY){k=g.numPoints/2;l=d.attribute("aVertexFirst");g.vertexBuffer.bindToVertexAttrib(l,3,q.c,!1,24,0);c.ANGLE_instanced_arrays.vertexAttribDivisorANGLE(l,1);var n=d.attribute("aVertexSecond");
-g.vertexBuffer.bindToVertexAttrib(n,3,q.c,!1,24,12);c.ANGLE_instanced_arrays.vertexAttribDivisorANGLE(n,1);c.ANGLE_instanced_arrays.drawArraysInstancedANGLE(c.TRIANGLE_STRIP,0,4,k);c.ANGLE_instanced_arrays.vertexAttribDivisorANGLE(l,0);c.ANGLE_instanced_arrays.vertexAttribDivisorANGLE(n,0)}}this.endSlice(d)}}}]);return e}(g.a)},function(g,e,a){function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?
-a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(e,"a",function(){return h});g=a(1);var m=a(3),c=a(6),b=a(7),d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in
-d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),f=function k(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return k(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};a(259);var h=function(a){function e(a){if(!(this instanceof e))throw new TypeError("Cannot call a class as a function");var c=p(this,(e.__proto__||
-Object.getPrototypeOf(e)).call(this));c.model=a;c.promptElement=document.createElement("span");c.element=document.createElement("label");c.inputx=document.createElement("input");c.inputy=document.createElement("input");c.inputz=document.createElement("input");c.valueEntered=new b.b;a=c.inputx;var d=c.inputy,f=c.inputz,h=c.element,g=c.promptElement;h.className="vec3-input-row";g.className="vec3-input-label";h.appendChild(g);h.appendChild(a);h.appendChild(d);h.appendChild(f);a.type=d.type=f.type="number";
-c.updateInput();h=function(){c.model.value=c.getVec3Values()};c.registerEventListener(a,"change",h);c.registerEventListener(d,"change",h);c.registerEventListener(f,"change",h);c.model.changed.add(function(){c.updateInput()});return c}n(e,a);d(e,[{key:"getVec3Values",value:function(){var a=m.p.create();a[0]=this.verifyValue(this.inputx.valueAsNumber);a[1]=this.verifyValue(this.inputy.valueAsNumber);a[2]=this.verifyValue(this.inputz.valueAsNumber);return a}},{key:"verifyValue",value:function(a){return Object(c.o)(a)}},
-{key:"updateInput",value:function(){this.inputx.valueAsNumber=this.model.value[0];this.inputy.valueAsNumber=this.model.value[1];this.inputz.valueAsNumber=this.model.value[2]}},{key:"disposed",value:function(){var a=this.inputx,b=this.inputy,c=this.inputz,d=this.element;a.parentElement&&a.parentElement.removeChild(a);b.parentElement&&b.parentElement.removeChild(b);c.parentElement&&c.parentElement.removeChild(c);d.parentElement&&d.parentElement.removeChild(d);f(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),
-"disposed",this).call(this)}}]);return e}(g.a)},function(g,e){},function(g,e,a){e.a=function(a,e,g,c){e*=6;var b=Math.floor(e),d=e-b;e=c*(1-g);var f=c*(1-g*d);g=c*(1-g*(1-d));switch(b%6){case 0:a[0]=c;a[1]=g;a[2]=e;break;case 1:a[0]=f;a[1]=c;a[2]=e;break;case 2:a[0]=e;a[1]=c;a[2]=g;break;case 3:a[0]=e;a[1]=f;a[2]=c;break;case 4:a[0]=g;a[1]=e;a[2]=c;break;case 5:a[0]=c,a[1]=e,a[2]=f}return a}},function(g,e,a){function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+
-typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(e,"a",function(){return h});var n=a(262),m=a(6),c=a(7),b=a(16);g=a(15);var d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),
-f=function r(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return r(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};e=this&&this.__decorate||function(a,b,c,d){var f=arguments.length,e=3>f?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d,h;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)e=Reflect.decorate(a,b,c,d);else for(var g=a.length-1;0<=g;g--)if(h=
-a[g])e=(3>f?h(e):3<f?h(b,c,e):h(b,c))||e;return 3<f&&e&&Object.defineProperty(b,c,e),e};var h=function(a){function e(){if(!(this instanceof e))throw new TypeError("Cannot call a class as a function");var a=(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");a=!a||"object"!==typeof a&&"function"!==typeof a?this:a;a.disjointSets=new n.a;a.changed=new c.a;return a}p(e,a);d(e,[{key:"disposed",value:function(){this.changed=
-this.disjointSets=void 0;f(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"disposed",this).call(this)}},{key:"link",value:function(a,b){if(this.disjointSets.link(a,b)){var c=this.rpc;c&&c.invoke("DisjointUint64Sets.add",{id:this.rpcId,al:a.low,ah:a.high,bl:b.low,bh:b.high});this.changed.dispatch()}}},{key:"get",value:function(a){return this.disjointSets.get(a)}},{key:"clear",value:function(){if(this.disjointSets.clear()){var a=this.rpc;a&&a.invoke("DisjointUint64Sets.clear",{id:this.rpcId});
-this.changed.dispatch()}}},{key:"setElements",value:function(a){return this.disjointSets.setElements(a)}},{key:"toJSON",value:function(){return this.disjointSets.toJSON()}},{key:"restoreState",value:function(a){var c=this;this.clear();if(void 0!==a){var d=[new b.a,new b.a];Object(m.a)(a,function(a){Object(m.a)(a,function(a,b){d[b%2].parseString(String(a),10);0!==b&&c.link(d[0],d[1])})})}}},{key:"size",get:function(){return this.disjointSets.size}}],[{key:"makeWithCounterpart",value:function(a){var b=
-new this;b.initializeCounterpart(a);return b}}]);return e}(g.c);h=e([Object(g.f)("DisjointUint64Sets")],h);var q=new b.a,k=new b.a;Object(g.e)("DisjointUint64Sets.add",function(a){var b=this.get(a.id);q.low=a.al;q.high=a.ah;k.low=a.bl;k.high=a.bh;b.disjointSets.link(q,k)&&b.changed.dispatch()});Object(g.e)("DisjointUint64Sets.clear",function(a){a=this.get(a.id);a.disjointSets.clear()&&a.changed.dispatch()})},function(g,e,a){function p(a){for(var b=a,c=a[d];c!==a;)a=c,c=a[d];for(a=b[d];c!==a;)b[d]=
-c,b=a,a=b[d];return c}function n(a){function b(b,h){for(;;)switch(c){case 0:e=!0,d=a;case 1:if(!e&&d===a){c=3;break}c=4;return{value:d,done:!1};case 4:if(void 0===h){c=5;break}c=-1;throw h;case 5:d=d[f];case 2:e=!1;c=1;break;case 3:c=-1;default:return{value:void 0,done:!0}}}var c=0,d,e,h={next:function(a){return b(a,void 0)},throw:function(a){return b(void 0,a)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();h[Symbol.iterator]=function(){return this};return h}
-a.d(e,"a",function(){return k});var m=a(16),c=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();$jscomp.initSymbol();var b=Symbol("disjoint_sets:rank");$jscomp.initSymbol();var d=Symbol("disjoint_sets:parent");$jscomp.initSymbol();var f=Symbol("disjoint_sets:next");$jscomp.initSymbol();var h=Symbol("disjoint_sets:prev");
-$jscomp.initSymbol();var q=Symbol("disjoint_sets:min"),k=function(){function a(){if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");this.map=new Map;this.generation=0}$jscomp.initSymbol();$jscomp.initSymbolIterator();c(a,[{key:"get",value:function(a){var b=this.map.get(a.toString());return void 0===b?a:p(b)[q]}},{key:"isMinElement",value:function(a){var b=this.get(a);return b===a||m.a.equal(b,a)}},{key:"makeSet",value:function(a){var c=a.toString(),e=this.map,g=e.get(c);
-return void 0===g?(a=g=a.clone(),a[d]=a,a[b]=0,a[f]=a[h]=a,g[q]=g,e.set(c,g),g):p(g)}},{key:"link",value:function(a,c){a=this.makeSet(a);c=this.makeSet(c);if(a===c)return!1;this.generation++;var e=a;var g=c,k=e[b],l=g[b];k>l?g[d]=e:(e[d]=g,k===l&&(g[b]=l+1),e=g);g=a;k=c;l=g[h];var n=k[h];k[h]=l;l[f]=k;g[h]=n;n[f]=g;a=a[q];c=c[q];e[q]=m.a.less(a,c)?a:c;return!0}},{key:"setElements",value:function(a){function b(b,k){for(;;)switch(c){case 0:h=a.toString();e=g.map.get(h);if(void 0!==e){c=1;break}c=3;
-return{value:a,done:!1};case 3:if(void 0===k){c=4;break}c=-1;throw k;case 4:c=2;break;case 1:f=$jscomp.makeIterator(n(e));case 5:if((d=f.next(b)).done){c=6;break}c=7;return{value:d.value,done:!1};case 7:if(void 0===k){c=8;break}c=-1;throw k;case 8:c=5;break;case 6:case 2:c=-1;default:return{value:void 0,done:!0}}}var c=0,d,f,e,h,g=this,k={next:function(a){return b(a,void 0)},throw:function(a){return b(void 0,a)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();
-k[Symbol.iterator]=function(){return this};return k}},{key:"clear",value:function(){var a=this.map;if(0===a.size)return!1;++this.generation;a.clear();return!0}},{key:"mappings",value:function(a){function b(b,g){for(;;)switch(c){case 0:a=void 0===a?Array(2):a,e=$jscomp.makeIterator(h.map.values()),f=e.next();case 1:if(f.done){c=3;break}d=f.value;a[0]=d;a[1]=p(d)[q];c=4;return{value:a,done:!1};case 4:if(void 0===g){c=5;break}c=-1;throw g;case 5:case 2:f=e.next();c=1;break;case 3:c=-1;default:return{value:void 0,
-done:!0}}}var c=0,d,f,e,h=this,g={next:function(a){return b(a,void 0)},throw:function(a){return b(void 0,a)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();g[Symbol.iterator]=function(){return this};return g}},{key:Symbol.iterator,value:function(){return this.mappings()}},{key:"toJSON",value:function(){for(var a=[],b=$jscomp.makeIterator(this.map.values()),c=b.next();!c.done;c=b.next()){var f=c.value;if(f[d]===f){c=[];f=$jscomp.makeIterator(n(f));for(var e=f.next();!e.done;e=
-f.next())c.push(e.value);c.sort(m.a.compare);a.push(c)}}a.sort(function(a,b){return m.a.compare(a[0],b[0])});return a.map(function(a){return a.map(function(a){return a.toString()})})}},{key:"size",get:function(){return this.map.size}}]);return a}()},function(g,e,a){function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});
-b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(e,"a",function(){return d});var n=a(53),m=a(7);g=a(15);var c=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),b=function q(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),
-null!==a)return q(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};e=this&&this.__decorate||function(a,b,c,d){var f=arguments.length,e=3>f?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d,g;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)e=Reflect.decorate(a,b,c,d);else for(var k=a.length-1;0<=k;k--)if(g=a[k])e=(3>f?g(e):3<f?g(b,c,e):g(b,c))||e;return 3<f&&e&&Object.defineProperty(b,c,e),e};var d=f=function(a){function d(){if(!(this instanceof
-d))throw new TypeError("Cannot call a class as a function");var a=(d.__proto__||Object.getPrototypeOf(d)).apply(this,arguments);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");a=!a||"object"!==typeof a&&"function"!==typeof a?this:a;a.hashTable=new n.b;a.changed=new m.b;return a}p(d,a);$jscomp.initSymbol();$jscomp.initSymbolIterator();c(d,[{key:"disposed",value:function(){b(d.prototype.__proto__||Object.getPrototypeOf(d.prototype),"disposed",this).call(this);
-this.changed=this.hashTable=void 0}},{key:"add_",value:function(a){return this.hashTable.add(a)}},{key:"add",value:function(a){if(this.add_(a)){var b=this.rpc;b&&b.invoke("Uint64Set.add",{id:this.rpcId,value:a});this.changed.dispatch(a,!0)}}},{key:"has",value:function(a){return this.hashTable.has(a)}},{key:Symbol.iterator,value:function(){return this.hashTable.keys()}},{key:"delete_",value:function(a){return this.hashTable.delete(a)}},{key:"delete",value:function(a){if(this.delete_(a)){var b=this.rpc;
-b&&b.invoke("Uint64Set.delete",{id:this.rpcId,value:a});this.changed.dispatch(a,!1)}}},{key:"clear",value:function(){if(this.hashTable.clear()){var a=this.rpc;a&&a.invoke("Uint64Set.clear",{id:this.rpcId});this.changed.dispatch(null,!1)}}},{key:"toJSON",value:function(){for(var a=[],b=$jscomp.makeIterator(this),c=b.next();!c.done;c=b.next())a.push(c.value.toString());a.sort();return a}},{key:"size",get:function(){return this.hashTable.size}}],[{key:"makeWithCounterpart",value:function(a){var b=new f;
-b.initializeCounterpart(a);return b}}]);return d}(g.c);d=f=e([Object(g.f)("Uint64Set")],d);Object(g.e)("Uint64Set.add",function(a){var b=this.get(a.id);b.add_(a.value)&&b.changed.dispatch()});Object(g.e)("Uint64Set.delete",function(a){var b=this.get(a.id);b.delete_(a.value)&&b.changed.dispatch()});Object(g.e)("Uint64Set.clear",function(a){a=this.get(a.id);a.hashTable.clear()&&a.changed.dispatch()});var f},function(g,e,a){function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
-return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(e,"a",function(){return d});g=a(1);e=a(16);var m=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=
-d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),c=function h(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return h(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};a(36);a(265);var b=new e.a,d=function(a){function d(a){if(!(this instanceof d))throw new TypeError("Cannot call a class as a function");
-var b=p(this,(d.__proto__||Object.getPrototypeOf(d)).call(this));b.displayState=a;b.element=document.createElement("div");b.clearButton=document.createElement("button");b.itemContainer=document.createElement("span");b.items=new Map;var c=b.element,e=b.clearButton,h=b.itemContainer;c.className="segment-set-widget neuroglancer-noselect";e.className="clear-button";e.title="Remove all segment IDs";b.registerEventListener(e,"click",function(){b.visibleSegments.clear()});h.className="item-container";c.appendChild(h);
-h.appendChild(e);b.registerDisposer(a.visibleSegments.changed.add(function(a,c){b.handleSetChanged(a,c)}));b.registerDisposer(a.segmentColorHash.changed.add(function(){b.handleColorChanged()}));a=$jscomp.makeIterator(a.visibleSegments);for(c=a.next();!c.done;c=a.next())b.addElement(c.value.toString());b.updateClearButtonVisibility();return b}n(d,a);m(d,[{key:"updateClearButtonVisibility",value:function(){this.clearButton.style.display=0<this.displayState.visibleSegments.size?"":"none"}},{key:"handleSetChanged",
-value:function(a,b){this.updateClearButtonVisibility();var c=this.items;if(null===a){a=this.itemContainer;for(b=this.clearButton;;){var d=a.lastElementChild;if(d===b)break;a.removeChild(d)}c.clear()}else b?this.addElement(a.toString()):(a=a.toString(),b=c.get(a),b.parentElement.removeChild(b),c.delete(a))}},{key:"addElement",value:function(a){var c=document.createElement("button");c.className="segment-button";c.textContent=a;c.title="Remove segment ID "+a;var d=this;c.addEventListener("click",function(){b.tryParseString(this.textContent);
-d.visibleSegments.delete(b)});c.addEventListener("mouseenter",function(){b.tryParseString(this.textContent);d.segmentSelectionState.set(b)});c.addEventListener("mouseleave",function(){b.tryParseString(this.textContent);d.segmentSelectionState.set(null)});this.setItemColor(c);this.itemContainer.appendChild(c);this.items.set(a,c)}},{key:"setItemColor",value:function(a){b.tryParseString(a.textContent);a.style.backgroundColor=this.segmentColorHash.computeCssColor(b)}},{key:"handleColorChanged",value:function(){var a=
-this;this.items.forEach(function(b){a.setItemColor(b)})}},{key:"disposed",value:function(){var a=this.element,b=a.parentElement;b&&b.removeChild(a);c(d.prototype.__proto__||Object.getPrototypeOf(d.prototype),"disposed",this).call(this)}},{key:"visibleSegments",get:function(){return this.displayState.visibleSegments}},{key:"segmentColorHash",get:function(){return this.displayState.segmentColorHash}},{key:"segmentSelectionState",get:function(){return this.displayState.segmentSelectionState}}]);return d}(g.a)},
-function(g,e){},function(g,e,a){function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=
-b)}a.d(e,"a",function(){return h});g=a(1);var m=a(9),c=a(7),b=a(16),d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),f=function k(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return k(a,b,c)}else{if("value"in d)return d.value;
-b=d.get;return void 0===b?void 0:b.call(c)}};a(36);a(267);var h=function(a){function e(){if(!(this instanceof e))throw new TypeError("Cannot call a class as a function");var a=p(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));a.element=document.createElement("form");a.label=document.createElement("label");a.input=document.createElement("input");a.valuesEntered=new c.b;var b=a.element,d=a.label,f=a.input;b.className="uint64-entry neuroglancer-noselect";b.appendChild(d);d.appendChild(f);a.registerEventListener(b,
-"submit",function(b){b.preventDefault();b=a.validateInput();void 0!==b&&(a.input.value="",a.input.classList.remove("valid-input","invalid-input"),a.valuesEntered.dispatch(b))});a.registerEventListener(b,"input",function(){""===a.input.value?a.input.classList.remove("valid-input","invalid-input"):a.validateInput()?a.input.classList.remove("invalid-input"):a.input.classList.add("invalid-input")});return a}n(e,a);d(e,[{key:"validateInput",value:function(){var a=this.input.value;a=a.replace(/[\s,\(\)\[\]\{\};]+/g,
-" ");a=a.trim();var c=a.split(" ");if(0!==c.length){a=[];c=$jscomp.makeIterator(c);for(var d=c.next();!d.done;d=c.next()){d=d.value;var f=new b.a;if(!f.tryParseString(d))return;a.push(f)}return a}}},{key:"disposed",value:function(){Object(m.b)(this.element);f(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"disposed",this).call(this)}}]);return e}(g.a)},function(g,e){},function(g,e){},function(g,e){},function(g,e,a){function p(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");
-}function n(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function m(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}Object.defineProperty(e,
-"__esModule",{value:!0});a.d(e,"AnnotationPointListUserLayer",function(){return t});var c=a(271),b=a(272);g=a(21);e=a(20);var d=a(14),f=a(3),h=a(274),q=function u(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return u(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},k=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=
-!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();a(276);var t=function(a){function e(a,f){p(this,e);var h=n(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,[]));h.manager=a;h.selectedIndex=new d.b(null);h.layer=new c.a(h.manager.chunkManager,new b.a,h.manager.voxelSize,h.selectedIndex);h.layer.pointList.restoreState(f.points);h.registerDisposer(h.layer.pointList.changed.add(function(){h.specificationChanged.dispatch()}));
-h.addRenderLayer(new c.b(h.layer));h.addRenderLayer(new c.c(h.layer));var g=a.layerSelectedValues;h.registerDisposer(g.changed.add(function(){var a=g.get(h);h.selectedIndex.value="number"===typeof a?a:null}));return h}m(e,a);k(e,[{key:"toJSON",value:function(){var a={type:"pointAnnotation"};a.points=this.layer.pointList.toJSON();return a}},{key:"handleAction",value:function(a){switch(a){case "annotate":a=this.manager.layerSelectedValues.get(this),void 0!==a?this.layer.pointList.delete(a):this.manager.layerSelectedValues.mouseState.active&&
-this.layer.pointList.append(this.manager.voxelSize.voxelFromSpatial(f.p.create(),this.manager.layerSelectedValues.mouseState.position))}}},{key:"makeDropdown",value:function(a){return new r(a,this)}}]);return e}(g.f),r=function(a){function b(a,c){p(this,b);var d=n(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));d.element=a;d.layer=c;d.pointListWidget=d.registerDisposer(new h.a(d.layer.layer.pointList,d.layer.selectedIndex));a.classList.add("neuroglancer-annotation-point-list-dropdown");a.appendChild(d.pointListWidget.element);
-d.registerDisposer(d.pointListWidget.pointSelected.add(function(a){d.layer.manager.setVoxelCoordinates(d.layer.layer.pointList.get(a))}));return d}m(b,a);k(b,[{key:"onShow",value:function(){q(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"onShow",this).call(this);this.pointListWidget.visible=!0}},{key:"onHide",value:function(){q(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"onHide",this).call(this);this.pointListWidget.visible=!1}}]);return b}(g.g);Object(e.e)("pointAnnotation",
-t)},function(g,e,a){function p(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function n(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function m(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,
-configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(e,"a",function(){return y});a.d(e,"b",function(){return B});a.d(e,"c",function(){return v});g=a(48);e=a(63);var c=a(1),b=a(3),d=a(7),f=a(30),h=a(153),q=a(31),k=a(18),t=a(66),r=function F(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return F(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},
-l=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),u=b.j.create(),A=new Float32Array(4),y=function(a){function c(a,b,e,h){p(this,c);var g=n(this,(c.__proto__||Object.getPrototypeOf(c)).call(this));g.chunkManager=a;g.pointList=b;g.voxelSizeObject=e;g.selectedIndex=h;g.generation=-1;g.redrawNeeded=new d.a;g.color=
-Float32Array.of(1,1,0,1);g.selectedColor=Float32Array.of(0,1,0,1);g.buffer=new f.a(a.gl);g.registerDisposer(b.changed.add(function(){g.selectedIndex.value=null;g.redrawNeeded.dispatch()}));g.registerDisposer(h.changed.add(function(){g.redrawNeeded.dispatch()}));return g}m(c,a);l(c,[{key:"updateBuffer",value:function(){var a=this.pointList,b=a.generation;this.generation!==b&&(this.generation=b,this.buffer.setData(a.points.view))}},{key:"updateMouseState",value:function(a,c){b.p.multiply(a.position,
-this.pointList.get(c),this.voxelSizeObject.size)}},{key:"gl",get:function(){return this.chunkManager.gl}}]);return c}(c.a);a=function(a){function c(a){p(this,c);var b=n(this,(c.__proto__||Object.getPrototypeOf(c)).call(this));b.gl=a;b.shaders=new Map;b.squareCornersBuffer=Object(t.a)(b.gl);b.countingBuffer=b.registerDisposer(Object(h.d)(b.gl));return b}m(c,a);l(c,[{key:"defineShader",value:function(a){a.addAttribute("highp vec3","aVertexPosition");a.addAttribute("highp vec2","aCornerOffset");a.addUniform("highp vec2",
-"uPointRadii");a.addUniform("highp vec4","uColor");a.addUniform("highp vec4","uColorSelected");a.addUniform("highp vec4","uSelectedIndex");a.addVarying("highp vec4","vColor");a.addUniform("highp mat4","uProjection");a.addUniform("highp vec4","uPickID");a.addVarying("highp vec4","vPickID");a.addVarying("highp vec2","vPointCoord");a.require(h.b);a.addVertexCode(k.b);a.setVertexMain("\ngl_Position = uProjection * vec4(aVertexPosition, 1.0);\ngl_Position.xy += aCornerOffset * uPointRadii * gl_Position.w;\nvPointCoord = aCornerOffset;\n\nuint32_t primitiveIndex = getPrimitiveIndex();\n\nuint32_t pickID; pickID.value = uPickID;\nvPickID = add(pickID, primitiveIndex).value;\n\nif (uSelectedIndex == primitiveIndex.value) {\n  vColor = uColorSelected;\n} else {\n  vColor = uColor;\n}\n");
-a.setFragmentMain("\nif (dot(vPointCoord, vPointCoord) > 1.0) {\n  discard;\n}\nemit(getColor(), vPickID);\n")}},{key:"getShader",value:function(a){var b=this.shaders,c=b.get(a);void 0===c&&(c=new q.a(this.gl),c.require(a),this.defineShader(c),c=this.registerDisposer(c.build()),b.set(a,c));return c}},{key:"draw",value:function(a,c,d){var f=this.getShader(d.emitter),e=this.gl;f.bind();c.updateBuffer();var g=c.pointList.length,l=f.attribute("aVertexPosition"),q=f.attribute("aCornerOffset");c.buffer.bindToVertexAttrib(l,
-3);e.ANGLE_instanced_arrays.vertexAttribDivisorANGLE(l,1);this.squareCornersBuffer.bindToVertexAttrib(q,2);this.countingBuffer.ensure(g).bind(f,1);b.j.identity(u);b.j.scale(u,u,c.voxelSizeObject.size);b.j.multiply(u,d.dataToDevice,u);e.uniformMatrix4fv(f.uniform("uProjection"),!1,u);e.uniform2f(f.uniform("uPointRadii"),8/d.viewportWidth,8/d.viewportHeight);d.emitPickID&&(a=d.pickIDs.register(a,g),e.uniform4fv(f.uniform("uPickID"),Object(k.p)(A,a)));d.emitColor&&(e.uniform4fv(f.uniform("uColor"),c.color),
-e.uniform4fv(f.uniform("uColorSelected"),c.selectedColor),c=c.selectedIndex.value,null===c&&(c=4294967295),e.uniform4fv(f.uniform("uSelectedIndex"),Object(k.p)(A,c)));e.ANGLE_instanced_arrays.drawArraysInstancedANGLE(e.TRIANGLE_FAN,0,4,g);e.ANGLE_instanced_arrays.vertexAttribDivisorANGLE(l,0);Object(h.c)(e,f,!0);e.disableVertexAttribArray(l)}}]);return c}(c.a);var z=function(a){function b(){p(this,b);return n(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}m(b,a);l(b,[{key:"defineShader",
-value:function(a){r(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"defineShader",this).call(this,a);a.addFragmentCode("\nvec4 getColor () { return vColor; }\n")}}]);return b}(a),B=function(a){function b(a){p(this,b);var c=n(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.base=a;c.renderHelper=c.registerDisposer(new z(c.gl));c.registerDisposer(a);c.registerDisposer(a.redrawNeeded.add(function(){c.redrawNeeded.dispatch()}));c.setReady(!0);return c}m(b,a);l(b,[{key:"draw",value:function(a){this.renderHelper.draw(this,
-this.base,a)}},{key:"updateMouseState",value:function(a,b,c){this.base.updateMouseState(a,c)}},{key:"transformPickedValue",value:function(a,b){return b}},{key:"gl",get:function(){return this.base.chunkManager.gl}}]);return b}(g.a),x=function(a){function b(){p(this,b);return n(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}m(b,a);l(b,[{key:"defineShader",value:function(a){r(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"defineShader",this).call(this,a);a.addFragmentCode("\nvec4 getColor() {\n  float scalar = 1.0 - 2.0 * abs(0.5 - gl_FragCoord.z);\n  return vec4(vColor.xyz, scalar * vColor.a);\n}\n")}}]);
-return b}(a),v=function(a){function b(a){p(this,b);var c=n(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.base=a;c.renderHelper=c.registerDisposer(new x(c.gl));c.registerDisposer(a);c.registerDisposer(a.redrawNeeded.add(function(){c.redrawNeeded.dispatch()}));c.setReady(!0);return c}m(b,a);l(b,[{key:"draw",value:function(a){this.renderHelper.draw(this,this.base,a)}},{key:"updateMouseState",value:function(a,b,c){this.base.updateMouseState(a,c)}},{key:"transformPickedValue",value:function(a,
-b){return b}},{key:"gl",get:function(){return this.base.chunkManager.gl}}]);return b}(e.b)},function(g,e,a){a.d(e,"a",function(){return b});var p=a(273),n=a(6),m=a(7),c=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),b=function(){function a(){if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");
-this.points=new p.a;this.changed=new m.a;this.generation=0}c(a,[{key:"delete",value:function(a){this.points.eraseRange(3*a,3*a+3);++this.generation;this.changed.dispatch()}},{key:"get",value:function(a){return this.points.data.subarray(3*a,3*a+3)}},{key:"append",value:function(a){this.points.appendArray(a.subarray(0,3));++this.generation;this.changed.dispatch()}},{key:"reset",value:function(){this.points.clear();++this.generation;this.changed.dispatch()}},{key:"restoreState",value:function(a){try{if(Array.isArray(a)){var b=
-a.length,c=this.points;c.resize(3*b);var d=c.data;for(c=0;c<b;++c){var f=3*c;Object(n.c)(d.subarray(f,f+3),a[c],n.o)}++this.generation;this.changed.dispatch()}}catch(r){this.reset()}}},{key:"toJSON",value:function(){for(var a=this.length,b=this.points.data,c=Array(a),d=0;d<a;++d){var e=3*d;c[d]=[b[e],b[e+1],b[e+2]]}return c}},{key:"length",get:function(){return this.points.length/3}}]);return a}()},function(g,e,a){a.d(e,"a",function(){return n});var p=function(){function a(a,b){for(var c=0;c<b.length;c++){var f=
-b[c];f.enumerable=f.enumerable||!1;f.configurable=!0;"value"in f&&(f.writable=!0);Object.defineProperty(a,f.key,f)}}return function(c,b,d){b&&a(c.prototype,b);d&&a(c,d);return c}}(),n=function(){function a(c){c=void 0===c?16:c;if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");this.length=0;this.data=new Float32Array(c)}p(a,[{key:"resize",value:function(a){var b=this.data;if(a>b.length){var c=new Float32Array(Math.max(a,2*b.length));c.set(b.subarray(0,this.length));this.data=
-c}this.length=a}},{key:"shrinkToFit",value:function(){this.data=new Float32Array(this.view)}},{key:"clear",value:function(){this.length=0}},{key:"appendArray",value:function(a){var b=this.length;this.resize(b+a.length);this.data.set(a,b)}},{key:"eraseRange",value:function(a,b){this.data.copyWithin(a,b,this.length);this.length-=b-a}},{key:"view",get:function(){var a=this.data;return new Float32Array(a.buffer,a.byteOffset,this.length)}}]);return a}()},function(g,e,a){function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
-return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(e,"a",function(){return f});g=a(1);var m=a(9),c=a(7),b=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=
-d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),d=function q(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return q(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};a(36);a(275);var f=function(a){function f(a,b){if(!(this instanceof f))throw new TypeError("Cannot call a class as a function");
-var d=p(this,(f.__proto__||Object.getPrototypeOf(f)).call(this));d.pointList=a;d.selectionIndex=b;d.element=document.createElement("div");d.clearButton=document.createElement("button");d.itemContainer=document.createElement("div");d.generation=-1;d.pointSelected=new c.b;d.visible_=!1;b=d.element;var e=d.clearButton,g=d.itemContainer;b.className="neuroglancer-point-list-widget";e.className="neuroglancer-clear-button";e.textContent="Delete all points";d.registerEventListener(e,"click",function(){d.pointList.reset()});
-g.className="neuroglancer-item-container neuroglancer-select-text";b.appendChild(e);b.appendChild(g);d.registerDisposer(a.changed.add(function(){d.maybeUpdate()}));return d}n(f,a);b(f,[{key:"maybeUpdate",value:function(){var a=this;if(this.visible_){var b=this.pointList;if(this.generation!==b.generation){this.generation=b.generation;var c=this.itemContainer;Object(m.a)(c);var d=b.length;b=b.points.data;for(var f={i:0};f.i<d;f={i:f.i},++f.i){var e=document.createElement("div");e.className="neuroglancer-point-list-item";
-var g=3*f.i;e.textContent=Math.round(b[g])+" "+Math.round(b[g+1])+" "+Math.round(b[g+2]);e.addEventListener("click",function(b){return function(){a.pointSelected.dispatch(b.i)}}(f));e.addEventListener("mouseenter",function(b){return function(){a.selectionIndex.value=b.i}}(f));e.addEventListener("mouseleave",function(){a.selectionIndex.value=null});c.appendChild(e)}}}}},{key:"disposed",value:function(){Object(m.b)(this.element);this.clearButton=this.itemContainer=this.element=void 0;d(f.prototype.__proto__||
-Object.getPrototypeOf(f.prototype),"disposed",this).call(this)}},{key:"visible",get:function(){return this.visible_},set:function(a){this.visible_!==a&&(this.visible_=a,!0===a&&this.maybeUpdate())}}]);return f}(g.a)},function(g,e){},function(g,e){},function(g,e,a){Object.defineProperty(e,"__esModule",{value:!0});e.getNgPatchableObj=function(){return{UrlHashBinding:p.a,LayerManager:n.a}};var p=a(154),n=a(21),m=a(155);a.d(e,"createNehubaViewer",function(){return m.b});a.d(e,"NehubaViewer",function(){return m.a});
-a.d(e,"layoutEventType",function(){return m.c});a.d(e,"perspectiveRenderEventType",function(){return m.d});a.d(e,"quat",function(){return m.e});a.d(e,"sliceRenderEventType",function(){return m.f});a.d(e,"vec3",function(){return m.g});a.d(e,"vec4",function(){return m.h})},function(g,e,a){function p(a){return a.map(function(a){return{name:a.name,value:a.layer}}).filter(function(a){return!!a.value}).map(function(a){return{name:a.name,userLayer:a.value}})}function n(a){return a.map(function(a){var b=
-a.layer.userLayer,c=b.getValueAt(a.mouse.position,a.mouse),d=b.volumePath;d||(d=b.parameters.meshSourceUrl);return{value:0===c?0:c?c:null,layer:{name:a.layer.name,url:d?d:void 0}}})}e.b=function(a,b){return y.create(a,b)};a.d(e,"a",function(){return y});var m=a(16),c=a(93),b=a(69),d=a(279),f=a(313),h=a(166),q=a(108),k=a(155),t=a(109),r=a(110),l=a(318),u=a(167);a.n(u);a(602);var A=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in
-d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),y=function(){function a(d,f,e){var g=this;if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");this.errorHandler=e;this.onError=function(a){g.errorHandler&&(a instanceof Error?g.errorHandler(a):g.errorHandler(Error(a)))};this.ngviewer=d;this._config=f;var q=d.navigationState;this.navigationState={position:{inRealSpace:Object(l.a)(q.position,function(a){return k.g.clone(a.spatialCoordinates)}),
-inVoxels:Object(l.a)(q.position,function(a){var b=k.g.create();if(a.getVoxelCoordinates(b)){for(a=0;3>a;++a)b[a]=Math.floor(b[a]);return b}return null},{share:!1}).notNull().publishReplay(1).refCount()},orientation:Object(l.a)(q.pose.orientation,function(a){return k.e.clone(a.orientation)}),sliceZoom:Object(l.a)({s:q.zoomFactor,r:q},function(a){return a.value}),perspectiveZoom:Object(l.a)({s:d.perspectiveNavigationState.zoomFactor,r:d.perspectiveNavigationState},function(a){return a.value}),perspectiveOrientation:Object(l.a)(d.perspectiveNavigationState.pose.orientation,
-function(a){return k.e.clone(a.orientation)}),full:Object(l.a)(q,function(a){return{position:k.g.clone(a.position.spatialCoordinates),orientation:k.e.clone(a.pose.orientation.orientation),zoom:a.zoomFactor.value}}),get all(){var a=this.perspectiveZoom.combineLatest(this.perspectiveOrientation,function(a,b){return{perspectiveZoom:a,perspectiveOrientation:b}});return this.full.combineLatest(a,function(a,b){return Object.assign({},a,b)}).publishReplay(1).refCount()}};f=Object(l.a)({s:d.mouseState,r:d},
-function(a){return a.active?k.g.clone(a.position):null});this.mousePosition={inRealSpace:f,inVoxels:f.map(function(a){if(a){a=q.pose.position.voxelSize.voxelFromSpatial(k.g.create(),a);for(var b=0;3>b;++b)a[b]=Math.round(a[b])}return a}).publishReplay(1).refCount()};f=d.layerManager;f=Object(l.a)({s:{changed:f.layersChanged,layerManager:f},r:f},function(a){return a.layerManager}).concatMap(function(a){return u.Observable.from(a.managedLayers)});this._createdSegmentationUserLayers=f.map(function(a){return a.layer}).notNull().filter(function(a){return a instanceof
-b.SegmentationUserLayer}).map(function(a){return a});this.createdSegmentationUserLayers.subscribe(function(a){g.config.disableSegmentSelection&&Object(h.d)(a)});this.createdSegmentationUserLayers.subscribe(function(a){g.config.disableSegmentHighlighting&&Object(h.c)(a)});this.createdSegmentationUserLayers.subscribe(function(a){g.config.enableMeshLoadingControl&&(a=a.displayState,a.visibleSegments instanceof r.b||(a.visibleSegments=new r.b(a.visibleSegments)))});f=f.let(p).filter(function(a){return a.userLayer instanceof
-b.SegmentationUserLayer}).map(function(a){return{name:a.name,layer:a.userLayer}}).unseen(function(a){return a.layer}).flatMap(function(a){var b=a.name,c=a.layer.volumePath;return Object(l.a)(a.layer.displayState.segmentSelectionState,function(a){return{segment:a.hasSelectedSegment?g.segmentToNumber(a.selectedSegment):null,layer:{name:b,url:c}}})}).publishReplay(1).refCount();e=Object(l.a)(d.layerSelectedValues,function(a){return a}).concatMap(function(a){return u.Observable.from(a.layerManager.managedLayers).filter(function(a){return a.visible}).let(p).map(function(b){return{mouse:a.mouseState,
-layer:b}})});d=e.filter(function(a){return a.layer.userLayer instanceof c.ImageUserLayer}).let(n).map(function(a){return Object.assign({},a,{layer:Object.assign({},a.layer,{url:a.layer.url})})});e=e.let(n);this.mouseOver={segment:f,image:d,layer:e}}A(a,[{key:"addMouseOverSegmentCallback",value:function(a){var b=this.mouseOver.segment.subscribe(function(b){return a(b.segment,b.layer)},this.onError);return function(){return b.unsubscribe()}}},{key:"addMouseEnterSegmentCallback",value:function(a){var b=
+}},{key:"refCount",set:function(a){a},get:function(){throw Error("Unexpected member access of VisibleSegmentsWrapper");}},{key:"wasDisposed",get:function(){throw Error("Unexpected member access of VisibleSegmentsWrapper");}}]);return b}(h.b)},function(h,f,a){var q=this&&this.__extends||function(a,f){function c(){this.constructor=a}for(var b in f)f.hasOwnProperty(b)&&(a[b]=f[b]);a.prototype=null===f?Object.create(f):(c.prototype=f.prototype,new c)};h=function(a){function f(c,b){a.call(this);this.value=
+c;this.scheduler=b;this._isScalar=!0;b&&(this._isScalar=!1)}q(f,a);f.create=function(a,b){return new f(a,b)};f.dispatch=function(a){var b=a.value,c=a.subscriber;a.done?c.complete():(c.next(b),c.closed||(a.done=!0,this.schedule(a)))};f.prototype._subscribe=function(a){var b=this.value,c=this.scheduler;if(c)return c.schedule(f.dispatch,0,{done:!1,value:b,subscriber:a});a.next(b);a.closed||a.complete()};return f}(a(0).Observable);f.ScalarObservable=h},function(h,f,a){var q=this&&this.__extends||function(a,
+b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(38),n=a(36);h=a(5);var c=a(6),b={};f.combineLatest=function(){for(var a=[],b=0;b<arguments.length;b++)a[b-0]=arguments[b];b=null;"function"===typeof a[a.length-1]&&(b=a.pop());1===a.length&&n.isArray(a[0])&&(a=a[0].slice());a.unshift(this);return this.lift.call(new p.ArrayObservable(a),new d(b))};var d=function(){function a(a){this.project=a}
+a.prototype.call=function(a,b){return b.subscribe(new e(a,this.project))};return a}();f.CombineLatestOperator=d;var e=function(a){function d(b,c){a.call(this,b);this.project=c;this.active=0;this.values=[];this.observables=[]}q(d,a);d.prototype._next=function(a){this.values.push(b);this.observables.push(a)};d.prototype._complete=function(){var a=this.observables,b=a.length;if(0===b)this.destination.complete();else{this.toRespond=this.active=b;for(var d=0;d<b;d++){var e=a[d];this.add(c.subscribeToResult(this,
+e,e,d))}}};d.prototype.notifyComplete=function(a){0===--this.active&&this.destination.complete()};d.prototype.notifyNext=function(a,c,d,e,g){a=this.values;e=a[d];e=this.toRespond?e===b?--this.toRespond:this.toRespond:0;a[d]=c;0===e&&(this.project?this._tryProject(a):this.destination.next(a.slice()))};d.prototype._tryProject=function(a){try{var b=this.project.apply(this,a)}catch(m){this.destination.error(m);return}this.destination.next(b)};return d}(h.OuterSubscriber);f.CombineLatestSubscriber=e},
+function(h,f,a){function q(){for(var a=[],e=0;e<arguments.length;e++)a[e-0]=arguments[e];e=null;n.isScheduler(a[a.length-1])&&(e=a.pop());return null===e&&1===a.length&&a[0]instanceof p.Observable?a[0]:(new c.ArrayObservable(a,e)).lift(new b.MergeAllOperator(1))}var p=a(0),n=a(37),c=a(38),b=a(89);f.concat=function(){for(var a=[],b=0;b<arguments.length;b++)a[b-0]=arguments[b];return this.lift.call(q.apply(void 0,[this].concat(a)))};f.concatStatic=q},function(h,f,a){var q=this&&this.__extends||function(a,
+b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);var p=a(68);f.observeOn=function(a,b){void 0===b&&(b=0);return this.lift(new n(a,b))};var n=function(){function a(a,b){void 0===b&&(b=0);this.scheduler=a;this.delay=b}a.prototype.call=function(a,b){return b.subscribe(new c(a,this.scheduler,this.delay))};return a}();f.ObserveOnOperator=n;var c=function(a){function c(b,c,d){void 0===d&&(d=0);
+a.call(this,b);this.scheduler=c;this.delay=d}q(c,a);c.dispatch=function(a){a.notification.observe(a.destination);this.unsubscribe()};c.prototype.scheduleMessage=function(a){this.add(this.scheduler.schedule(c.dispatch,this.delay,new b(a,this.destination)))};c.prototype._next=function(a){this.scheduleMessage(p.Notification.createNext(a))};c.prototype._error=function(a){this.scheduleMessage(p.Notification.createError(a))};c.prototype._complete=function(){this.scheduleMessage(p.Notification.createComplete())};
+return c}(h.Subscriber);f.ObserveOnSubscriber=c;var b=function(){return function(a,b){this.notification=a;this.destination=b}}();f.ObserveOnMessage=b},function(h,f,a){function q(){for(var a=[],b=0;b<arguments.length;b++)a[b-0]=arguments[b];b=a[a.length-1];"function"===typeof b&&a.pop();return(new n.ArrayObservable(a)).lift(new g(b))}var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=
+b.prototype,new c)},n=a(38),c=a(36);h=a(3);var b=a(5),d=a(6),e=a(67);f.zipProto=function(){for(var a=[],b=0;b<arguments.length;b++)a[b-0]=arguments[b];return this.lift.call(q.apply(void 0,[this].concat(a)))};f.zipStatic=q;var g=function(){function a(a){this.project=a}a.prototype.call=function(a,b){return b.subscribe(new l(a,this.project))};return a}();f.ZipOperator=g;var l=function(a){function b(b,c,d){void 0===d&&(d=Object.create(null));a.call(this,b);this.iterators=[];this.active=0;this.project=
+"function"===typeof c?c:null;this.values=d}p(b,a);b.prototype._next=function(a){var b=this.iterators;c.isArray(a)?b.push(new t(a)):"function"===typeof a[e.iterator]?b.push(new k(a[e.iterator]())):b.push(new m(this.destination,this,a))};b.prototype._complete=function(){var a=this.iterators,b=a.length;if(0===b)this.destination.complete();else{this.active=b;for(var c=0;c<b;c++){var d=a[c];d.stillUnsubscribed?this.add(d.subscribe(d,c)):this.active--}}};b.prototype.notifyInactive=function(){this.active--;
+0===this.active&&this.destination.complete()};b.prototype.checkIterators=function(){for(var a,b=this.iterators,c=b.length,d=this.destination,e=0;e<c;e++)if(a=b[e],"function"===typeof a.hasValue&&!a.hasValue())return;var g=!1,k=[];for(e=0;e<c;e++){a=b[e];var l=a.next();a.hasCompleted()&&(g=!0);if(l.done){d.complete();return}k.push(l.value)}this.project?this._tryProject(k):d.next(k);g&&d.complete()};b.prototype._tryProject=function(a){try{var b=this.project.apply(this,a)}catch(y){this.destination.error(y);
+return}this.destination.next(b)};return b}(h.Subscriber);f.ZipSubscriber=l;var k=function(){function a(a){this.iterator=a;this.nextResult=a.next()}a.prototype.hasValue=function(){return!0};a.prototype.next=function(){var a=this.nextResult;this.nextResult=this.iterator.next();return a};a.prototype.hasCompleted=function(){var a=this.nextResult;return a&&a.done};return a}(),t=function(){function a(a){this.array=a;this.length=this.index=0;this.length=a.length}a.prototype[e.iterator]=function(){return this};
+a.prototype.next=function(a){a=this.index++;var b=this.array;return a<this.length?{value:b[a],done:!1}:{value:null,done:!0}};a.prototype.hasValue=function(){return this.array.length>this.index};a.prototype.hasCompleted=function(){return this.array.length===this.index};return a}(),m=function(a){function b(b,c,d){a.call(this,b);this.parent=c;this.observable=d;this.stillUnsubscribed=!0;this.buffer=[];this.isComplete=!1}p(b,a);b.prototype[e.iterator]=function(){return this};b.prototype.next=function(){var a=
+this.buffer;return 0===a.length&&this.isComplete?{value:null,done:!0}:{value:a.shift(),done:!1}};b.prototype.hasValue=function(){return 0<this.buffer.length};b.prototype.hasCompleted=function(){return 0===this.buffer.length&&this.isComplete};b.prototype.notifyComplete=function(){0<this.buffer.length?(this.isComplete=!0,this.parent.notifyInactive()):this.destination.complete()};b.prototype.notifyNext=function(a,b,c,d,e){this.buffer.push(b);this.parent.checkIterators()};b.prototype.subscribe=function(a,
+b){return d.subscribeToResult(this,this.observable,this,b)};return b}(b.OuterSubscriber)},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var e in b)b.hasOwnProperty(e)&&(a[e]=b[e]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);f.map=function(a,b){if("function"!==typeof a)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return this.lift(new p(a,b))};var p=function(){function a(a,c){this.project=
+a;this.thisArg=c}a.prototype.call=function(a,c){return c.subscribe(new n(a,this.project,this.thisArg))};return a}();f.MapOperator=p;var n=function(a){function b(b,c,g){a.call(this,b);this.project=c;this.count=0;this.thisArg=g||this}q(b,a);b.prototype._next=function(a){try{var b=this.project.call(this.thisArg,a,this.count++)}catch(g){this.destination.error(g);return}this.destination.next(b)};return b}(h.Subscriber)},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=
+a}for(var e in b)b.hasOwnProperty(e)&&(a[e]=b[e]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);f.reduce=function(a,b){var c=!1;2<=arguments.length&&(c=!0);return this.lift(new p(a,b,c))};var p=function(){function a(a,c,e){void 0===e&&(e=!1);this.accumulator=a;this.seed=c;this.hasSeed=e}a.prototype.call=function(a,c){return c.subscribe(new n(a,this.accumulator,this.seed,this.hasSeed))};return a}();f.ReduceOperator=p;var n=function(a){function b(b,c,g,l){a.call(this,
+b);this.accumulator=c;this.hasSeed=l;this.index=0;this.hasValue=!1;this.acc=g;this.hasSeed||this.index++}q(b,a);b.prototype._next=function(a){this.hasValue||(this.hasValue=this.hasSeed)?this._tryReduce(a):(this.acc=a,this.hasValue=!0)};b.prototype._tryReduce=function(a){try{var b=this.accumulator(this.acc,a,this.index++)}catch(g){this.destination.error(g);return}this.acc=b};b.prototype._complete=function(){(this.hasValue||this.hasSeed)&&this.destination.next(this.acc);this.destination.complete()};
+return b}(h.Subscriber);f.ReduceSubscriber=n},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,
+{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a){Object(B.t)(a);try{return{corner:Object(B.v)(a,"corner",function(a){return Object(B.f)(C.s.create(),a,B.n)}),size:Object(B.v)(a,"size",function(a){return Object(B.f)(C.s.create(),a,B.o)}),metadata:Object(B.v)(a,"metadata",B.y)}}catch(fa){throw Error("Failed to parse bounding box: "+fa.message);}}function b(a){var b=a.match(/^([^:?]+:[^:?]+:[^:?]+)(?::([^:?]+))?(?:\?(.*))?$/);
+if(null===b)throw Error("Invalid Brain Maps volume key: "+JSON.stringify(a)+".");var c;void 0!==b[2]&&(c={changeStackId:b[2]});a=Object(B.e)(b[3]||"");return{volumeId:b[1],changeSpec:c,parameters:a}}function d(a){try{return Object(B.t)(a),{id:Object(B.v)(a,"id",B.A),label:Object(B.v)(a,"label",B.A),description:Object(B.v)(a,"description",B.y)}}catch(fa){throw Error("Failed to parse project: "+fa.message);}}function e(a){try{return Object(B.t)(a),Object(B.v)(a,"project",function(a){return void 0===
+a?[]:Object(B.a)(a,d)})}catch(fa){throw Error("Error parsing project list: "+fa.message);}}function g(a){return Object(B.v)(a,"changeStackId",function(a){return void 0===a?void 0:Object(B.a)(a,B.A)})}function l(a){a=a.scales[0];return[[{parameters:void 0,spec:new t.k({voxelSize:a.voxelSize,chunkSize:C.s.multiply(C.s.create(),a.upperVoxelBound,a.voxelSize),upperChunkBound:C.s.fromValues(1,1,1)})}]]}Object.defineProperty(f,"__esModule",{value:!0});a.d(f,"BrainmapsSkeletonSource",function(){return M});
+a.d(f,"VolumeInfo",function(){return N});a.d(f,"MultiscaleVolumeInfo",function(){return S});a.d(f,"MeshInfo",function(){return U});a.d(f,"MultiscaleVolumeChunkSource",function(){return Z});f.parseVolumeKey=b;a.d(f,"VolumeList",function(){return Q});f.parseChangeStackList=g;a.d(f,"BrainmapsAnnotationSource",function(){return aa});a.d(f,"BrainmapsDataSource",function(){return ba});var k=a(28),t=a(94);h=a(72);var m=a(23),r=a(260),u=a(46),v=a(102),w=a(264),y=a(54),x=a(103),A=a(39),z=a(26),D=a(33),E=a(31),
+G=a(61),C=a(2),B=a(4),F=a(22),L=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),I=function(a){function b(){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);return b}(Object(m.f)(Object(r.a)()(D.b),w.e)),O=function(a){function b(){q(this,b);return p(this,(b.__proto__||
+Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);return b}(Object(m.f)(Object(r.a)()(y.c),w.b)),M=function(a){function b(){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);L(b,[{key:"skeletonVertexCoordinatesInVoxels",get:function(){return!1}}]);return b}(Object(m.f)(Object(r.a)()(x.d),w.c)),P=new Map;P.set("UINT8",z.a.UINT8);P.set("FLOAT",z.a.FLOAT32);P.set("UINT64",z.a.UINT64);var N=function fa(a){q(this,fa);try{Object(B.t)(a),this.numChannels=
+Object(B.v)(a,"channelCount",B.z),this.dataType=Object(B.v)(a,"channelType",function(a){return Object(B.s)(a,P)}),this.voxelSize=Object(B.v)(a,"pixelSize",function(a){return Object(B.f)(C.s.create(),a,B.o)}),this.upperVoxelBound=Object(B.v)(a,"volumeSize",function(a){return Object(B.f)(C.s.create(),a,B.z)}),this.boundingBoxes=Object(B.v)(a,"boundingBox",function(a){return void 0===a?[]:Object(B.a)(a,c)})}catch(X){throw Error("Failed to parse BrainMaps volume geometry: "+X.message);}},S=function R(a){q(this,
+R);try{Object(B.t)(a);var b=this.scales=Object(B.v)(a,"geometry",function(a){return Object(B.a)(a,function(a){return new N(a)})});if(0===b.length)throw Error("Expected at least one scale.");var c=b[0],d=this.numChannels=c.numChannels,e=this.dataType=c.dataType;a=1;for(var g=b.length;a<g;++a){var k=b[a];if(k.dataType!==e)throw Error("Scale "+a+" has data type "+z.a[k.dataType]+" "+("but scale 0 has data type "+z.a[e]+"."));if(k.numChannels!==d)throw Error("Scale "+a+" has "+k.numChannels+" channel(s) "+
+("but scale 0 has "+d+" channels."));}}catch(Aa){throw Error("Failed to parse BrainMaps multiscale volume specification: "+Aa.message);}},U=function X(a){q(this,X);Object(B.t)(a);this.name=Object(B.v)(a,"name",B.A);this.type=Object(B.v)(a,"type",B.A)},Z=function(){function a(b,c,d,e,g,k,l,m){q(this,a);this.chunkManager=b;this.instance=c;this.credentialsProvider=d;this.volumeId=e;this.changeSpec=g;this.multiscaleVolumeInfo=k;this.encoding=m.encoding;this.chunkLayoutPreference=m.chunkLayoutPreference;
+if(1===this.numChannels)switch(this.dataType){case z.a.UINT64:var r=z.c.SEGMENTATION}void 0===r&&(r=void 0!==m.volumeType?m.volumeType:z.c.IMAGE);this.volumeType=r;try{Object(B.t)(l),this.meshes=Object(B.v)(l,"meshes",function(a){return void 0===a?[]:Object(B.a)(a,function(a){return new U(a)})})}catch(Fb){throw Error("Failed to parse BrainMaps meshes specification: "+Fb.message);}}L(a,[{key:"getSources",value:function(a){var b=this,c=w.d.RAW;this.dataType===z.a.UINT64?c=w.d.COMPRESSED_SEGMENTATION:
+this.volumeType===z.c.IMAGE&&this.dataType===z.a.UINT8&&1===this.numChannels&&this.encoding!==w.d.RAW&&(c=w.d.JPEG);var d=this.scales[0],e=C.s.multiply(C.s.create(),d.upperVoxelBound,d.voxelSize);return this.scales.map(function(d,g){return z.b.getDefaults({voxelSize:d.voxelSize,dataType:d.dataType,numChannels:d.numChannels,upperVoxelBound:d.upperVoxelBound,upperClipBound:e,volumeType:b.volumeType,volumeSourceOptions:a,chunkLayoutPreference:b.chunkLayoutPreference}).map(function(a){return b.chunkManager.getChunkSource(I,
+{credentialsProvider:b.credentialsProvider,spec:a,parameters:{instance:b.instance,volumeId:b.volumeId,changeSpec:b.changeSpec,scaleIndex:g,encoding:c}})})})}},{key:"getMeshSource",value:function(){for(var a=$jscomp.makeIterator(this.meshes),b=a.next();!b.done;b=a.next()){b=b.value;if("TRIANGLES"===b.type)return this.chunkManager.getChunkSource(O,{credentialsProvider:this.credentialsProvider,parameters:{instance:this.instance,volumeId:this.volumeId,meshName:b.name,changeSpec:this.changeSpec}});if("LINE_SEGMENTS"===
+b.type)return this.chunkManager.getChunkSource(M,{credentialsProvider:this.credentialsProvider,parameters:{instance:this.instance,volumeId:this.volumeId,meshName:b.name,changeSpec:this.changeSpec}})}return null}},{key:"getStaticAnnotations",value:function(){var a=this.scales[0],b=new k.b(C.k.fromScaling(C.k.create(),a.voxelSize));b.readonly=!0;b.add(Object(k.i)(C.s.create(),a.upperVoxelBound));a.boundingBoxes.forEach(function(a,c){b.add({type:k.c.AXIS_ALIGNED_BOUNDING_BOX,description:a.metadata,pointA:a.corner,
+pointB:C.s.add(C.s.create(),a.corner,a.size),id:"boundingBox"+c})});return b}},{key:"scales",get:function(){return this.multiscaleVolumeInfo.scales}},{key:"dataType",get:function(){return this.multiscaleVolumeInfo.dataType}},{key:"numChannels",get:function(){return this.multiscaleVolumeInfo.numChannels}}]);return a}(),H=/^([^\/]+)\/(.*)$/,Q=function Ka(a,b){q(this,Ka);this.projects=new Map;this.hierarchicalVolumeIds=new Map;var c=this.projects;a=$jscomp.makeIterator(e(a));for(var d=a.next();!d.done;d=
+a.next())d=d.value,c.set(d.id,d);try{Object(B.t)(b);var g=this.volumeIds=Object(B.v)(b,"volumeId",function(a){return void 0===a?[]:Object(B.a)(a,B.A)});g.sort();for(var k=new Map,l=$jscomp.makeIterator(g),m=l.next();!m.done;m=l.next()){var r=m.value;for(b=0;;){var f=r.indexOf(":",b);-1===f?f=void 0:++f;var t=r.substring(0,b),h=k.get(t);void 0===h&&(h=new Set,k.set(t,h));h.add(r.substring(b,f));if(void 0===f)break;b=f}}for(var u=this.hierarchicalVolumeIds,v=$jscomp.makeIterator(k),n=v.next();!n.done;n=
+v.next()){var p=$jscomp.makeIterator(n.value),w=p.next().value,x=p.next().value;u.set(w,Array.from(x))}}catch(Ua){throw Error("Failed to parse Brain Maps volume list reply: "+Ua.message);}},aa=function(a){function b(a,c){q(this,b);a=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a,Object.assign({sourceSpecifications:l(c.multiscaleVolumeInfo)},c)));C.k.fromScaling(a.objectToLocal,c.multiscaleVolumeInfo.scales[0].voxelSize);return a}n(b,a);return b}(Object(m.f)(Object(r.a)()(h.c),w.a)),ba=
+function(a){function c(a,b){q(this,c);var d=p(this,(c.__proto__||Object.getPrototypeOf(c)).call(this));d.instance=a;d.credentialsProvider=b;return d}n(c,a);L(c,[{key:"getMeshSource",value:function(a,b){return a.getChunkSource(O,{credentialsProvider:this.credentialsProvider,parameters:this.getMeshSourceParameters(b)})}},{key:"getMeshSourceParameters",value:function(a){var c=a.match(H);if(null===c)throw Error("Invalid Brainmaps mesh URL: "+a);a=b(c[1]);return{instance:this.instance,volumeId:a.volumeId,
+changeSpec:a.changeSpec,meshName:c[2]}}},{key:"getSkeletonSource",value:function(a,b){return a.getChunkSource(M,{credentialsProvider:this.credentialsProvider,parameters:this.getMeshSourceParameters(b)})}},{key:"getMultiscaleInfo",value:function(a,b){var c=this;return a.memoize.getUncounted({type:"brainmaps:getMultiscaleInfo",volumeId:b,instance:this.instance,credentialsProvider:Object(F.a)(this.credentialsProvider)},function(){return Object(v.b)(c.instance,c.credentialsProvider,{method:"GET",path:"/v1beta2/volumes/"+
+b,responseType:"json"}).then(function(a){return new S(a)})})}},{key:"getVolume",value:function(a,c,d){var e=this;c=b(c);var g=c.volumeId,k=c.changeSpec,l=c.parameters;Object(B.t)(l);c=Object(B.v)(l,"encoding",function(a){return void 0===a?void 0:Object(B.m)(a,w.d)});l=Object(B.v)(l,"chunkLayout",function(a){return void 0===a?void 0:Object(B.m)(a,A.a)});var m=Object.assign({},d,{encoding:c,chunkLayoutPreference:l});return a.memoize.getUncounted({type:"brainmaps:getVolume",instance:this.instance,volumeId:g,
+changeSpec:k,brainmapsOptions:m},function(){return Promise.all([e.getMultiscaleInfo(a,g),Object(v.b)(e.instance,e.credentialsProvider,{method:"GET",path:"/v1beta2/objects/"+g+"/meshes",responseType:"json"})]).then(function(b){var c=$jscomp.makeIterator(b);b=c.next().value;c=c.next().value;return new Z(a,e.instance,e.credentialsProvider,g,k,b,c,m)})})}},{key:"getAnnotationSource",value:function(a,c){var d=this;c=b(c);var e=c.volumeId;c=c.changeSpec;if(void 0===c)throw Error("A changestack must be specified.");
+var g={instance:this.instance,volumeId:e,changestack:c.changeStackId};return a.memoize.getUncounted({type:"brainmaps:getAnnotationSource",instance:this.instance,credentialsProvider:Object(F.a)(this.credentialsProvider),parameters:g},function(){return d.getMultiscaleInfo(a,e).then(function(b){return a.getChunkSource(aa,{parameters:g,credentialsProvider:d.credentialsProvider,multiscaleVolumeInfo:b})})})}},{key:"getVolumeList",value:function(a){var b=this;return a.memoize.getUncounted({instance:this.instance,
+type:"brainmaps:getVolumeList"},function(){var a=Promise.all([Object(v.b)(b.instance,b.credentialsProvider,{method:"GET",path:"/v1beta2/projects",responseType:"json"}),Object(v.b)(b.instance,b.credentialsProvider,{method:"GET",path:"/v1beta2/volumes",responseType:"json"})]).then(function(a){var b=$jscomp.makeIterator(a);a=b.next().value;b=b.next().value;return new Q(a,b)}),c=b.instance.description+" volume list";E.a.forPromise(a,{delay:!0,initialMessage:"Retrieving "+c+".",errorPrefix:"Error retrieving "+
+c+": "});return a})}},{key:"getChangeStackList",value:function(a,b){var c=this;return a.memoize.getUncounted({instance:this.instance,type:"brainmaps:getChangeStackList",volumeId:b},function(){var a=Object(v.b)(c.instance,c.credentialsProvider,{method:"GET",path:"/v1beta2/changes/"+b+"/change_stacks",responseType:"json"}).then(function(a){return g(a)}),d="change stacks for "+b;E.a.forPromise(a,{delay:!0,initialMessage:"Retrieving "+d+".",errorPrefix:"Error retrieving "+d+": "});return a})}},{key:"volumeCompleter",
+value:function(a,b){var c=this;return this.getVolumeList(b).then(function(d){var e=a.match(/^([^:]+:[^:]+:[^:]+):(.*)$/);if(null!==e){var g=e[1],k=e[2];return c.getChangeStackList(b,g).then(function(a){if(void 0===a)throw null;return{offset:g.length+1,completions:Object(G.b)(k,a)}})}var l=a.lastIndexOf(":")+1;e=a.substring(0,l);l=a.substring(l);var m=d.hierarchicalVolumeIds.get(e);if(void 0===m)throw null;return e?{offset:e.length,completions:Object(G.b)(l,m)}:{offset:0,completions:Object(G.c)(l,
+m,function(a){return a},function(a){return(a=d.projects.get(a.substring(0,a.length-1)))&&a.label})}})}},{key:"description",get:function(){return this.instance.description}}]);return c}(u.a);f.productionInstance={description:"Google Brain Maps",serverUrls:["https://brainmaps.googleapis.com"]}},function(h,f,a){a(34);a(227);a(228);var q=a(133),p=a(229),n=a(230),c=a(231),b=a(134),d=a(135);a.d(f,"a",function(){return q});a.d(f,"b",function(){return p});a.d(f,"c",function(){return n});a.d(f,"d",function(){return c});
+a.d(f,"e",function(){return b});a.d(f,"f",function(){return d})},function(h,f,a){function q(a,b,d){var c=b[0],g=b[1],l=b[2],k=b[3],f=b[4],m=b[5],r=b[6],h=b[7];b=b[8];var v=d[0],n=d[1],p=d[2],q=d[3],A=d[4],z=d[5],D=d[6],E=d[7];d=d[8];a[0]=v*c+n*k+p*r;a[1]=v*g+n*f+p*h;a[2]=v*l+n*m+p*b;a[3]=q*c+A*k+z*r;a[4]=q*g+A*f+z*h;a[5]=q*l+A*m+z*b;a[6]=D*c+E*k+d*r;a[7]=D*g+E*f+d*h;a[8]=D*l+E*m+d*b;return a}function p(a,b,d){a[0]=b[0]-d[0];a[1]=b[1]-d[1];a[2]=b[2]-d[2];a[3]=b[3]-d[3];a[4]=b[4]-d[4];a[5]=b[5]-d[5];
+a[6]=b[6]-d[6];a[7]=b[7]-d[7];a[8]=b[8]-d[8];return a}Object.defineProperty(f,"__esModule",{value:!0});f.create=function(){var a=new n.a(9);a[0]=1;a[1]=0;a[2]=0;a[3]=0;a[4]=1;a[5]=0;a[6]=0;a[7]=0;a[8]=1;return a};f.fromMat4=function(a,b){a[0]=b[0];a[1]=b[1];a[2]=b[2];a[3]=b[4];a[4]=b[5];a[5]=b[6];a[6]=b[8];a[7]=b[9];a[8]=b[10];return a};f.clone=function(a){var b=new n.a(9);b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];b[4]=a[4];b[5]=a[5];b[6]=a[6];b[7]=a[7];b[8]=a[8];return b};f.copy=function(a,b){a[0]=
+b[0];a[1]=b[1];a[2]=b[2];a[3]=b[3];a[4]=b[4];a[5]=b[5];a[6]=b[6];a[7]=b[7];a[8]=b[8];return a};f.fromValues=function(a,b,d,e,g,l,k,f,m){var c=new n.a(9);c[0]=a;c[1]=b;c[2]=d;c[3]=e;c[4]=g;c[5]=l;c[6]=k;c[7]=f;c[8]=m;return c};f.set=function(a,b,d,e,g,l,k,f,m,r){a[0]=b;a[1]=d;a[2]=e;a[3]=g;a[4]=l;a[5]=k;a[6]=f;a[7]=m;a[8]=r;return a};f.identity=function(a){a[0]=1;a[1]=0;a[2]=0;a[3]=0;a[4]=1;a[5]=0;a[6]=0;a[7]=0;a[8]=1;return a};f.transpose=function(a,b){if(a===b){var c=b[1],e=b[2],g=b[5];a[1]=b[3];
+a[2]=b[6];a[3]=c;a[5]=b[7];a[6]=e;a[7]=g}else a[0]=b[0],a[1]=b[3],a[2]=b[6],a[3]=b[1],a[4]=b[4],a[5]=b[7],a[6]=b[2],a[7]=b[5],a[8]=b[8];return a};f.invert=function(a,b){var c=b[0],e=b[1],g=b[2],l=b[3],k=b[4],f=b[5],m=b[6],r=b[7];b=b[8];var h=b*k-f*r,v=-b*l+f*m,n=r*l-k*m,p=c*h+e*v+g*n;if(!p)return null;p=1/p;a[0]=h*p;a[1]=(-b*e+g*r)*p;a[2]=(f*e-g*k)*p;a[3]=v*p;a[4]=(b*c-g*m)*p;a[5]=(-f*c+g*l)*p;a[6]=n*p;a[7]=(-r*c+e*m)*p;a[8]=(k*c-e*l)*p;return a};f.adjoint=function(a,b){var c=b[0],e=b[1],g=b[2],l=
+b[3],k=b[4],f=b[5],m=b[6],r=b[7];b=b[8];a[0]=k*b-f*r;a[1]=g*r-e*b;a[2]=e*f-g*k;a[3]=f*m-l*b;a[4]=c*b-g*m;a[5]=g*l-c*f;a[6]=l*r-k*m;a[7]=e*m-c*r;a[8]=c*k-e*l;return a};f.determinant=function(a){var b=a[3],c=a[4],e=a[5],g=a[6],l=a[7],k=a[8];return a[0]*(k*c-e*l)+a[1]*(-k*b+e*g)+a[2]*(l*b-c*g)};f.multiply=q;f.translate=function(a,b,d){var c=b[0],g=b[1],l=b[2],k=b[3],f=b[4],m=b[5],r=b[6],h=b[7];b=b[8];var v=d[0];d=d[1];a[0]=c;a[1]=g;a[2]=l;a[3]=k;a[4]=f;a[5]=m;a[6]=v*c+d*k+r;a[7]=v*g+d*f+h;a[8]=v*l+d*
+m+b;return a};f.rotate=function(a,b,d){var c=b[0],g=b[1],l=b[2],k=b[3],f=b[4],m=b[5],r=b[6],h=b[7];b=b[8];var v=Math.sin(d);d=Math.cos(d);a[0]=d*c+v*k;a[1]=d*g+v*f;a[2]=d*l+v*m;a[3]=d*k-v*c;a[4]=d*f-v*g;a[5]=d*m-v*l;a[6]=r;a[7]=h;a[8]=b;return a};f.scale=function(a,b,d){var c=d[0];d=d[1];a[0]=c*b[0];a[1]=c*b[1];a[2]=c*b[2];a[3]=d*b[3];a[4]=d*b[4];a[5]=d*b[5];a[6]=b[6];a[7]=b[7];a[8]=b[8];return a};f.fromTranslation=function(a,b){a[0]=1;a[1]=0;a[2]=0;a[3]=0;a[4]=1;a[5]=0;a[6]=b[0];a[7]=b[1];a[8]=1;
+return a};f.fromRotation=function(a,b){var c=Math.sin(b);b=Math.cos(b);a[0]=b;a[1]=c;a[2]=0;a[3]=-c;a[4]=b;a[5]=0;a[6]=0;a[7]=0;a[8]=1;return a};f.fromScaling=function(a,b){a[0]=b[0];a[1]=0;a[2]=0;a[3]=0;a[4]=b[1];a[5]=0;a[6]=0;a[7]=0;a[8]=1;return a};f.fromMat2d=function(a,b){a[0]=b[0];a[1]=b[1];a[2]=0;a[3]=b[2];a[4]=b[3];a[5]=0;a[6]=b[4];a[7]=b[5];a[8]=1;return a};f.fromQuat=function(a,b){var c=b[0],e=b[1],g=b[2];b=b[3];var l=c+c,k=e+e,f=g+g;c*=l;var m=e*l;e*=k;var r=g*l,h=g*k;g*=f;l*=b;k*=b;b*=
+f;a[0]=1-e-g;a[3]=m-b;a[6]=r+k;a[1]=m+b;a[4]=1-c-g;a[7]=h-l;a[2]=r-k;a[5]=h+l;a[8]=1-c-e;return a};f.normalFromMat4=function(a,b){var c=b[0],e=b[1],g=b[2],l=b[3],k=b[4],f=b[5],m=b[6],r=b[7],h=b[8],v=b[9],n=b[10],p=b[11],q=b[12],A=b[13],z=b[14];b=b[15];var D=c*f-e*k,E=c*m-g*k,G=c*r-l*k,C=e*m-g*f,B=e*r-l*f,F=g*r-l*m,L=h*A-v*q,I=h*z-n*q;h=h*b-p*q;var O=v*z-n*A;v=v*b-p*A;n=n*b-p*z;p=D*n-E*v+G*O+C*h-B*I+F*L;if(!p)return null;p=1/p;a[0]=(f*n-m*v+r*O)*p;a[1]=(m*h-k*n-r*I)*p;a[2]=(k*v-f*h+r*L)*p;a[3]=(g*
+v-e*n-l*O)*p;a[4]=(c*n-g*h+l*I)*p;a[5]=(e*h-c*v-l*L)*p;a[6]=(A*F-z*B+b*C)*p;a[7]=(z*G-q*F-b*E)*p;a[8]=(q*B-A*G+b*D)*p;return a};f.projection=function(a,b,d){a[0]=2/b;a[1]=0;a[2]=0;a[3]=0;a[4]=-2/d;a[5]=0;a[6]=-1;a[7]=1;a[8]=1;return a};f.str=function(a){return"mat3("+a[0]+", "+a[1]+", "+a[2]+", "+a[3]+", "+a[4]+", "+a[5]+", "+a[6]+", "+a[7]+", "+a[8]+")"};f.frob=function(a){return Math.sqrt(Math.pow(a[0],2)+Math.pow(a[1],2)+Math.pow(a[2],2)+Math.pow(a[3],2)+Math.pow(a[4],2)+Math.pow(a[5],2)+Math.pow(a[6],
+2)+Math.pow(a[7],2)+Math.pow(a[8],2))};f.add=function(a,b,d){a[0]=b[0]+d[0];a[1]=b[1]+d[1];a[2]=b[2]+d[2];a[3]=b[3]+d[3];a[4]=b[4]+d[4];a[5]=b[5]+d[5];a[6]=b[6]+d[6];a[7]=b[7]+d[7];a[8]=b[8]+d[8];return a};f.subtract=p;f.multiplyScalar=function(a,b,d){a[0]=b[0]*d;a[1]=b[1]*d;a[2]=b[2]*d;a[3]=b[3]*d;a[4]=b[4]*d;a[5]=b[5]*d;a[6]=b[6]*d;a[7]=b[7]*d;a[8]=b[8]*d;return a};f.multiplyScalarAndAdd=function(a,b,d,e){a[0]=b[0]+d[0]*e;a[1]=b[1]+d[1]*e;a[2]=b[2]+d[2]*e;a[3]=b[3]+d[3]*e;a[4]=b[4]+d[4]*e;a[5]=
+b[5]+d[5]*e;a[6]=b[6]+d[6]*e;a[7]=b[7]+d[7]*e;a[8]=b[8]+d[8]*e;return a};f.exactEquals=function(a,b){return a[0]===b[0]&&a[1]===b[1]&&a[2]===b[2]&&a[3]===b[3]&&a[4]===b[4]&&a[5]===b[5]&&a[6]===b[6]&&a[7]===b[7]&&a[8]===b[8]};f.equals=function(a,b){var c=a[0],e=a[1],g=a[2],l=a[3],k=a[4],f=a[5],m=a[6],r=a[7];a=a[8];var h=b[0],v=b[1],p=b[2],q=b[3],x=b[4],A=b[5],z=b[6],D=b[7];b=b[8];return Math.abs(c-h)<=n.b*Math.max(1,Math.abs(c),Math.abs(h))&&Math.abs(e-v)<=n.b*Math.max(1,Math.abs(e),Math.abs(v))&&
+Math.abs(g-p)<=n.b*Math.max(1,Math.abs(g),Math.abs(p))&&Math.abs(l-q)<=n.b*Math.max(1,Math.abs(l),Math.abs(q))&&Math.abs(k-x)<=n.b*Math.max(1,Math.abs(k),Math.abs(x))&&Math.abs(f-A)<=n.b*Math.max(1,Math.abs(f),Math.abs(A))&&Math.abs(m-z)<=n.b*Math.max(1,Math.abs(m),Math.abs(z))&&Math.abs(r-D)<=n.b*Math.max(1,Math.abs(r),Math.abs(D))&&Math.abs(a-b)<=n.b*Math.max(1,Math.abs(a),Math.abs(b))};var n=a(34);f.mul=q;f.sub=p},function(h,f,a){function q(){var a=new m.a(3);a[0]=0;a[1]=0;a[2]=0;return a}function p(a){var b=
+a[0],c=a[1];a=a[2];return Math.sqrt(b*b+c*c+a*a)}function n(a,b,c){var d=new m.a(3);d[0]=a;d[1]=b;d[2]=c;return d}function c(a,b,c){a[0]=b[0]-c[0];a[1]=b[1]-c[1];a[2]=b[2]-c[2];return a}function b(a,b,c){a[0]=b[0]*c[0];a[1]=b[1]*c[1];a[2]=b[2]*c[2];return a}function d(a,b,c){a[0]=b[0]/c[0];a[1]=b[1]/c[1];a[2]=b[2]/c[2];return a}function e(a,b){var c=b[0]-a[0],d=b[1]-a[1];a=b[2]-a[2];return Math.sqrt(c*c+d*d+a*a)}function g(a,b){var c=b[0]-a[0],d=b[1]-a[1];a=b[2]-a[2];return c*c+d*d+a*a}function l(a){var b=
+a[0],c=a[1];a=a[2];return b*b+c*c+a*a}function k(a,b){var c=b[0],d=b[1],e=b[2];c=c*c+d*d+e*e;0<c&&(c=1/Math.sqrt(c),a[0]=b[0]*c,a[1]=b[1]*c,a[2]=b[2]*c);return a}function t(a,b){return a[0]*b[0]+a[1]*b[1]+a[2]*b[2]}Object.defineProperty(f,"__esModule",{value:!0});f.create=q;f.clone=function(a){var b=new m.a(3);b[0]=a[0];b[1]=a[1];b[2]=a[2];return b};f.length=p;f.fromValues=n;f.copy=function(a,b){a[0]=b[0];a[1]=b[1];a[2]=b[2];return a};f.set=function(a,b,c,d){a[0]=b;a[1]=c;a[2]=d;return a};f.add=function(a,
+b,c){a[0]=b[0]+c[0];a[1]=b[1]+c[1];a[2]=b[2]+c[2];return a};f.subtract=c;f.multiply=b;f.divide=d;f.ceil=function(a,b){a[0]=Math.ceil(b[0]);a[1]=Math.ceil(b[1]);a[2]=Math.ceil(b[2]);return a};f.floor=function(a,b){a[0]=Math.floor(b[0]);a[1]=Math.floor(b[1]);a[2]=Math.floor(b[2]);return a};f.min=function(a,b,c){a[0]=Math.min(b[0],c[0]);a[1]=Math.min(b[1],c[1]);a[2]=Math.min(b[2],c[2]);return a};f.max=function(a,b,c){a[0]=Math.max(b[0],c[0]);a[1]=Math.max(b[1],c[1]);a[2]=Math.max(b[2],c[2]);return a};
+f.round=function(a,b){a[0]=Math.round(b[0]);a[1]=Math.round(b[1]);a[2]=Math.round(b[2]);return a};f.scale=function(a,b,c){a[0]=b[0]*c;a[1]=b[1]*c;a[2]=b[2]*c;return a};f.scaleAndAdd=function(a,b,c,d){a[0]=b[0]+c[0]*d;a[1]=b[1]+c[1]*d;a[2]=b[2]+c[2]*d;return a};f.distance=e;f.squaredDistance=g;f.squaredLength=l;f.negate=function(a,b){a[0]=-b[0];a[1]=-b[1];a[2]=-b[2];return a};f.inverse=function(a,b){a[0]=1/b[0];a[1]=1/b[1];a[2]=1/b[2];return a};f.normalize=k;f.dot=t;f.cross=function(a,b,c){var d=b[0],
+e=b[1];b=b[2];var g=c[0],k=c[1];c=c[2];a[0]=e*c-b*k;a[1]=b*g-d*c;a[2]=d*k-e*g;return a};f.lerp=function(a,b,c,d){var e=b[0],g=b[1];b=b[2];a[0]=e+d*(c[0]-e);a[1]=g+d*(c[1]-g);a[2]=b+d*(c[2]-b);return a};f.hermite=function(a,b,c,d,e,g){var k=g*g,l=k*(2*g-3)+1,m=k*(g-2)+g,f=k*(g-1);g=k*(3-2*g);a[0]=b[0]*l+c[0]*m+d[0]*f+e[0]*g;a[1]=b[1]*l+c[1]*m+d[1]*f+e[1]*g;a[2]=b[2]*l+c[2]*m+d[2]*f+e[2]*g;return a};f.bezier=function(a,b,c,d,e,g){var k=1-g,l=k*k,m=g*g,f=l*k;l*=3*g;k*=3*m;g*=m;a[0]=b[0]*f+c[0]*l+d[0]*
+k+e[0]*g;a[1]=b[1]*f+c[1]*l+d[1]*k+e[1]*g;a[2]=b[2]*f+c[2]*l+d[2]*k+e[2]*g;return a};f.random=function(a,b){b=b||1;var c=2*m.c()*Math.PI,d=2*m.c()-1,e=Math.sqrt(1-d*d)*b;a[0]=Math.cos(c)*e;a[1]=Math.sin(c)*e;a[2]=d*b;return a};f.transformMat4=function(a,b,c){var d=b[0],e=b[1];b=b[2];var g=c[3]*d+c[7]*e+c[11]*b+c[15];g=g||1;a[0]=(c[0]*d+c[4]*e+c[8]*b+c[12])/g;a[1]=(c[1]*d+c[5]*e+c[9]*b+c[13])/g;a[2]=(c[2]*d+c[6]*e+c[10]*b+c[14])/g;return a};f.transformMat3=function(a,b,c){var d=b[0],e=b[1];b=b[2];
+a[0]=d*c[0]+e*c[3]+b*c[6];a[1]=d*c[1]+e*c[4]+b*c[7];a[2]=d*c[2]+e*c[5]+b*c[8];return a};f.transformQuat=function(a,b,c){var d=b[0],e=b[1],g=b[2];b=c[0];var k=c[1],l=c[2];c=c[3];var m=c*d+k*g-l*e,f=c*e+l*d-b*g,r=c*g+b*e-k*d;d=-b*d-k*e-l*g;a[0]=m*c+d*-b+f*-l-r*-k;a[1]=f*c+d*-k+r*-b-m*-l;a[2]=r*c+d*-l+m*-k-f*-b;return a};f.rotateX=function(a,b,c,d){var e=[],g=[];e[0]=b[0]-c[0];e[1]=b[1]-c[1];e[2]=b[2]-c[2];g[0]=e[0];g[1]=e[1]*Math.cos(d)-e[2]*Math.sin(d);g[2]=e[1]*Math.sin(d)+e[2]*Math.cos(d);a[0]=g[0]+
+c[0];a[1]=g[1]+c[1];a[2]=g[2]+c[2];return a};f.rotateY=function(a,b,c,d){var e=[],g=[];e[0]=b[0]-c[0];e[1]=b[1]-c[1];e[2]=b[2]-c[2];g[0]=e[2]*Math.sin(d)+e[0]*Math.cos(d);g[1]=e[1];g[2]=e[2]*Math.cos(d)-e[0]*Math.sin(d);a[0]=g[0]+c[0];a[1]=g[1]+c[1];a[2]=g[2]+c[2];return a};f.rotateZ=function(a,b,c,d){var e=[],g=[];e[0]=b[0]-c[0];e[1]=b[1]-c[1];e[2]=b[2]-c[2];g[0]=e[0]*Math.cos(d)-e[1]*Math.sin(d);g[1]=e[0]*Math.sin(d)+e[1]*Math.cos(d);g[2]=e[2];a[0]=g[0]+c[0];a[1]=g[1]+c[1];a[2]=g[2]+c[2];return a};
+f.angle=function(a,b){a=n(a[0],a[1],a[2]);b=n(b[0],b[1],b[2]);k(a,a);k(b,b);b=t(a,b);return 1<b?0:-1>b?Math.PI:Math.acos(b)};f.str=function(a){return"vec3("+a[0]+", "+a[1]+", "+a[2]+")"};f.exactEquals=function(a,b){return a[0]===b[0]&&a[1]===b[1]&&a[2]===b[2]};f.equals=function(a,b){var c=a[0],d=a[1];a=a[2];var e=b[0],g=b[1];b=b[2];return Math.abs(c-e)<=m.b*Math.max(1,Math.abs(c),Math.abs(e))&&Math.abs(d-g)<=m.b*Math.max(1,Math.abs(d),Math.abs(g))&&Math.abs(a-b)<=m.b*Math.max(1,Math.abs(a),Math.abs(b))};
+var m=a(34);f.sub=c;f.mul=b;f.div=d;f.dist=e;f.sqrDist=g;f.len=p;f.sqrLen=l;h=function(){var a=q();return function(b,c,d,e,g,k){c||(c=3);d||(d=0);for(e=e?Math.min(e*c+d,b.length):b.length;d<e;d+=c)a[0]=b[d],a[1]=b[d+1],a[2]=b[d+2],g(a,a,k),b[d]=a[0],b[d+1]=a[1],b[d+2]=a[2];return b}}();f.forEach=h},function(h,f,a){function q(){var a=new t.a(4);a[0]=0;a[1]=0;a[2]=0;a[3]=0;return a}function p(a,b,c){a[0]=b[0]-c[0];a[1]=b[1]-c[1];a[2]=b[2]-c[2];a[3]=b[3]-c[3];return a}function n(a,b,c){a[0]=b[0]*c[0];
+a[1]=b[1]*c[1];a[2]=b[2]*c[2];a[3]=b[3]*c[3];return a}function c(a,b,c){a[0]=b[0]/c[0];a[1]=b[1]/c[1];a[2]=b[2]/c[2];a[3]=b[3]/c[3];return a}function b(a,b,c){a[0]=b[0]*c;a[1]=b[1]*c;a[2]=b[2]*c;a[3]=b[3]*c;return a}function d(a,b){var c=b[0]-a[0],d=b[1]-a[1],e=b[2]-a[2];a=b[3]-a[3];return Math.sqrt(c*c+d*d+e*e+a*a)}function e(a,b){var c=b[0]-a[0],d=b[1]-a[1],e=b[2]-a[2];a=b[3]-a[3];return c*c+d*d+e*e+a*a}function g(a){var b=a[0],c=a[1],d=a[2];a=a[3];return Math.sqrt(b*b+c*c+d*d+a*a)}function l(a){var b=
+a[0],c=a[1],d=a[2];a=a[3];return b*b+c*c+d*d+a*a}function k(a,b){var c=b[0],d=b[1],e=b[2];b=b[3];var g=c*c+d*d+e*e+b*b;0<g&&(g=1/Math.sqrt(g),a[0]=c*g,a[1]=d*g,a[2]=e*g,a[3]=b*g);return a}Object.defineProperty(f,"__esModule",{value:!0});f.create=q;f.clone=function(a){var b=new t.a(4);b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];return b};f.fromValues=function(a,b,c,d){var e=new t.a(4);e[0]=a;e[1]=b;e[2]=c;e[3]=d;return e};f.copy=function(a,b){a[0]=b[0];a[1]=b[1];a[2]=b[2];a[3]=b[3];return a};f.set=function(a,
+b,c,d,e){a[0]=b;a[1]=c;a[2]=d;a[3]=e;return a};f.add=function(a,b,c){a[0]=b[0]+c[0];a[1]=b[1]+c[1];a[2]=b[2]+c[2];a[3]=b[3]+c[3];return a};f.subtract=p;f.multiply=n;f.divide=c;f.ceil=function(a,b){a[0]=Math.ceil(b[0]);a[1]=Math.ceil(b[1]);a[2]=Math.ceil(b[2]);a[3]=Math.ceil(b[3]);return a};f.floor=function(a,b){a[0]=Math.floor(b[0]);a[1]=Math.floor(b[1]);a[2]=Math.floor(b[2]);a[3]=Math.floor(b[3]);return a};f.min=function(a,b,c){a[0]=Math.min(b[0],c[0]);a[1]=Math.min(b[1],c[1]);a[2]=Math.min(b[2],
+c[2]);a[3]=Math.min(b[3],c[3]);return a};f.max=function(a,b,c){a[0]=Math.max(b[0],c[0]);a[1]=Math.max(b[1],c[1]);a[2]=Math.max(b[2],c[2]);a[3]=Math.max(b[3],c[3]);return a};f.round=function(a,b){a[0]=Math.round(b[0]);a[1]=Math.round(b[1]);a[2]=Math.round(b[2]);a[3]=Math.round(b[3]);return a};f.scale=b;f.scaleAndAdd=function(a,b,c,d){a[0]=b[0]+c[0]*d;a[1]=b[1]+c[1]*d;a[2]=b[2]+c[2]*d;a[3]=b[3]+c[3]*d;return a};f.distance=d;f.squaredDistance=e;f.length=g;f.squaredLength=l;f.negate=function(a,b){a[0]=
+-b[0];a[1]=-b[1];a[2]=-b[2];a[3]=-b[3];return a};f.inverse=function(a,b){a[0]=1/b[0];a[1]=1/b[1];a[2]=1/b[2];a[3]=1/b[3];return a};f.normalize=k;f.dot=function(a,b){return a[0]*b[0]+a[1]*b[1]+a[2]*b[2]+a[3]*b[3]};f.lerp=function(a,b,c,d){var e=b[0],g=b[1],k=b[2];b=b[3];a[0]=e+d*(c[0]-e);a[1]=g+d*(c[1]-g);a[2]=k+d*(c[2]-k);a[3]=b+d*(c[3]-b);return a};f.random=function(a,c){c=c||1;a[0]=t.c();a[1]=t.c();a[2]=t.c();a[3]=t.c();k(a,a);b(a,a,c);return a};f.transformMat4=function(a,b,c){var d=b[0],e=b[1],
+g=b[2];b=b[3];a[0]=c[0]*d+c[4]*e+c[8]*g+c[12]*b;a[1]=c[1]*d+c[5]*e+c[9]*g+c[13]*b;a[2]=c[2]*d+c[6]*e+c[10]*g+c[14]*b;a[3]=c[3]*d+c[7]*e+c[11]*g+c[15]*b;return a};f.transformQuat=function(a,b,c){var d=b[0],e=b[1],g=b[2],k=c[0],l=c[1],m=c[2];c=c[3];var f=c*d+l*g-m*e,h=c*e+m*d-k*g,t=c*g+k*e-l*d;d=-k*d-l*e-m*g;a[0]=f*c+d*-k+h*-m-t*-l;a[1]=h*c+d*-l+t*-k-f*-m;a[2]=t*c+d*-m+f*-l-h*-k;a[3]=b[3];return a};f.str=function(a){return"vec4("+a[0]+", "+a[1]+", "+a[2]+", "+a[3]+")"};f.exactEquals=function(a,b){return a[0]===
+b[0]&&a[1]===b[1]&&a[2]===b[2]&&a[3]===b[3]};f.equals=function(a,b){var c=a[0],d=a[1],e=a[2];a=a[3];var g=b[0],k=b[1],l=b[2];b=b[3];return Math.abs(c-g)<=t.b*Math.max(1,Math.abs(c),Math.abs(g))&&Math.abs(d-k)<=t.b*Math.max(1,Math.abs(d),Math.abs(k))&&Math.abs(e-l)<=t.b*Math.max(1,Math.abs(e),Math.abs(l))&&Math.abs(a-b)<=t.b*Math.max(1,Math.abs(a),Math.abs(b))};var t=a(34);f.sub=p;f.mul=n;f.div=c;f.dist=d;f.sqrDist=e;f.len=g;f.sqrLen=l;h=function(){var a=q();return function(b,c,d,e,g,k){c||(c=4);d||
+(d=0);for(e=e?Math.min(e*c+d,b.length):b.length;d<e;d+=c)a[0]=b[d],a[1]=b[d+1],a[2]=b[d+2],a[3]=b[d+3],g(a,a,k),b[d]=a[0],b[d+1]=a[1],b[d+2]=a[2],b[d+3]=a[3];return b}}();f.forEach=h},function(h,f,a){f.a=function(a){a=Math.ceil((void 0===a?128:a)/32);var f=new Uint32Array(a);crypto.getRandomValues(f);for(var h="",c=0;c<a;++c)h+=("00000000"+f[c].toString(16)).slice(-8);return h}},function(h,f,a){f=a(236);a="object"==typeof self&&self&&self.Object===Object&&self;f=f||a||Function("return this")();h.exports=
+f},function(h,f,a){f=a(137).Symbol;h.exports=f},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return c});f.c=function(a,c){if(void 0!==c){"string"===typeof c&&(c={type:c});Object(p.t)(c);var d=Object(p.v)(c,
+"type",p.A);d=b.get(d);if(void 0===d)throw Error("Invalid tool type: "+JSON.stringify(c)+".");return d(a,c)}};f.b=function(a,c){b.set(a,c)};h=a(1);var p=a(4),n=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),c=function(a){function b(){if(!(this instanceof b))throw new TypeError("Cannot call a class as a function");
+var a=(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!a||"object"!==typeof a&&"function"!==typeof a?this:a}q(b,a);n(b,[{key:"setActive",value:function(a){}},{key:"deactivate",value:function(){}}]);return b}(h.a),b=new Map},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+
+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}f.c=function(a,b,c){c=void 0===c?!1:c;b=b.attribute("aIndexRaw");0<=b&&(c&&a.vertexAttribDivisor(b,0),a.disableVertexAttribArray(b))};f.d=function(a){return a.memoize.get("IndexBuffer",function(){return new d(a)})};f.b=function(a){a.addAttribute("highp vec3","aIndexRaw");a.addVertexCode(c.m);a.addVertexCode("\nuint32_t getPrimitiveIndex() {\n  uint32_t result;\n  result.value = vec4(aIndexRaw, 0.0);\n  return result;\n}\n")};
+a.d(f,"a",function(){return e});f.e=function(a,b){return n.a.fromData(a,new Uint8Array(b.buffer,b.byteOffset,b.byteLength),WebGL2RenderingContext.ARRAY_BUFFER,WebGL2RenderingContext.STATIC_DRAW)};h=a(1);var n=a(20),c=a(21),b=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),d=function(a){function c(a){q(this,
+c);var b=(c.__proto__||Object.getPrototypeOf(c)).call(this);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");b=!b||"object"!==typeof b&&"function"!==typeof b?this:b;b.gl=a;b.buffer=b.registerDisposer(new n.a(a));return b}p(c,a);b(c,[{key:"resize",value:function(a){var b;if(256>a){var c=b=new Uint8Array(a);for(var d=0;d<a;++d)c[d]=d;c=1}else if(65536>a){c=b=new Uint8Array(2*a);d=0;for(var e=2*a,g=0;g<e;g+=2)c[g]=d,c[g+1]=d>>8,++d;c=2}else if(16777216>a){c=
+b=new Uint8Array(3*a);d=3*a;for(g=e=0;g<d;g+=3)c[g]=e,c[g+1]=e>>8,c[g+2]=e>>16,++e;c=3}else throw Error("Length of index buffer must not exceed 2^24.");this.buffer.setData(b);this.numComponents=c;this.length=a}},{key:"ensure",value:function(a){(void 0===this.length||this.length<a)&&this.resize(a);return this}},{key:"bindToVertexAttrib",value:function(a){this.buffer.bindToVertexAttrib(a,this.numComponents,WebGL2RenderingContext.UNSIGNED_BYTE,!0)}},{key:"bind",value:function(a,b){b=void 0===b?0:b;a=
+a.attribute("aIndexRaw");0<=a&&(this.bindToVertexAttrib(a),0!==b&&this.gl.vertexAttribDivisor(a,b))}}]);return c}(h.a),e=function(){function a(b){q(this,a);this.name=b;this.attributeName="a"+this.name;this.getterName="get"+this.name}b(a,[{key:"defineShader",value:function(a){a.addAttribute("highp vec4",this.attributeName);a.addVertexCode("\nfloat "+this.getterName+" () {\n  vec4 temp = "+this.attributeName+";\n  return temp.x + temp.y * 256.0 + temp.z * 65536.0;\n}\n")}},{key:"bind",value:function(a,
+b){a.bindToVertexAttrib(b.attribute(this.attributeName),4,WebGL2RenderingContext.UNSIGNED_BYTE,!1)}},{key:"disable",value:function(a){a.gl.disableVertexAttribArray(a.attribute(this.attributeName))}}]);return a}()},function(h,f,a){function q(a){a.addOutputBuffer("vec4","v4f_fragColor",null);a.setFragmentMain("v4f_fragColor = getValue0();")}f.a=q;f.b=function(a,b,d){b=void 0===b?q:b;d=void 0===d?1:d;return a.memoize.get("elementWiseTextureShader:"+d+":"+Object(p.a)(b),function(){var c=new n.a(a);c.addVarying("vec2",
+"vTexCoord");c.addUniform("sampler2D","uSampler",d);c.addInitializer(function(b){for(var c=[],e=0;e<d;++e)c[e]=e;a.uniform1iv(b.uniform("uSampler"),c)});for(var g=0;g<d;++g)c.addFragmentCode("\nvec4 getValue"+g+"() {\n  return texture(uSampler["+g+"], vTexCoord);\n}\n");c.addUniform("mat4","uProjectionMatrix");c.require(b);c.addAttribute("vec4","aVertexPosition");c.addAttribute("vec2","aTexCoord");c.setVertexMain("vTexCoord = aTexCoord; gl_Position = uProjectionMatrix * aVertexPosition;");return c.build()})};
+f.c=function(a){return a.memoize.get("trivialColorShader",function(){var b=new n.a(a);b.addVarying("vec4","vColor");b.addOutputBuffer("vec4","v4f_fragColor",null);b.setFragmentMain("v4f_fragColor = vColor;");b.addAttribute("vec4","aVertexPosition");b.addAttribute("vec4","aColor");b.addUniform("mat4","uProjectionMatrix");b.setVertexMain("vColor = aColor; gl_Position = uProjectionMatrix * aVertexPosition;");return b.build()})};var p=a(22),n=a(24)},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");
+}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a){for(var b=
+0,c=0;3>c;++c)0>a[c]&&(b+=1<<c);return b}a.d(f,"a",function(){return m});h=a(1);var b=a(2),d=a(20),e=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),g=b.s.create(),l=b.s.create(),k=new Float32Array([0,0,0,1,0,0,0,1,0,1,1,0,0,0,1,1,0,1,0,1,1,1,1,1]);f.b=k;var t=function(a){function b(a){q(this,b);var c=p(this,
+(b.__proto__||Object.getPrototypeOf(b)).call(this));c.outputVertexIndices=c.registerDisposer(d.a.fromData(a,new Float32Array([0,1,2,3,4,5]),a.ARRAY_BUFFER,a.STATIC_DRAW));a=[0,1,2,4,5,3,6,7];for(var e=[0,1,2,5,3,4,6,7],g=[0,1,1,4,4,7,4,7,1,5,0,1,1,4,4,7,0,2,2,5,5,7,5,7,2,6,0,2,2,5,5,7,0,3,3,6,6,7,6,7,3,4,0,3,3,6,6,7],k=[0,1,2,3,4,5,6,7,1,4,5,0,3,7,2,6,2,6,0,5,7,3,1,4,3,0,6,4,1,2,7,5,4,3,7,1,0,6,5,2,5,2,1,7,6,0,4,3,6,7,3,2,5,4,0,1,7,5,4,6,2,1,3,0],l=[],m=0;8>m;++m)for(var f=0;f<g.length;++f)l.push(a[k[8*
+e[m]+g[f]]]);c.vertexIndices=new Int32Array(l);return c}n(b,a);e(b,null,[{key:"get",value:function(a){return a.memoize.get("SliceViewShaderBuffers",function(){return new b(a)})}}]);return b}(h.a),m=function(a){function d(a){q(this,d);var b=p(this,(d.__proto__||Object.getPrototypeOf(d)).call(this));b.data=b.registerDisposer(t.get(a));return b}n(d,a);e(d,null,[{key:"get",value:function(a){return a.memoize.get("BoundingBoxCrossSectionRenderHelper",function(){return new d(a)})}}]);e(d,[{key:"defineShader",
+value:function(a){a.addUniform("highp vec3","uPlaneNormal");a.addUniform("highp float","uPlaneDistance");a.addUniform("highp ivec2","uVertexIndex",24);a.addUniform("highp vec3","uVertexBasePosition",8);a.addInitializer(function(a){a.gl.uniform3fv(a.uniform("uVertexBasePosition"),k)});a.addVertexCode("\nvec3 getBoundingBoxPlaneIntersectionVertexPosition(vec3 chunkSize, vec3 boxLower, vec3 lowerClipBound, vec3 upperClipBound, int vertexIndex) {\n  for (int e = 0; e < 4; ++e) {\n    highp ivec2 vidx = uVertexIndex[vertexIndex*4 + e];\n    highp vec3 v1 = max(lowerClipBound, min(upperClipBound, chunkSize * uVertexBasePosition[vidx.x] + boxLower));\n    highp vec3 v2 = max(lowerClipBound, min(upperClipBound, chunkSize * uVertexBasePosition[vidx.y] + boxLower));\n    highp vec3 vDir = v2 - v1;\n    highp float denom = dot(vDir, uPlaneNormal);\n    if (abs(denom) > 0.001) {\n      highp float lambda = (uPlaneDistance - dot(v1, uPlaneNormal)) / denom;\n      if ((lambda >= -0.001) && (lambda <= (1.0 + 0.001))) {\n        lambda = clamp(lambda, 0.0, 1.0);\n        highp vec3 position = v1 + lambda * vDir;\n        return position;\n      }\n    }\n  }\n  return vec3(0, 0, 0);\n}\n")}},
+{key:"computeVertexPositionDebug",value:function(a,d,e,g,l,m,f){var h=c(l);h=this.data.vertexIndices.subarray(48*h,48*(h+1));for(var t=[0,0],r=[b.s.create(),b.s.create()],n=b.s.create(),u=b.s.create(),v=function(a){return k.subarray(3*a,3*a+3)},p=0;4>p;++p){for(var q=0;2>q;++q)t[q]=h[2*(4*f+p)+q],b.s.multiply(r[q],a,v(t[q])),b.s.add(r[q],r[q],m),b.s.min(r[q],r[q],e),b.s.max(r[q],r[q],d);b.s.subtract(n,r[1],r[0]);q=b.s.dot(n,l);if(.001<Math.abs(q)){var w=(g-b.s.dot(r[0],l))/q;if(-.001<=w&&1.001>=w)return w=
+Math.max(0,Math.min(1,w)),b.s.scaleAndAdd(u,r[0],n,w),u;console.log("vertex "+f+", e = "+p+", skipped, deom = "+q+", "+("vDir = "+Object(b.t)(n)+", ")+("uPlaneNormal = "+Object(b.t)(l)+", ")+("lambda="+w))}else console.log("vertex "+f+", e = "+p+", skipped, deom = "+q+", "+("vDir = "+Object(b.t)(n)+", uPlaneNormal = "+Object(b.t)(l)))}}},{key:"setPlane",value:function(a,b,d){var e=a.gl;e.uniform3fv(a.uniform("uPlaneNormal"),b);e.uniform1f(a.uniform("uPlaneDistance"),d);b=c(b);e.uniform2iv(a.uniform("uVertexIndex"),
+this.data.vertexIndices.subarray(48*b,48*(b+1)))}},{key:"setViewportPlane",value:function(a,c,d,e){c=Object(b.p)(g,c,e);d=b.s.dot(b.s.transformMat4(l,d,e),c);this.setPlane(a,c,d)}}]);return d}(h.a)},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,
+b):a.__proto__=b)}a.d(f,"a",function(){return b});h=a(1);var p=a(100),n=a(52),c=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();f.b=p.b;var b=function(a){function b(a,c){c=void 0===c?1:c;if(!(this instanceof b))throw new TypeError("Cannot call a class as a function");var d=(b.__proto__||Object.getPrototypeOf(b)).call(this);
+if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");d=!d||"object"!==typeof d&&"function"!==typeof d?this:d;d.linesPerInstance=c;d.lineOffsetsBuffer=Object(n.a)(a,0,-1,1,1,c,1);d.quadHelper=d.registerDisposer(new p.a(a,c));return d}q(b,a);c(b,[{key:"defineShader",value:function(a){a.addAttribute("highp vec2","aLineOffset");a.addUniform("highp vec3","uLineParams");a.addVarying("highp float","vLineCoord");a.addVertexCode("\nvoid emitLine(mat4 projection, vec3 vertexA, vec3 vertexB) {\n  vec3 vertexPosition = mix(vertexA, vertexB, aLineOffset.x);\n  vec3 otherVertexPosition = mix(vertexB, vertexA, aLineOffset.x);\n\n  vec4 vertexPositionClip = projection * vec4(vertexPosition, 1.0);\n  vec4 otherVertexPositionClip = projection * vec4(otherVertexPosition, 1.0);\n\n  vec3 vertexPositionDevice = vertexPositionClip.xyz / vertexPositionClip.w;\n  vec3 otherVertexPositionDevice = otherVertexPositionClip.xyz / otherVertexPositionClip.w;\n\n  vec2 lineDirection = normalize(otherVertexPositionDevice.xy - vertexPositionDevice.xy);\n  vec2 lineNormal = vec2(lineDirection.y, -lineDirection.x);\n\n  gl_Position = vertexPositionClip;\n  gl_Position.xy += aLineOffset.y * (2.0 * aLineOffset.x - 1.0) * lineNormal * uLineParams.xy * 0.5 * gl_Position.w;\n  vLineCoord = aLineOffset.y;\n}\n");
+a.addFragmentCode("\nfloat getLineAlpha() {\n  return clamp((1.0 - abs(vLineCoord)) / uLineParams.z, 0.0, 1.0);\n}\n")}},{key:"draw",value:function(a,b,c,d,e){var g=a.attribute("aLineOffset");this.lineOffsetsBuffer.bindToVertexAttrib(g,2);c+=d;var k=a.gl;k.uniform3f(a.uniform("uLineParams"),2*c/b.viewportWidth,2*c/b.viewportHeight,d/c);this.quadHelper.draw(k,e);k.disableVertexAttribArray(g)}}]);return b}(h.a)},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+
+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return b});h=a(1);var p=a(20),n=a(141),c=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),b=function(a){function b(a){if(!(this instanceof
+b))throw new TypeError("Cannot call a class as a function");var c=(b.__proto__||Object.getPrototypeOf(b)).call(this);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");c=!c||"object"!==typeof c&&"function"!==typeof c?this:c;c.gl=a;c.vertexBuffer=c.registerDisposer(p.a.fromData(a,new Float32Array([0,0,0,1,1,0,0,1,0,0,0,1,0,1,0,1,0,0,0,1,0,0,1,1]),a.ARRAY_BUFFER,a.STATIC_DRAW));c.colorBuffer=c.registerDisposer(p.a.fromData(a,new Float32Array([1,0,0,.5,1,0,
+0,.5,0,1,0,.5,0,1,0,.5,0,0,1,.5,0,0,1,.5]),a.ARRAY_BUFFER,a.STATIC_DRAW));c.trivialColorShader=c.registerDisposer(Object(n.c)(a));return c}q(b,a);c(b,[{key:"draw",value:function(a,b){b=void 0===b?!0:b;var c=this.trivialColorShader,d=this.gl;c.bind();d.uniformMatrix4fv(c.uniform("uProjectionMatrix"),!1,a);a=c.attribute("aVertexPosition");this.vertexBuffer.bindToVertexAttrib(a,4);c=c.attribute("aColor");this.colorBuffer.bindToVertexAttrib(c,4);b&&(d.colorMask(!1,!1,!1,!0),d.clearColor(0,0,0,0),d.clear(d.COLOR_BUFFER_BIT),
+d.colorMask(!0,!0,!0,!0),d.enable(d.BLEND),d.blendFunc(d.ONE_MINUS_DST_ALPHA,d.DST_ALPHA));d.lineWidth(1);d.drawArrays(d.LINES,0,6);b&&d.disable(d.BLEND);d.disableVertexAttribArray(a);d.disableVertexAttribArray(c)}}],[{key:"get",value:function(a){return a.memoize.get("SliceViewPanel:AxesLineHelper",function(){return new b(a)})}}]);return b}(h.a)},function(h,f,a){a.d(f,"a",function(){return p});var q=function(){function a(a,b){for(var c=0;c<b.length;c++){var e=b[c];e.enumerable=e.enumerable||!1;e.configurable=
+!0;"value"in e&&(e.writable=!0);Object.defineProperty(a,e.key,e)}}return function(c,b,d){b&&a(c.prototype,b);d&&a(c,d);return c}}(),p=function(){function a(){if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");this.renderLayers=[null];this.pickData=[null];this.values=[0,0,0];this.nextPickID=1}q(a,[{key:"clear",value:function(){this.renderLayers.length=1;this.pickData.length=1;this.values.length=3;this.nextPickID=1}},{key:"registerUint64",value:function(a,b,d){return this.register(a,
+void 0===d?1:d,b.low,b.high)}},{key:"register",value:function(a,b,d,e,g){var c=this.renderLayers,k=this.values,f=this.nextPickID;this.nextPickID+=void 0===b?1:b;b=c.length;c[b]=a;a=3*b;k[a]=f;k[a+1]=void 0===d?0:d;k[a+2]=void 0===e?0:e;this.pickData[b]=void 0===g?null:g;return f}},{key:"setMouseState",value:function(a,b){for(var c=this.renderLayers,e=this.values,g=0,l=c.length-1;g<l;){var k=Math.ceil(g+(l-g)/2);e[3*k]>b?l=k-1:g=k}c=a.pickedRenderLayer=c[g];l=3*g;b=a.pickedOffset=b-e[l];k=a.pickedValue;
+k.low=e[l+1];k.high=e[l+2];a.pickedAnnotationId=void 0;a.pickedAnnotationLayer=void 0;null!==c&&c.updateMouseState(a,k,b,this.pickData[g])}}]);return a}()},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&
+b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return r});var n=a(101);h=a(147);var c=a(79),b=a(25),d=a(2),e=a(60),g=a(148),l=a(258),k=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),t=
+function v(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return v(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};a(259);a(45);var m=d.s.create(),r=function(a){function f(a,k,h){if(!(this instanceof f))throw new TypeError("Cannot call a class as a function");var t=q(this,(f.__proto__||Object.getPrototypeOf(f)).call(this,a,k,h.visibility));t.viewer=h;t.mouseX=0;t.mouseY=
+0;t.mouseStateUpdater=t.updateMouseState.bind(t);t.inputEventMap=h.inputEventMap;k.classList.add("neuroglancer-rendered-data-panel");k.classList.add("neuroglancer-panel");k.classList.add("neuroglancer-noselect");t.registerDisposer(new c.a(k));t.registerDisposer(new e.b(k,t.inputEventMap));t.registerDisposer(new g.a(k,t.inputEventMap));t.registerEventListener(k,"mousemove",t.onMousemove.bind(t));t.registerEventListener(k,"mouseleave",t.onMouseout.bind(t));Object(b.c)(k,"snap",function(){t.navigationState.pose.snap()});
+Object(b.c)(k,"zoom-in",function(){t.navigationState.zoomBy(.5)});Object(b.c)(k,"zoom-out",function(){t.navigationState.zoomBy(2)});Object(b.c)(k,"highlight",function(){t.viewer.layerManager.invokeAction("highlight")});for(a={axis:0};3>a.axis;a={axis:a.axis},++a.axis){h=d.a[a.axis];for(var r={},p=$jscomp.makeIterator([-1,1]),v=p.next();!v.done;r={sign:r.sign,tempOffset:r.tempOffset},v=p.next())r.sign=v.value,v=0>r.sign?"-":"+",Object(b.c)(k,"rotate-relative-"+h+v,function(a,b){return function(){t.navigationState.pose.rotateRelative(d.e[a.axis],
+.1*b.sign)}}(a,r)),r.tempOffset=d.s.create(),Object(b.c)(k,""+h+v,function(a,b){return function(){var c=t.navigationState,d=a.tempOffset;d[0]=0;d[1]=0;d[2]=0;d[b.axis]=a.sign;c.pose.translateVoxelsRelative(d)}}(r,a))}Object(b.c)(k,"zoom-via-wheel",function(a){a=a.detail;t.onMousemove(a);t.zoomByMouse(Object(l.a)(a))});a={};h=$jscomp.makeIterator([1,10]);for(r=h.next();!r.done;a={amount:a.amount},r=h.next())a.amount=r.value,Object(b.c)(k,"z+"+a.amount+"-via-wheel",function(a){return function(b){var c=
+b.detail;b=t.navigationState;c=0!==c.deltaY?c.deltaY:c.deltaX;m[0]=0;m[1]=0;m[2]=(0<c?-1:1)*a.amount;b.pose.translateVoxelsRelative(m)}}(a));Object(b.c)(k,"move-to-mouse-position",function(){var a=t.viewer.mouseState;if(a.updateUnconditionally()){var b=t.navigationState.pose.position;d.s.copy(b.spatialCoordinates,a.position);b.changed.dispatch()}});Object(b.c)(k,"snap",function(){return t.navigationState.pose.snap()});Object(b.c)(k,"select-annotation",function(){var a=t.viewer;a=Object(n.a)(a.mouseState,
+a.layerManager);if(void 0!==a){var b=a.layer.layer;null!==b&&(t.viewer.selectedLayer.layer=a.layer,t.viewer.selectedLayer.visible=!0,b.tabs.value="annotations",b.selectedAnnotation.value={id:a.id,partIndex:a.partIndex})}});return t}p(f,a);k(f,[{key:"onMouseout",value:function(a){a=this.viewer.mouseState;a.updater=void 0;a.setActive(!1)}},{key:"onMousemove",value:function(a){var b=this.element;a.target===b&&(this.mouseX=a.offsetX-b.clientLeft,this.mouseY=a.offsetY-b.clientTop,b=this.viewer.mouseState,
+b.pageX=a.pageX,b.pageY=a.pageY,b.updater=this.mouseStateUpdater,b.triggerUpdate())}},{key:"disposed",value:function(){var a=this.viewer.mouseState;a.updater===this.mouseStateUpdater&&(a.updater=void 0,a.setActive(!1));t(f.prototype.__proto__||Object.getPrototypeOf(f.prototype),"disposed",this).call(this)}}]);return f}(h.b)},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
+return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"b",function(){return l});a.d(f,"a",function(){return k});h=a(10);var c=a.n(h);h=a(1);var b=a(7),d=a(255),e=function(){function a(a,
+b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),g=function m(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return m(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},l=function(a){function b(a,c,d){q(this,
+b);var e=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));e.context=a;e.element=c;e.visibility=d;e.gl=a.gl;a.addPanel(e);return e}n(b,a);e(b,[{key:"scheduleRedraw",value:function(){this.visible&&this.context.scheduleRedraw()}},{key:"setGLViewport",value:function(){var a=this.element,b=a.getBoundingClientRect(),c=this.context.canvasRect,d=c.width/this.context.canvas.width*(a.clientLeft+b.left-c.left),e=a.clientWidth,g=a.clientHeight;b=c.height/this.context.canvas.height*(b.top-c.top+a.clientTop)+
+g;a=this.gl;a.enable(a.SCISSOR_TEST);b=this.context.canvas.height-b;a.viewport(d,b,e,g);a.scissor(d,b,e,g)}},{key:"disposed",value:function(){this.context.removePanel(this);g(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"disposed",this).call(this)}},{key:"visible",get:function(){return this.visibility.visible}}]);return b}(h.a),k=function(a){function g(a){q(this,g);var e=p(this,(g.__proto__||Object.getPrototypeOf(g)).call(this));e.container=a;e.canvas=document.createElement("canvas");
+e.updateStarted=new b.a;e.updateFinished=new b.a;e.panels=new Set;e.updatePending=null;e.onResize=e.registerCancellable(c()(function(){e.scheduleRedraw();for(var a=$jscomp.makeIterator(e.panels),b=a.next();!b.done;b=a.next())b.value.onResize()},0));var k=e.canvas;a.style.position="relative";k.style.position="absolute";k.style.top="0px";k.style.left="0px";k.style.width="100%";k.style.height="100%";k.style.zIndex="0";a.appendChild(k);e.gl=Object(d.a)(k);e.registerEventListener(window,"resize",e.onResize.bind(e));
+return e}n(g,a);e(g,[{key:"isReady",value:function(){for(var a=$jscomp.makeIterator(this.panels),b=a.next();!b.done;b=a.next())if(b=b.value,b.visible&&!b.isReady())return!1;return!0}},{key:"makeCanvasOverlayElement",value:function(){var a=document.createElement("div");a.style.position="absolute";a.style.top="0px";a.style.left="0px";a.style.width="100%";a.style.height="100%";a.style.zIndex="2";this.container.appendChild(a);return a}},{key:"disposed",value:function(){null!=this.updatePending&&(cancelAnimationFrame(this.updatePending),
+this.updatePending=null)}},{key:"addPanel",value:function(a){this.panels.add(a)}},{key:"removePanel",value:function(a){this.panels.delete(a);a.dispose()}},{key:"scheduleRedraw",value:function(){null===this.updatePending&&(this.updatePending=requestAnimationFrame(this.update.bind(this)))}},{key:"draw",value:function(){this.updateStarted.dispatch();var a=this.gl,b=this.canvas;b.width=b.offsetWidth;b.height=b.offsetHeight;this.canvasRect=b.getBoundingClientRect();this.gl.clearColor(0,0,0,0);a.clear(a.COLOR_BUFFER_BIT|
+a.DEPTH_BUFFER_BIT);b=$jscomp.makeIterator(this.panels);for(var c=b.next();!c.done;c=b.next()){c=c.value;var d=c.element;c.visible&&0!==d.clientWidth&&0!==d.clientHeight&&0!==d.offsetWidth&&0!==d.offsetHeight&&(c.setGLViewport(),c.draw())}a.disable(a.SCISSOR_TEST);this.gl.clearColor(1,1,1,1);this.gl.colorMask(!1,!1,!1,!0);a.clear(a.COLOR_BUFFER_BIT);this.gl.colorMask(!0,!0,!0,!0);this.updateFinished.dispatch()}},{key:"update",value:function(){this.updatePending=null;this.draw()}}]);return g}(h.a)},
+function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,
+"a",function(){return b});h=a(1);var n=a(25),c=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),b=function(a){function b(a,c){if(!(this instanceof b))throw new TypeError("Cannot call a class as a function");var d=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));d.target=a;d.eventMap=c;d.registerEventListener(a,
+"wheel",function(a){d.dispatch("wheel",a)});d.registerEventListener(a,"click",function(a){d.dispatch("click"+a.button,a)});d.registerEventListener(a,"dblclick",function(a){d.dispatch("dblclick"+a.button,a)});d.registerEventListener(a,"mousedown",function(a){d.dispatch("mousedown"+a.button,a)});d.registerEventListener(a,"mouseup",function(a){d.dispatch("mouseup"+a.button,a)});return d}p(b,a);c(b,[{key:"dispatch",value:function(a,b){Object(n.b)(a,b,this.eventMap)}}]);return b}(h.a)},function(h,f,a){f.a=
+function(a,f,h,c){f*=6;var b=Math.floor(f),d=f-b;f=c*(1-h);var e=c*(1-h*d);h=c*(1-h*(1-d));switch(b%6){case 0:a[0]=c;a[1]=h;a[2]=f;break;case 1:a[0]=e;a[1]=c;a[2]=f;break;case 2:a[0]=f;a[1]=c;a[2]=h;break;case 3:a[0]=f;a[1]=e;a[2]=c;break;case 4:a[0]=h;a[1]=f;a[2]=c;break;case 5:a[0]=c,a[1]=f,a[2]=e}return a};f.b=function(a,f,h,c){var b=Math.max(Math.max(f,h),c),d=Math.min(Math.min(f,h),c);a[2]=b;d===b?(a[0]=0,a[1]=0):(d=b-d,a[1]=d/b,a[0]=f===b?(h-c)/d:h===b?2+(c-f)/d:4+(f-h)/d,a[0]/=6,0>a[0]&&(a[0]+=
+1),1<a[0]&&--a[0]);return a}},function(h,f,a){h=new (a(151).a);f.a=h},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&
+b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a){var c,d,e;return function(g,k){if(void 0!==d&&(void 0===c||void 0===g||c.generation!==g.generation))return void 0===c&&e.addConsumer(k),d;c=void 0;e=new b.c;return d=a(g,e).then(function(a){c=a;e=void 0;return a},function(a){e.isCanceled&&(d=e=void 0);throw a;})}}a.d(f,"b",function(){return g});f.c=function(a){var b=0;return c(function(c,
+d){return a(d).then(function(a){return{generation:++b,credentials:a}})})};a.d(f,"a",function(){return k});var b=a(32);h=a(1);var d=a(97),e=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),g=function(a){function b(){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);
+return b}(h.a),l=function(){function a(){q(this,a);this.providers=new Map}e(a,[{key:"register",value:function(a,b){this.providers.set(a,b)}},{key:"getCredentialsProvider",value:function(a,b){var c=this.providers.get(a);if(void 0===c)throw Error("No registered credentials provider: "+JSON.stringify(a));return c(b)}}]);return a}(),k=function(a){function b(){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,new l))}n(b,a);e(b,[{key:"register",value:function(a,b){this.base.register(a,
+b)}}]);return b}(function(a){function b(a){q(this,b);var c=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.base=a;c.memoize=new d.b;return c}n(b,a);e(b,[{key:"getCredentialsProvider",value:function(a,b){var c=this;return this.memoize.get({key:a,parameters:b},function(){return c.registerDisposer(c.base.getCredentialsProvider(a,b).addRef())})}}]);return b}(h.a))},function(h,f,a){a.d(f,"c",function(){return q});f.a="/ocp/ca";f.b="/nd/sd";var q=function n(){if(!(this instanceof n))throw new TypeError("Cannot call a class as a function");
+};q.RPC_ID="ndstore/VolumeChunkSource"},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,
+b):a.__proto__=b)}function n(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function c(a,b,c){Object(E.t)(a);var d=Object(E.v)(a,"Base",function(a){return new B(a)});switch(d.typeName){case "uint8blk":case "grayscale8":var e=-1!==d.compressionName.indexOf("jpeg");return new M(a,b,d,e?r.c.JPEG:r.c.RAW,c);case "labels64":case "labelblk":return new M(a,b,d,r.c.COMPRESSED_SEGMENTATION,c);case "labelarray":case "labelmap":return new M(a,b,d,r.c.COMPRESSED_SEGMENTATIONARRAY,
+c);default:throw Error("DVID data type "+JSON.stringify(d.typeName)+" is not supported.");}}function b(a){try{for(var b=Object(E.u)(a,function(a){return new P(a)}),c=new Map,d=$jscomp.makeIterator(b),e=d.next();!e.done;e=d.next()){var g=$jscomp.makeIterator(e.value),k=g.next().value,l=g.next().value;c.set(k,l);for(var f=$jscomp.makeIterator(l.vnodes),m=f.next();!m.done;m=f.next()){var h=m.value;if(h!==k){var t=new P(l);c.set(h,t)}}}for(var r=$jscomp.makeIterator(c),n=r.next();!n.done;n=r.next()){var u=
+$jscomp.makeIterator(n.value),p=u.next().value;u.next().value.uuid=p}return c}catch(wa){throw Error("Failed to parse DVID repositories info: "+wa.message);}}function d(a,b){return a.memoize.getUncounted({type:"dvid:getServerInfo",baseUrls:b},function(){var a=Object(D.d)(Object(D.b)(b,"/api/repos/info","GET"),"json").then(function(a){return new N(a)}),c="repository info for DVID server "+b[0];x.a.forPromise(a,{initialMessage:"Retrieving "+c+".",delay:!0,errorPrefix:"Error retrieving "+c+": "});return a})}
+function e(a,b,c,d){return a.memoize.getUncounted({type:"dvid:getInstanceDetails",baseUrls:b,nodeKey:c,name:d.name},function(){var a=Object(D.d)(Object(D.b)(b,"/api/node/"+c+"/"+d.name+"/info","GET"),"json"),e="datainstance info for node "+c+" and instance "+d.name+" "+("on DVID server "+b[0]);x.a.forPromise(a,{initialMessage:"Retrieving "+e+".",delay:!0,errorPrefix:"Error retrieving "+e+": "});return a.then(function(a){a=Object(E.v)(a,"Extended",E.t);d.lowerVoxelBound=Object(E.v)(a,"MinPoint",function(a){return Object(E.d)(z.s.create(),
+a)});d.upperVoxelBound=Object(E.v)(a,"MaxPoint",function(a){return Object(E.d)(z.s.create(),a)});return d})})}function g(a,b,c,g){return d(a,b).then(function(d){d=d.getNode(c);if(void 0===d)throw Error("Invalid node: "+JSON.stringify(c)+".");d=d.dataInstances.get(g);if(!(d instanceof M))throw Error("Invalid data instance "+g+".");return e(a,b,c,d)}).then(function(d){return a.memoize.getUncounted({type:"dvid:MultiscaleVolumeChunkSource",baseUrls:b,nodeKey:c,dataInstanceKey:g},function(){return new S(a,
+b,c,g,d)})})}function l(a,b){var c=b.match(U);if(null===c)throw Error("Invalid DVID URL: "+JSON.stringify(b)+".");return g(a,[c[1]],c[2],c[3])}function k(a,b){return{offset:0,completions:Object(A.c)(b,a.dataInstances.values(),function(a){return a.name},function(a){return""+a.base.typeName})}}function t(a,b){var c=b.match(/^(?:([^\/]+)(?:\/([^\/]*))?)?$/);if(null===c)throw Error("Invalid DVID URL syntax.");if(void 0===c[2])return{offset:0,completions:Object(A.c)(b,a.repositories.values(),function(a){return a.uuid+
+"/"},function(a){return a.alias+": "+a.description})};b=c[1];a=a.getNode(b);return Object(A.a)(b.length+1,k(a,c[2]))}function m(a,b){a=a.match(/^((?:http|https):\/\/[^\/]+)\/(.*)$/);if(null===a)return Promise.reject(null);var c=a[1],e=a[2];return d(b,[c]).then(function(a){return Object(A.a)(c.length+1,t(a,e))})}Object.defineProperty(f,"__esModule",{value:!0});a.d(f,"getVolume",function(){return l});a.d(f,"volumeCompleter",function(){return m});a.d(f,"DataInstanceBaseInfo",function(){return B});a.d(f,
+"DataInstanceInfo",function(){return F});a.d(f,"VolumeDataInstanceInfo",function(){return M});f.parseDataInstance=c;a.d(f,"RepositoryInfo",function(){return P});f.parseRepositoriesInfo=b;a.d(f,"ServerInfo",function(){return N});f.getServerInfo=d;f.getDataInstanceDetails=e;a.d(f,"MultiscaleVolumeChunkSource",function(){return S});f.getShardedVolume=g;f.completeInstanceName=k;f.completeNodeAndInstance=t;a.d(f,"DVIDDataSource",function(){return Z});h=a(23);f=a(46);var r=a(272),u=a(54),v=a(103),w=a(26),
+y=a(33),x=a(31),A=a(61),z=a(2),D=a(62),E=a(4),G=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),C=new Map;C.set("uint8",w.a.UINT8);C.set("uint32",w.a.UINT32);C.set("uint64",w.a.UINT64);var B=function(){function a(b){n(this,a);this.obj=b;Object(E.t)(b);Object(E.v)(b,"TypeName",E.A)}G(a,[{key:"typeName",get:function(){return this.obj.TypeName}},
+{key:"compressionName",get:function(){return this.obj.Compression}}]);return a}(),F=function Q(a,b,c){n(this,Q);this.obj=a;this.name=b;this.base=c},L=function(a){function b(){n(this,b);return q(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}p(b,a);return b}(Object(h.f)(y.b,r.d)),I=function(a){function b(){n(this,b);return q(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}p(b,a);return b}(Object(h.f)(v.d,r.b)),O=function(a){function b(){n(this,b);return q(this,
+(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}p(b,a);return b}(Object(h.f)(u.c,r.a)),M=function(a){function b(a,c,d,e,g){n(this,b);d=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a,c,d));d.encoding=e;a=Object(E.v)(a,"Extended",E.t);var k=Object(E.v)(a,"Values",function(a){return Object(E.a)(a,E.t)});if(1>k.length)throw Error("Expected Extended.Values property to have length >= 1, but received: ${JSON.stringify(extendedValues)}.");d.numLevels=1;g=new Set(g);if(e===r.c.COMPRESSED_SEGMENTATIONARRAY)e=
+Object(E.v)(a,"MaxDownresLevel",E.z),d.numLevels=e+1;else for(;g.has(c+"_"+d.numLevels.toString());)d.numLevels+=1;d.meshSrc="";g.has(c+"_meshes")&&(d.meshSrc=c+"_meshes");d.skeletonSrc="";""!==d.meshSrc&&g.has(c+"_skeletons")&&(d.skeletonSrc=c+"_skeletons");d.dataType=Object(E.v)(k[0],"DataType",function(a){return Object(E.s)(a,C)});d.voxelSize=Object(E.v)(a,"VoxelSize",function(a){return Object(E.c)(z.s.create(),a,E.o)});d.numChannels=1;return d}p(b,a);G(b,[{key:"getSources",value:function(a,b,
+c){for(var d=this.encoding,e=[],g={},k=0;k<this.numLevels;g={volParameters:g.volParameters},++k){for(var l=z.s.scale(z.s.create(),this.voxelSize,Math.pow(2,k)),f=z.s.create(),m=z.s.create(),h=0;3>h;++h){var t=Math.floor(this.voxelSize[h]/l[h]*this.lowerVoxelBound[h]);f[h]=t-t%64;t=Math.ceil(this.voxelSize[h]/l[h]*(this.upperVoxelBound[h]+1));m[h]=t;0!==t%64&&(m[h]+=64-t%64)}h=b.dataInstanceKey;d!==r.c.COMPRESSED_SEGMENTATIONARRAY&&0<k&&(h+="_"+k.toString());g.volParameters={baseUrls:b.baseUrls,nodeKey:b.nodeKey,
+dataInstanceKey:h,dataScale:k.toString(),encoding:d};l=w.b.getDefaults({voxelSize:l,dataType:this.dataType,numChannels:this.numChannels,transform:z.k.fromTranslation(z.k.create(),z.s.multiply(z.s.create(),f,l)),baseVoxelOffset:f,upperVoxelBound:z.s.subtract(z.s.create(),m,f),volumeType:this.volumeType,volumeSourceOptions:c,compressedSegmentationBlockSize:d===r.c.COMPRESSED_SEGMENTATION||d===r.c.COMPRESSED_SEGMENTATIONARRAY?z.s.fromValues(8,8,8):void 0}).map(function(b){return function(c){return a.getChunkSource(L,
+{spec:c,parameters:b.volParameters})}}(g));e.push(l)}return e}},{key:"getMeshSource",value:function(a,b){return""!==this.meshSrc?a.getChunkSource(O,{parameters:{baseUrls:b.baseUrls,nodeKey:b.nodeKey,dataInstanceKey:this.meshSrc}}):null}},{key:"getSkeletonSource",value:function(a,b){return""!==this.skeletonSrc?a.getChunkSource(I,{parameters:{baseUrls:b.baseUrls,nodeKey:b.nodeKey,dataInstanceKey:this.skeletonSrc}}):null}},{key:"volumeType",get:function(){return this.encoding===r.c.COMPRESSED_SEGMENTATION||
+this.encoding===r.c.COMPRESSED_SEGMENTATIONARRAY?w.c.SEGMENTATION:w.c.IMAGE}}]);return b}(F),P=function aa(a){n(this,aa);this.errors=[];this.dataInstances=new Map;this.vnodes=new Set;if(a instanceof aa)this.alias=a.alias,this.description=a.description,this.errors=a.errors,this.dataInstances=a.dataInstances;else{Object(E.t)(a);this.alias=Object(E.v)(a,"Alias",E.A);this.description=Object(E.v)(a,"Description",E.A);for(var b=Object(E.v)(a,"DataInstances",E.t),d=Object.keys(b),e=$jscomp.makeIterator(d),
+g=e.next();!g.done;g=e.next()){g=g.value;try{this.dataInstances.set(g,c(b[g],g,d))}catch(Ka){g="Failed to parse data instance "+JSON.stringify(g)+": "+Ka.message,console.log(g),this.errors.push(g)}}a=Object(E.v)(a,"DAG",E.t);a=Object(E.v)(a,"Nodes",E.t);a=$jscomp.makeIterator(Object.keys(a));for(g=a.next();!g.done;g=a.next())this.vnodes.add(g.value)}},N=function(){function a(c){n(this,a);this.repositories=b(c)}G(a,[{key:"getNode",value:function(a){for(var b=[],c=$jscomp.makeIterator(this.repositories.keys()),
+d=c.next();!d.done;d=c.next())d=d.value,d.startsWith(a)&&b.push(d);if(1!==b.length)throw Error("Node key "+JSON.stringify(a)+" matches "+JSON.stringify(b)+" nodes.");return this.repositories.get(b[0])}}]);return a}(),S=function(){function a(b,c,d,e,g){n(this,a);this.chunkManager=b;this.baseUrls=c;this.nodeKey=d;this.dataInstanceKey=e;this.info=g}G(a,[{key:"getSources",value:function(a){return this.info.getSources(this.chunkManager,{baseUrls:this.baseUrls,nodeKey:this.nodeKey,dataInstanceKey:this.dataInstanceKey},
+a)}},{key:"getMeshSource",value:function(){var a=this.info.getMeshSource(this.chunkManager,{baseUrls:this.baseUrls,nodeKey:this.nodeKey,dataInstanceKey:this.dataInstanceKey});return null===a?this.info.getSkeletonSource(this.chunkManager,{baseUrls:this.baseUrls,nodeKey:this.nodeKey,dataInstanceKey:this.dataInstanceKey}):a}},{key:"dataType",get:function(){return this.info.dataType}},{key:"numChannels",get:function(){return this.info.numChannels}},{key:"volumeType",get:function(){return this.info.volumeType}}]);
+return a}(),U=/^((?:http|https):\/\/[^\/]+)\/([^\/]+)\/([^\/]+)$/,Z=function(a){function b(){n(this,b);return q(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}p(b,a);G(b,[{key:"getVolume",value:function(a,b){return l(a,b)}},{key:"volumeCompleter",value:function(a,b){return m(a,b)}},{key:"description",get:function(){return"DVID"}}]);return b}(f.a)},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
+return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a){var c=Object(F.a)(a,F.t);if(1>c.length)throw Error("No stacks found for owner object.");a=new Map;var k=Object(F.v)(c[0],
+"stackId",d);c=$jscomp.makeIterator(c);for(var f=c.next();!f.done;f=c.next()){var m=f.value;f=Object(F.v)(m,"stackId",b);a:{var h=m;Object(F.t)(h);var t=Object(F.v)(h,"state",F.A);m=[];var r=C.s.create(),n=C.s.create();if(P.has(t)){r=t=Object(F.v)(h,"stats",F.t);Object(F.t)(r);r=Object(F.v)(r,"stackBounds",F.t);n=C.s.create();n[0]=Object(F.v)(r,"minX",F.p);n[1]=Object(F.v)(r,"minY",F.p);n[2]=Object(F.v)(r,"minZ",F.p);r=n;n=t;Object(F.t)(n);n=Object(F.v)(n,"stackBounds",F.t);var u=C.s.create();u[0]=
+Object(F.v)(n,"maxX",F.p)+1;u[1]=Object(F.v)(n,"maxY",F.p)+1;u[2]=Object(F.v)(n,"maxZ",F.p)+1;n=u;t.hasOwnProperty("channelNames")&&(m=e(t))}else if(!N.has(t)){m=void 0;break a}t=Object(F.v)(h,"currentVersion",g);h=Object(F.v)(h,"stackId",l);m={lowerVoxelBound:r,upperVoxelBound:n,voxelResolution:t,project:h,channels:m}}void 0!==m&&(h=m.project,r=a.get(h),void 0===r&&(r=new Map,a.set(h,{stacks:r}),r=a.get(h)),r.stacks.set(f,m))}return{owner:k,projects:a}}function b(a){Object(F.t)(a);return Object(F.v)(a,
+"stack",F.A)}function d(a){Object(F.t)(a);return Object(F.v)(a,"owner",F.A)}function e(a){Object(F.t)(a);return Object(F.v)(a,"channelNames",function(a){return Object(F.a)(a,F.A)})}function g(a){Object(F.t)(a);var b=C.s.create();try{b[0]=Object(F.v)(a,"stackResolutionX",F.p),b[1]=Object(F.v)(a,"stackResolutionY",F.p),b[2]=Object(F.v)(a,"stackResolutionZ",F.p)}catch(ka){b[0]=1,b[1]=1,b[2]=1}return b}function l(a){Object(F.t)(a);return Object(F.v)(a,"project",F.A)}function k(a,b){for(var c=0,d=0;2>
+d;d++)c<a.upperVoxelBound[d]&&(c=a.upperVoxelBound[d]);if(b>=c)return 1;for(a=0;c>b;)c/=2,a++;return a}function t(a,b,d){return a.memoize.getUncounted({type:"render:getOwnerInfo",hostnames:b,owner:d},function(){return Object(B.d)(Object(B.b)(b,"/render-ws/v1/owner/"+d+"/stacks"),"json").then(c)})}function m(a,b,c){var d=c.match(U);if(null===d)throw Error("Invalid volume path "+JSON.stringify(c));var e=d[1],g=d[2],k=d[3],l=d[4],f=Object(F.e)(d[5]||"");return a.memoize.getUncounted({type:"render:MultiscaleVolumeChunkSource",
+hostnames:b,path:c},function(){return t(a,b,e).then(function(c){return new S(a,b,c,k,g,l,f)})})}function r(a,b){var c=b.match(Z);if(null===c)throw Error("Invalid render volume path: "+JSON.stringify(b));b=c[1].split(",");return m(a,b,c[2])}function u(a,b,c){var d=c.match(/^(?:([^\/]+)(?:\/([^\/]*))?(?:\/([^\/]*))?(\/.*?)?)?$/);if(null===d||void 0===d[2])return Promise.reject(null);if(void 0===d[3]){var e=d[2]||"";return t(a,b,d[1]).then(function(a){a=Object(G.c)(e,a.projects,function(a){return a[0]+
+"/"},function(){});return{offset:d[1].length+1,completions:a}})}if(void 0===d[4]){var g=d[3]||"";return t(a,b,d[1]).then(function(a){a=a.projects.get(d[2]);if(void 0===a)return Promise.reject(null);a=Object(G.c)(g,a.stacks,function(a){return a[0]+"/"},function(a){return"("+a[1].project+")"});return{offset:d[1].length+d[2].length+2,completions:a}})}var k=d[4].substr(1)||"";return t(a,b,d[1]).then(function(a){a=a.projects.get(d[2]);if(void 0===a)return Promise.reject(null);a=a.stacks.get(d[3]);if(void 0===
+a)return Promise.reject(null);a=a.channels;if(0===a.length)return Promise.reject(null);a=Object(G.c)(k,a,function(a){return a},function(){});return{offset:d[1].length+d[2].length+d[3].length+3,completions:a}})}function v(a,b){var c=a.match(Z);if(null===c)return Promise.reject(null);a=c[1].split(",");return u(b,a,c[2]).then(function(a){return Object(G.a)(c[1].length+1,a)})}function w(a,b){var c=b.match(Z);if(null===c)throw Error("Invalid render point path: "+JSON.stringify(b));return y(a,[c[1]],c[2])}
+function y(a,b,c){var d=c.match(U);if(null===d)throw Error("Invalid point path "+JSON.stringify(c));var e=d[1],g=d[2],k=d[3],l=Object(F.e)(d[4]||"");return a.memoize.getUncounted({type:"render:MultiscaleVectorGraphicsChunkSource",hostnames:b,path:c},function(){return t(a,b,e).then(function(c){return new H(a,b,c,k,g,l)})})}Object.defineProperty(f,"__esModule",{value:!0});a.d(f,"getVolume",function(){return r});a.d(f,"volumeCompleter",function(){return v});a.d(f,"MultiscaleVolumeChunkSource",function(){return S});
+f.computeStackHierarchy=k;f.getOwnerInfo=t;f.getShardedVolume=m;f.stackAndProjectCompleter=u;a.d(f,"MultiscaleVectorGraphicsChunkSource",function(){return H});f.getPointMatches=w;f.getShardedPointMatches=y;a.d(f,"RenderDataSource",function(){return Q});h=a(23);f=a(46);var x=a(274),A=a(155),z=a(156),D=a(26),E=a(33),G=a(61),C=a(2),B=a(62),F=a(4),L=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,
+d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),I=new Set(["jpg"]),O=function(a){function b(){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);return b}(Object(h.f)(E.b,x.b)),M=function(a){function b(){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);return b}(Object(h.f)(z.b,x.a)),P=new Set(["COMPLETE","READ_ONLY"]),N=new Set(["LOADING"]),S=function(){function a(b,c,d,e,g,k,l){q(this,
+a);this.chunkManager=b;this.baseUrls=c;this.ownerInfo=d;this.project=g;this.parameters=l;b=d.projects.get(g);if(void 0===b)throw Error("Specified project "+JSON.stringify(g)+" does not exist for "+("specified owner "+JSON.stringify(d.owner)));if(void 0===e){e=Array.from(b.stacks.keys());if(1!==e.length)throw Error("Dataset contains multiple stacks: "+JSON.stringify(e));e=e[0]}d=b.stacks.get(e);if(void 0===d)throw Error("Specified stack "+JSON.stringify(e)+" is not one of the supported stacks: "+JSON.stringify(Array.from(b.stacks.keys())));
+this.stack=e;this.stackInfo=d;void 0!==k&&0<k.length&&(this.channel=k);this.minIntensity=Object(F.x)(l.minIntensity);this.maxIntensity=Object(F.x)(l.maxIntensity);this.maxTileSpecsToRender=Object(F.x)(l.maxTileSpecsToRender);this.filter=Object(F.w)(l.filter);this.minX=Object(F.x)(l.minX);this.minY=Object(F.x)(l.minY);this.minZ=Object(F.x)(l.minZ);this.maxX=Object(F.x)(l.maxX);this.maxY=Object(F.x)(l.maxY);this.maxZ=Object(F.x)(l.maxZ);void 0!==this.minX&&(d.lowerVoxelBound[0]=this.minX);void 0!==
+this.minY&&(d.lowerVoxelBound[1]=this.minY);void 0!==this.minZ&&(d.lowerVoxelBound[2]=this.minZ);void 0!==this.maxX&&(d.upperVoxelBound[0]=this.maxX);void 0!==this.maxY&&(d.upperVoxelBound[1]=this.maxY);void 0!==this.maxZ&&(d.upperVoxelBound[2]=this.maxZ);k=Object(F.y)(l.encoding);if(void 0===k)k="jpg";else if(!I.has(k))throw Error("Invalid encoding: "+JSON.stringify(k)+".");this.encoding=k;this.numLevels=Object(F.x)(l.numlevels);this.dims=C.s.create();l=Object(F.x)(l.tilesize);void 0===l&&(l=1024);
+this.dims[0]=l;this.dims[1]=l;this.dims[2]=1}L(a,[{key:"getSources",value:function(a){var b=[],c=this.numLevels;void 0===c&&(c=k(this.stackInfo,this.dims[0]));for(var d=C.s.create(),e=C.s.create(),g=0;3>g;g++)d[g]=this.stackInfo.lowerVoxelBound[g]*this.stackInfo.voxelResolution[g],e[g]=this.stackInfo.upperVoxelBound[g]*this.stackInfo.voxelResolution[g];for(g=0;g<c;g++){for(var l=C.s.clone(this.stackInfo.voxelResolution),f=C.s.fromValues(1,1,1),m=0;2>m;++m)l[m]*=Math.pow(2,g),f[m]=this.dims[m];m=C.s.create();
+for(var h=C.s.create(),t=0;3>t;t++)m[t]=Math.floor(this.stackInfo.voxelResolution[t]/l[t]*this.stackInfo.lowerVoxelBound[t]),h[t]=Math.ceil(this.stackInfo.voxelResolution[t]/l[t]*this.stackInfo.upperVoxelBound[t]);l=D.b.make({voxelSize:l,chunkDataSize:f,numChannels:this.numChannels,dataType:this.dataType,lowerClipBound:d,upperClipBound:e,lowerVoxelBound:m,upperVoxelBound:h,volumeSourceOptions:a});l=this.chunkManager.getChunkSource(O,{spec:l,parameters:{baseUrls:this.baseUrls,owner:this.ownerInfo.owner,
+project:this.stackInfo.project,stack:this.stack,channel:this.channel,minIntensity:this.minIntensity,maxIntensity:this.maxIntensity,maxTileSpecsToRender:this.maxTileSpecsToRender,filter:this.filter,dims:this.dims[0]+"_"+this.dims[1],level:g,encoding:this.encoding}});b.push([l])}return b}},{key:"getMeshSource",value:function(){return null}},{key:"dataType",get:function(){return D.a.UINT8}},{key:"numChannels",get:function(){return 3}},{key:"volumeType",get:function(){return D.c.IMAGE}}]);return a}(),
+U=/^([^\/?]+)(?:\/([^\/?]+))?(?:\/([^\/?]+))(?:\/([^\/?]*))?(?:\?(.*))?$/,Z=/^((?:(?:(?:http|https):\/\/[^,\/]+)[^\/?])+)\/(.*)$/,H=function(){function a(b,c,d,e,g,k){q(this,a);this.chunkManager=b;this.baseUrls=c;this.ownerInfo=d;this.project=g;this.parameters=k;b=d.projects.get(g);if(void 0===b)throw Error("Specified project "+JSON.stringify(g)+" does not exist for "+("specified owner "+JSON.stringify(d.owner)));if(void 0===e){e=Array.from(b.stacks.keys());if(1!==e.length)throw Error("Dataset contains multiple stacks: "+
+JSON.stringify(e));e=e[0]}d=b.stacks.get(e);if(void 0===d)throw Error("Specified stack "+JSON.stringify(e)+" is not one of the supported stacks: "+JSON.stringify(Array.from(b.stacks.keys())));this.stack=e;this.stackInfo=d;d=Object(F.y)(k.matchCollection);void 0===d&&(d=e);this.matchCollection=d;e=Object(F.x)(k.zoffset);void 0===e&&(e=1);this.zoffset=e;this.dims=C.s.create();k=Object(F.x)(k.tilesize);void 0===k&&(k=1024);this.dims[0]=k;this.dims[1]=k;this.dims[2]=1}L(a,[{key:"getSources",value:function(a){var b=
+this.stackInfo.voxelResolution,c=C.s.subtract(C.s.create(),this.stackInfo.upperVoxelBound,this.stackInfo.lowerVoxelBound);C.s.multiply(c,c,b);c[2]=b[2];a=A.a.make({voxelSize:b,chunkSize:c,lowerChunkBound:C.s.fromValues(0,0,this.stackInfo.lowerVoxelBound[2]),upperChunkBound:C.s.fromValues(1,1,this.stackInfo.upperVoxelBound[2]),vectorGraphicsSourceOptions:a});return[[this.chunkManager.getChunkSource(M,{spec:a,parameters:{baseUrls:this.baseUrls,owner:this.ownerInfo.owner,project:this.stackInfo.project,
+stack:this.stack,encoding:"points",matchCollection:this.matchCollection,zoffset:this.zoffset}})]]}}]);return a}(),Q=function(a){function b(){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);L(b,[{key:"getVolume",value:function(a,b){return r(a,b)}},{key:"volumeCompleter",value:function(a,b){return v(a,b)}},{key:"getVectorGraphicsSource",value:function(a,b){return w(a,b)}},{key:"description",get:function(){return"Render"}}]);return b}(f.a)},function(h,f,
+a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"b",function(){return b});a.d(f,"a",function(){return d});var p=a(39),n=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=
+!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),c=function g(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return g(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},b;(function(a){a[a.LINE=0]="LINE";a[a.POINT=1]="POINT"})(b||(b={}));var d=function(a){function b(a){if(!(this instanceof b))throw new TypeError("Cannot call a class as a function");
+a=(b.__proto__||Object.getPrototypeOf(b)).call(this,a);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!a||"object"!==typeof a&&"function"!==typeof a?this:a}q(b,a);n(b,[{key:"toObject",value:function(){return c(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"toObject",this).call(this)}}],[{key:"make",value:function(a){return new b(Object.assign({},a,{transform:Object(p.k)(a.transform,a.vectorGraphicsSourceOptions)}))}},{key:"fromObject",
+value:function(a){return new b(a)}}]);return b}(p.i)},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,
+{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return g});a.d(f,"b",function(){return k});h=a(44);f=a(75);var c=a(20),b=a(55),d=function m(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return m(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},e=function(){function a(a,
+b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),g=function(a){function c(a,d){d=void 0===d?{}:d;d=void 0===d.sourceOptions?{}:d.sourceOptions;q(this,c);var e=p(this,(c.__proto__||Object.getPrototypeOf(c)).call(this,a.chunkManager,a.getSources(d)));e.shader=void 0;e.rpcId=null;e.shaderGetter=e.registerDisposer(new b.a(e.gl,function(a){return e.defineShader(a)},
+function(){return e.getShaderKey()}));return e}n(c,a);e(c,[{key:"defineShader",value:function(a){a.addFragmentCode("\nvoid emit(vec4 color) {\n  v4f_fragColor = color;\n}\nvoid emitRGBA(vec4 rgba) {\n  emit(vec4(rgba.rgb, rgba.a * uOpacity));\n}\nvoid emitRGB(vec3 rgb) {\n  emit(vec4(rgb, uOpacity));\n}\nvoid emitGrayscale(float value) {\n  emit(vec4(value, value, value, uOpacity));\n}\nvoid emitTransparent() {\n  emit(vec4(0.0, 0.0, 0.0, 0.0));\n}\n")}},{key:"beginSlice",value:function(a){a=this.shaderGetter.get();
+if(void 0!==a)return a.bind(),a}}]);return c}(f.a),l=function(a){function b(a,c){q(this,b);a=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a,c));a.vertexPositions=c.vertexPositions;a.numPoints=Math.floor(a.vertexPositions.length/3);return a}n(b,a);e(b,[{key:"copyToGPU",value:function(a){d(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"copyToGPU",this).call(this,a);this.vertexBuffer=c.a.fromData(a,this.vertexPositions,a.ARRAY_BUFFER,a.STATIC_DRAW)}},{key:"freeGPUMemory",value:function(a){d(b.prototype.__proto__||
+Object.getPrototypeOf(b.prototype),"freeGPUMemory",this).call(this,a);this.vertexBuffer.dispose()}}]);return b}(h.b),k=function(a){function b(){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);e(b,[{key:"getChunk",value:function(a){return new l(this,a)}},{key:"vectorGraphicsCoordinatesInVoxels",get:function(){return!0}}]);return b}(h.c)},function(h,f,a){function q(a,c){if("function"!==typeof c&&null!==c)throw new TypeError("Super expression must either be null or a function, not "+
+typeof c);a.prototype=Object.create(c&&c.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});c&&(Object.setPrototypeOf?Object.setPrototypeOf(a,c):a.__proto__=c)}Object.defineProperty(f,"__esModule",{value:!0});a.d(f,"OpenConnectomeDataSource",function(){return c});var p=a(152),n=["http://openconnecto.me","http://www.openconnecto.me"],c=function(a){function b(){if(!(this instanceof b))throw new TypeError("Cannot call a class as a function");var a=(b.__proto__||Object.getPrototypeOf(b)).call(this,
+"NDstore server hosted at openconnecto.me",n,p.a);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!a||"object"!==typeof a&&"function"!==typeof a?this:a}q(b,a);return b}(a(105).SingleServerDataSource)},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&
+"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a,b){return a.getChunkSource(x,{parameters:b})}function b(a,b,c){return a.memoize.getUncounted({type:"precomputed:MultiscaleVolumeChunkSource",baseUrls:b,
+path:c},function(){return Object(u.d)(Object(u.b)(b,c+"/info"),"json").then(function(d){return new z(a,b,c,d)})})}function d(a,b){var d=$jscomp.makeIterator(Object(u.c)(b));b=d.next().value;d=d.next().value;return c(a,{baseUrls:b,path:d,lod:0})}function e(a,c){var d=$jscomp.makeIterator(Object(u.c)(c));c=d.next().value;d=d.next().value;return b(a,c,d)}Object.defineProperty(f,"__esModule",{value:!0});a.d(f,"getMeshSource",function(){return d});a.d(f,"getVolume",function(){return e});a.d(f,"MultiscaleVolumeChunkSource",
+function(){return z});f.getShardedMeshSource=c;f.getShardedVolume=b;a.d(f,"PrecomputedDataSource",function(){return D});var g=a(28);h=a(23);f=a(46);var l=a(277),k=a(54),t=a(26),m=a(33),r=a(2),u=a(62),v=a(4),w=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),y=function(a){function b(){q(this,b);return p(this,
+(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);return b}(Object(h.f)(m.b,l.c)),x=function(a){function b(){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);return b}(Object(h.f)(k.c,l.a)),A=function G(a){q(this,G);Object(v.t)(a);this.resolution=Object(v.v)(a,"resolution",function(a){return Object(v.c)(r.s.create(),a,v.o)});this.voxelOffset=Object(v.v)(a,"voxel_offset",function(a){return Object(v.d)(r.s.create(),a)});this.size=Object(v.v)(a,
+"size",function(a){return Object(v.c)(r.s.create(),a,v.z)});this.chunkSizes=Object(v.v)(a,"chunk_sizes",function(a){return Object(v.a)(a,function(a){return Object(v.c)(r.s.create(),a,v.z)})});if(0===this.chunkSizes.length)throw Error("No chunk sizes specified.");(this.encoding=Object(v.v)(a,"encoding",function(a){return Object(v.m)(a,l.b)}))===l.b.COMPRESSED_SEGMENTATION&&(this.compressedSegmentationBlockSize=Object(v.v)(a,"compressed_segmentation_block_size",function(a){return Object(v.c)(r.s.create(),
+a,v.z)}));this.key=Object(v.v)(a,"key",v.A)},z=function(){function a(b,c,d,e){q(this,a);this.chunkManager=b;this.baseUrls=c;this.path=d;Object(v.t)(e);this.dataType=Object(v.v)(e,"data_type",function(a){return Object(v.m)(a,t.a)});this.numChannels=Object(v.v)(e,"num_channels",v.z);this.volumeType=Object(v.v)(e,"type",function(a){return Object(v.m)(a,t.c)});this.mesh=Object(v.v)(e,"mesh",v.y);this.scales=Object(v.v)(e,"scales",function(a){return Object(v.a)(a,function(a){return new A(a)})})}w(a,[{key:"getMeshSource",
+value:function(){var a=this.mesh;return void 0===a?null:c(this.chunkManager,{baseUrls:this.baseUrls,path:this.path+"/"+a,lod:0})}},{key:"getSources",value:function(a){var b=this;return this.scales.map(function(c){return t.b.getDefaults({voxelSize:c.resolution,dataType:b.dataType,numChannels:b.numChannels,transform:r.k.fromTranslation(r.k.create(),r.s.multiply(r.s.create(),c.resolution,c.voxelOffset)),upperVoxelBound:c.size,volumeType:b.volumeType,chunkDataSizes:c.chunkSizes,baseVoxelOffset:c.voxelOffset,
+compressedSegmentationBlockSize:c.compressedSegmentationBlockSize,volumeSourceOptions:a}).map(function(a){return b.chunkManager.getChunkSource(y,{spec:a,parameters:{baseUrls:b.baseUrls,path:b.path+"/"+c.key,encoding:c.encoding}})})})}},{key:"getStaticAnnotations",value:function(){var a=this.scales[0],b=new g.b(r.k.fromScaling(r.k.create(),a.resolution));b.readonly=!0;b.add(Object(g.i)(a.voxelOffset,r.s.add(r.s.create(),a.voxelOffset,a.size)));return b}}]);return a}(),D=function(a){function b(){q(this,
+b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);w(b,[{key:"getVolume",value:function(a,b){return e(a,b)}},{key:"getMeshSource",value:function(a,b){return d(a,b)}},{key:"description",get:function(){return"Precomputed file-backed data source"}}]);return b}(f.a)},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
+return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a,b,c){return a.rpc.promiseInvoke(d.a,{chunkManager:a.addCounterpartRef(),url:b},c)}function b(a,b){return a.memoize.getUncounted({type:"nifti/getVolume",
+url:b},function(){return c(a,b,l.e).then(function(c){return new r(a,b,c)})})}Object.defineProperty(f,"__esModule",{value:!0});a.d(f,"getVolume",function(){return b});a.d(f,"MultiscaleVolumeChunkSource",function(){return r});a.d(f,"NiftiDataSource",function(){return u});h=a(23);f=a(46);var d=a(279),e=a(26),g=a(33),l=a(32),k=a(2),t=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,
+d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),m=function(a){function b(){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);return b}(Object(h.f)(g.b,d.b)),r=function(){function a(b,c,d){q(this,a);this.chunkManager=b;this.url=c;this.info=d}t(a,[{key:"getSources",value:function(a){var b=this.info;a=e.b.withDefaultCompression({volumeType:b.volumeType,chunkDataSize:b.volumeSize,dataType:b.dataType,voxelSize:b.voxelSize,numChannels:b.numChannels,
+upperVoxelBound:b.volumeSize,transform:Object(k.q)(k.k.create(),b.qoffset,b.quatern,k.g,b.qfac),volumeSourceOptions:a});return[[this.chunkManager.getChunkSource(m,{spec:a,parameters:{url:this.url}})]]}},{key:"getMeshSource",value:function(){return null}},{key:"numChannels",get:function(){return this.info.numChannels}},{key:"dataType",get:function(){return this.info.dataType}},{key:"volumeType",get:function(){return this.info.volumeType}}]);return a}(),u=function(a){function c(){q(this,c);return p(this,
+(c.__proto__||Object.getPrototypeOf(c)).apply(this,arguments))}n(c,a);t(c,[{key:"getVolume",value:function(a,c){return b(a,c)}},{key:"description",get:function(){return"Single NIfTI file"}}]);return c}(f.a)},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+
+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function n(a){return Object(e.b)(void 0===a?"void main() {\n  emitGrayscale(toNormalized(getDataValue()));\n}\n":a)}f.c=n;a.d(f,"b",function(){return t});h=a(161);var c=a(56),b=a(162),d=a(4),e=a(55),g=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;
+"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),l=function r(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return r(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};f.a="//NEUROGLANCER_IMAGE_RENDERLAYER_FRAGMENT_MAIN_START";var k=a(104),t=function(a){function e(a,d){d=void 0===d?{}:d;if(!(this instanceof
+e))throw new TypeError("Cannot call a class as a function");var g=q(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,a,d)),k=d;a=void 0===k.opacity?Object(c.a)(.5):k.opacity;d=void 0===k.blendMode?Object(b.c)():k.blendMode;k=void 0===k.fragmentMain?n():k.fragmentMain;g.fragmentMain=k;g.opacity=a;g.blendMode=d;g.registerDisposer(a.changed.add(function(){g.redrawNeeded.dispatch()}));g.registerDisposer(k.changed.add(function(){g.shaderGetter.invalidateShader();g.redrawNeeded.dispatch()}));return g}
+p(e,a);g(e,[{key:"getShaderKey",value:function(){return"volume.ImageRenderLayer:"+JSON.stringify(this.fragmentMain.value)}},{key:"defineShader",value:function(a){l(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"defineShader",this).call(this,a);a.addUniform("highp float","uOpacity");a.addFragmentCode("\nvoid emitRGBA(vec4 rgba) {\n  emit(vec4(rgba.rgb, rgba.a * uOpacity));\n}\nvoid emitRGB(vec3 rgb) {\n  emit(vec4(rgb, uOpacity));\n}\nvoid emitGrayscale(float value) {\n  emit(vec4(value, value, value, uOpacity));\n}\nvoid emitTransparent() {\n  emit(vec4(0.0, 0.0, 0.0, 0.0));\n}\n");
+a.addFragmentCode(k);a.setFragmentMainFunction("//NEUROGLANCER_IMAGE_RENDERLAYER_FRAGMENT_MAIN_START\n"+this.fragmentMain.value)}},{key:"beginSlice",value:function(a){a=l(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"beginSlice",this).call(this,a);if(void 0!==a)return this.gl.uniform1f(a.uniform("uOpacity"),this.opacity.value),a}},{key:"setGLBlendMode",value:function(a,c){var e=Object(d.m)(this.blendMode.value,b.b);if(e===b.b.ADDITIVE||0<c)a.enable(a.BLEND),b.a.get(e)(a)}}]);return e}(h.a)},
+function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,
+configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return u});var c=a(30),b=a(39);h=a(142);f=a(75);var d=a(2),e=a(55),g=a(21),l=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),k=function w(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,
+b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return w(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},t=d.k.create(),m=d.s.create(),r=function(a){function b(){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);l(b,[{key:"defineShader",value:function(a){k(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"defineShader",this).call(this,a);a.addAttribute("highp float","aVertexIndexFloat");a.addUniform("highp vec3",
+"uTranslation");a.addUniform("highp mat4","uProjectionMatrix");a.addUniform("highp vec3","uChunkDataSize");a.addUniform("highp vec3","uVoxelSize");a.addUniform("highp vec3","uLowerClipBound");a.addUniform("highp vec3","uUpperClipBound");a.addVarying("highp vec3","vChunkPosition");a.setVertexMain("\nvec3 chunkSize = uChunkDataSize * uVoxelSize;\nvec3 position = getBoundingBoxPlaneIntersectionVertexPosition(chunkSize, uTranslation, uLowerClipBound, uUpperClipBound, int(aVertexIndexFloat));\ngl_Position = uProjectionMatrix * vec4(position, 1.0);\nvChunkPosition = (position - uTranslation) / uVoxelSize +\n    0.001 * abs(uPlaneNormal);\n");
+a.addFragmentCode("\nvec3 getPositionWithinChunk () {\n  return floor(min(vChunkPosition, uChunkDataSize - 1.0));\n}\n")}},{key:"computeVerticesDebug",value:function(a,b,c,e,g,k,l,f){a=d.s.multiply(d.s.create(),a,b);for(var m=d.s.create(),h=d.s.create(),t=d.s.fromValues(Math.abs(k[0]),Math.abs(k[1]),Math.abs(k[2])),r=0;6>r;++r){var n=this.computeVertexPositionDebug(a,c,e,g,k,l,r);if(void 0===n){console.log("no intersection found");break}d.s.transformMat4(m,n,f);d.s.sub(h,n,l);d.s.divide(h,h,b);d.s.scaleAndAdd(h,
+h,t,.001);console.log("vertex "+r+", at "+m+", vChunkPosition = "+h)}}},{key:"beginSlice",value:function(a,b){a=b.attribute("aVertexIndexFloat");this.data.outputVertexIndices.bindToVertexAttrib(a,1)}},{key:"endSlice",value:function(a,b){b=b.attribute("aVertexIndexFloat");a.disableVertexAttribArray(b)}},{key:"beginSource",value:function(a,b,c,e,g,k){this.setViewportPlane(b,c.viewportAxes[2],c.centerDataPosition,k.invTransform);a.uniformMatrix4fv(b.uniform("uProjectionMatrix"),!1,d.k.multiply(t,e,k.transform));
+a.uniform3fv(b.uniform("uVoxelSize"),g.voxelSize);a.uniform3fv(b.uniform("uLowerClipBound"),g.lowerClipBound);a.uniform3fv(b.uniform("uUpperClipBound"),g.upperClipBound)}},{key:"setupChunkDataSize",value:function(a,b,c){a.uniform3fv(b.uniform("uChunkDataSize"),c)}},{key:"drawChunk",value:function(a,b,c){a.uniform3fv(b.uniform("uTranslation"),c);a.drawArrays(a.TRIANGLE_FAN,0,6)}}],[{key:"get",value:function(a){return a.memoize.get("volume.VolumeSliceVertexComputationManager",function(){return new b(a)})}}]);
+return b}(h.a),u=function(a){function k(a,c){c=void 0===c?{}:c;q(this,k);var g=c,l=void 0===g.sourceOptions?{}:g.sourceOptions;g=g.shaderError;var f=p(this,(k.__proto__||Object.getPrototypeOf(k)).call(this,a.chunkManager,a.getSources(l),c));a=f.gl;f.shaderGetter=f.registerDisposer(new e.a(a,function(a){return f.defineShader(a)},function(){return f.getShaderKey()+"/"+f.chunkFormat.shaderKey},g));f.vertexComputationManager=r.get(a);c=Object(b.m)(f)[0][0];a=c.chunkLayout;c=c.source.spec;l=f.boundingBox=
+new d.b(d.s.fromValues(Infinity,Infinity,Infinity),d.s.fromValues(-Infinity,-Infinity,-Infinity));g=d.s.create();for(var h=0;8>h;++h){for(var t=0;3>t;++t)m[t]=h&1<<t?c.upperClipBound[t]:c.lowerClipBound[t];a.localSpatialToGlobal(g,m);d.s.min(l.lower,l.lower,g);d.s.max(l.upper,l.upper,g)}return f}n(k,a);l(k,[{key:"getValueAt",value:function(a){for(var c=$jscomp.makeIterator(Object(b.m)(this)),d=c.next();!d.done;d=c.next()){d=$jscomp.makeIterator(d.value);for(var e=d.next();!e.done;e=d.next())if(e=
+e.value,e=e.source.getValueAt(a,e.chunkLayout),null!=e)return e}return null}},{key:"getShaderKey",value:function(){return this.chunkFormat.shaderKey}},{key:"defineShader",value:function(a){this.vertexComputationManager.defineShader(a);a.addOutputBuffer("vec4","v4f_fragData0",0);a.addFragmentCode("\nvoid emit(vec4 color) {\n  v4f_fragData0 = color;\n}\n");this.chunkFormat.defineShader(a);a.addFragmentCode("\n"+Object(g.a)(this.dataType)+" getDataValue() { return getDataValue(0); }\n")}},{key:"beginSlice",
+value:function(a){a=this.gl;var b=this.shaderGetter.get();if(void 0!==b)return b.bind(),this.vertexComputationManager.beginSlice(a,b),b}},{key:"endSlice",value:function(a){this.vertexComputationManager.endSlice(this.gl,a)}},{key:"draw",value:function(a){var b=a.visibleLayers.get(this);if(0!==b.length){var e=this.gl,g=this.beginSlice(a);if(void 0!==g){var k=d.s.create(),l=this.vertexComputationManager,f=this.chunkFormat;f.beginDrawing(e,g);var m={};b=$jscomp.makeIterator(b);for(var h=b.next();!h.done;m=
+{chunkDataSize:m.chunkDataSize},h=b.next()){h=h.value;var t=h.chunkLayout,r=h.source;h=r.chunks;var n=t.size;m.chunkDataSize=void 0;var p=a.visibleChunks.get(t);if(p){l.beginSource(e,g,a,a.dataToDevice,r.spec,t);t=r.chunkFormat;t.beginSource(e,g);r=function(a){return function(b){a.chunkDataSize=b;l.setupChunkDataSize(e,g,a.chunkDataSize)}}(m);p=$jscomp.makeIterator(p);for(var u=p.next();!u.done;u=p.next())if((u=h.get(u.value))&&u.state===c.d.GPU_MEMORY){var q=u.chunkDataSize;q!==m.chunkDataSize&&
+r(q);d.s.multiply(k,n,u.chunkGridPosition);t.bindChunk(e,g,u);l.drawChunk(e,g,k)}}}f.endDrawing(e,g);this.endSlice(g)}}}},{key:"dataType",get:function(){return this.sources[0][0].spec.dataType}},{key:"chunkFormat",get:function(){return this.sources[0][0].chunkFormat}}]);return k}(f.a)},function(h,f,a){function q(a){if(Object(n.m)(a,c))return Object(n.A)(a);throw Error();}a.d(f,"b",function(){return c});f.c=function(a){return new p.c(void 0===a?"default":a,q)};var p=a(9),n=a(4),c;(function(a){a[a.DEFAULT=
+0]="DEFAULT";a[a.ADDITIVE=1]="ADDITIVE"})(c||(c={}));h=new Map;f.a=h;h.set(c.DEFAULT,function(a){a.blendFunc(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA)});h.set(c.ADDITIVE,function(a){a.blendFunc(a.SRC_ALPHA,a.ONE)})},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,
+b):a.__proto__=b)}function p(a){return function(a){function e(){if(!(this instanceof e))throw new TypeError("Cannot call a class as a function");var a=(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!a||"object"!==typeof a&&"function"!==typeof a?this:a}q(e,a);l(e,[{key:"restoreState",value:function(a){var l=this;k(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"restoreState",
+this).call(this,a);a=this.volumePath=Object(g.v)(a,"source",g.y);void 0!==a&&(this.multiscaleSource=Object(b.d)(this.manager.dataSourceProvider,this.manager.chunkManager,a,this.volumeOptions)).then(function(a){l.wasDisposed||(a=a.getStaticAnnotations&&a.getStaticAnnotations(),void 0!==a&&(l.annotationLayerState.value=new n.b(Object.assign({transform:l.transform,source:a,role:c.g.DEFAULT_ANNOTATION},Object(d.b)(l)))))})}},{key:"toJSON",value:function(){var a=k(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),
+"toJSON",this).call(this);a.source=this.volumePath;return a}}]);return e}(a)}f.a=function(a){return p(Object(d.a)(Object(e.a)(a)))};var n=a(72),c=a(18),b=a(27),d=a(107),e=a(110),g=a(4),l=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),k=function m(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,
+b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return m(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}}},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function p(a){if(void 0===
+a[3]||1===a[3]){for(var c="#",d=0;3>d;++d)c+=Object(b.c)(Math.min(255,Math.max(0,Math.round(255*a[d]))));return c}c="rgba(";for(d=0;3>d;++d)0!==d&&(c+=", "),c+=Math.min(255,Math.max(0,Math.round(255*a[d])));return c+=", "+Object(n.a)(a[3])+")"}a.d(f,"a",function(){return e});h=a(9);var n=a(165),c=a(2),b=a(166),d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,
+c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),e=function(a){function b(a){if(!(this instanceof b))throw new TypeError("Cannot call a class as a function");var d=(b.__proto__||Object.getPrototypeOf(b)).call(this,c.s.clone(a));if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");d=!d||"object"!==typeof d&&"function"!==typeof d?this:d;d.defaultValue=a;return d}q(b,a);d(b,[{key:"toString",value:function(){return p(this.value)}},{key:"toJSON",value:function(){if(!c.s.equals(this.value,
+this.defaultValue))return p(this.value)}},{key:"reset",value:function(){this.value=c.s.clone(this.defaultValue)}},{key:"restoreState",value:function(a){if(void 0===a)this.reset();else{var b=this.value;try{if("string"!==typeof a)throw Error("Expected string, but received "+JSON.stringify(a)+".");var d=document.createElement("canvas").getContext("2d");d.fillStyle=a;var e=d.fillStyle,g=e.match(/^rgba\(([0-9]+), ([0-9]+), ([0-9]+), (0(?:\.[0-9]+)?)\)$/);if(null!==g)var k=[parseInt(g[1],10),parseInt(g[2],
+10),parseInt(g[3],10),parseFloat(g[4])];else{var l=e.match(/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/);if(null!==l)k=[parseInt(l[1],16),parseInt(l[2],16),parseInt(l[3],16),1];else throw Error("Invalid serialized color: "+JSON.stringify(e)+".");}a=k;var f=c.u.fromValues(a[0]/255,a[1]/255,a[2]/255,a[3])}catch(x){throw Error("Failed to parse color specification: "+x.message);}f=f.subarray(0,3);c.s.equals(b,f)||(this.value=f)}}}]);return b}(h.f)},function(h,f,a){f.a=function(a){a=q[0]=a;for(var f=0;9>
+f;++f){var c=a.toFixed(f);q[0]=parseFloat(c);if(q[0]===a)return c}return a.toString()};var q=new Float32Array(1)},function(h,f,a){function q(a){return("0"+a.toString(16)).slice(-2)}f.c=q;f.b=function(a){return Array.prototype.map.call(a,q).join("")};f.a=function(a){if(!/^(?:[0-9a-fA-F]{2})*$/.test(a))throw Error("Invalid hex-encoded string");for(var f=a.length/2,c=new Uint8Array(f),b=0;b<f;++b)c[b]=parseInt(a.substr(2*b,2),16);return c}},function(h,f,a){function q(a){var b=Object(n.d)(a);return(a/
+b.lengthInNanometers).toPrecision(3)+"\u202f"+b.unit}f.c=function(a){return"("+Math.floor(a[0])+", "+Math.floor(a[1])+", "+Math.floor(a[2])+")"};f.b=function(a){for(var b="",c=0;3>c;++c)0!==c&&(b+=" \u00d7 "),b+=Math.round(Math.abs(a[c]));return b};f.d=q;f.a=function(a,b,d){for(var c="",g=p.s.create(),l=0;3>l;++l){p.s.set(g,0,0,0);g[l]=b[l]-a[l];var k=Object(p.p)(g,g,d);k=p.s.length(k);0!==l&&(c+=" \u00d7 ");c+=q(k)}a=Math.abs(Object(p.l)(p.s.subtract(g,b,a)));d=p.i.determinant(p.i.fromMat4(p.i.create(),
+d));c+="  [";d*=a;a=Object(n.e)(d);d=(d/Math.pow(a.lengthInNanometers,3)).toPrecision(6)+"\u202f"+a.unit+"\u00b3";return c+d+"]"};var p=a(2),n=a(53)},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,
+{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return g});h=a(1);var n=a(8),c=a(7),b=a(14),d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),e=function k(a,b,c){null===a&&(a=Function.prototype);var d=
+Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return k(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};a(45);a(288);var g=function(a){function g(){if(!(this instanceof g))throw new TypeError("Cannot call a class as a function");var a=q(this,(g.__proto__||Object.getPrototypeOf(g)).call(this));a.element=document.createElement("form");a.label=document.createElement("label");a.input=document.createElement("input");a.valuesEntered=
+new c.b;var b=a.element,d=a.label,e=a.input;b.className="uint64-entry neuroglancer-noselect";b.appendChild(d);d.appendChild(e);a.registerEventListener(b,"submit",function(b){b.preventDefault();b=a.validateInput();void 0!==b&&(a.input.value="",a.input.classList.remove("valid-input","invalid-input"),a.valuesEntered.dispatch(b))});a.registerEventListener(b,"input",function(){""===a.input.value?a.input.classList.remove("valid-input","invalid-input"):a.validateInput()?a.input.classList.remove("invalid-input"):
+a.input.classList.add("invalid-input")});return a}p(g,a);d(g,[{key:"validateInput",value:function(){var a=this.input.value;a=a.replace(/[\s,\(\)\[\]\{\};]+/g," ");a=a.trim();var c=a.split(" ");if(0!==c.length){a=[];c=$jscomp.makeIterator(c);for(var d=c.next();!d.done;d=c.next()){d=d.value;var e=new b.a;if(!e.tryParseString(d))return;a.push(e)}return a}}},{key:"disposed",value:function(){Object(n.b)(this.element);e(g.prototype.__proto__||Object.getPrototypeOf(g.prototype),"disposed",this).call(this)}}]);
+return g}(h.a)},function(h,f){},function(h,f){},function(h,f){},function(h,f){},function(h,f,a){f.a=function(a){return new q.c(void 0===a?1:a,p.n)};var q=a(9),p=a(4)},function(h,f,a){f.a=function(a){a=void 0===a?q.s.create():a;return new b(a,a)};var q=a(2),p=a(4),n=a(7),c=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);
+return b}}(),b=function(){function a(b,c){if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");this.value_=b;this.defaultValue=c;this.changed=new n.a}c(a,[{key:"toJSON",value:function(){if(this.value_!==this.defaultValue)return this.value_.toString()}},{key:"restoreState",value:function(a){try{this.value=Object(p.k)(a.split(","))}catch(g){this.value=this.defaultValue}}},{key:"reset",value:function(){this.value=this.defaultValue}},{key:"value",get:function(){return this.value_},
+set:function(a){a!==this.value_&&(this.value_=a,this.changed.dispatch())}}]);return a}()},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});
+b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function n(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}a.d(f,"a",function(){return r});var c=a(65),b=a(114),d=a(112),e=a(63);h=a(161);var g=a(21),l=function v(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return v(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},k=
+function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),t=new Float32Array(8),m=function(){function a(b){n(this,a);this.disjointSets=b;this.generation=Number.NaN;this.hashMap=new c.a}k(a,[{key:"update",value:function(){var a=this.disjointSets,b=a.generation;if(this.generation!==b){this.generation=b;b=this.hashMap;
+b.clear();a=$jscomp.makeIterator(a.mappings());for(var c=a.next();!c.done;c=a.next()){var d=$jscomp.makeIterator(c.value);c=d.next().value;d=d.next().value;b.set(c,d)}}}}]);return a}(),r=function(a){function c(a,g){n(this,c);var k=q(this,(c.__proto__||Object.getPrototypeOf(c)).call(this,a,{sourceOptions:g.volumeSourceOptions,transform:g.objectToDataTransform}));k.displayState=g;k.segmentColorShaderManager=new d.b("segmentColorHash");k.hashTableManager=new b.c("visibleSegments");k.gpuHashTable=b.a.get(k.gl,
+k.displayState.visibleSegments.hashTable);k.hashTableManagerHighlighted=new b.c("highlightedSegments");k.gpuHashTableHighlighted=b.a.get(k.gl,k.displayState.highlightedSegments.hashTable);k.equivalencesShaderManager=new b.b("equivalences");k.equivalencesHashMap=new m(k.displayState.segmentEquivalences.disjointSets);k.gpuEquivalencesHashTable=b.a.get(k.gl,k.equivalencesHashMap.hashMap);Object(e.g)(g,k);k.registerDisposer(g.selectedAlpha.changed.add(function(){k.redrawNeeded.dispatch()}));k.registerDisposer(g.hideSegmentZero.changed.add(function(){k.redrawNeeded.dispatch();
+k.shaderGetter.invalidateShader()}));k.hasEquivalences=0!==k.displayState.segmentEquivalences.size;g.segmentEquivalences.changed.add(function(){var a=0!==k.displayState.segmentEquivalences.size;a!==k.hasEquivalences&&(k.hasEquivalences=a,k.shaderGetter.invalidateShader())});k.registerDisposer(g.notSelectedAlpha.changed.add(function(){k.redrawNeeded.dispatch()}));return k}p(c,a);k(c,[{key:"getShaderKey",value:function(){return"sliceview.SegmentationRenderLayer/"+this.hasEquivalences+"/"+this.displayState.hideSegmentZero.value}},
+{key:"defineShader",value:function(a){l(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"defineShader",this).call(this,a);this.hashTableManager.defineShader(a);this.hashTableManagerHighlighted.defineShader(a);a.addFragmentCode("\nuint64_t getUint64DataValue() {\n  return toUint64(getDataValue());\n}\n");this.hasEquivalences?(this.equivalencesShaderManager.defineShader(a),a.addFragmentCode("\nuint64_t getMappedObjectId() {\n  uint64_t value = getUint64DataValue();\n  uint64_t mappedValue;\n  if ("+
+this.equivalencesShaderManager.getFunctionName+"(value, mappedValue)) {\n    return mappedValue;\n  }\n  return value;\n}\n")):a.addFragmentCode("\nuint64_t getMappedObjectId() {\n  return getUint64DataValue();\n}\n");this.segmentColorShaderManager.defineShader(a);a.addUniform("highp vec4","uSelectedSegment",2);a.addUniform("highp float","uShowAllSegments");a.addUniform("highp float","uSelectedAlpha");a.addUniform("highp float","uNotSelectedAlpha");a.addUniform("highp float","uSaturation");a.addFragmentCode(g.q);
+var b="\n  uint64_t value = getMappedObjectId();\n\n  float alpha = uSelectedAlpha;\n  float saturation = uSaturation;\n";this.displayState.hideSegmentZero.value&&(b+="\n  if (value.low == vec4(0,0,0,0) && value.high == vec4(0,0,0,0)) {\n    emit(vec4(vec4(0, 0, 0, 0)));\n    return;\n  }\n");b+="\n  bool has = uShowAllSegments > 0.0 ? true : "+this.hashTableManager.hasFunctionName+"(value);\n  if (uSelectedSegment[0] == unnormalizeUint8(value.low) &&\n      uSelectedSegment[1] == unnormalizeUint8(value.high)) {\n    saturation = has ? 0.5 : 0.75;\n  } else if (!has) {\n    alpha = uNotSelectedAlpha;\n  }\n  vec3 rgb = segmentColorHash(value);\n  ";
+b+="\n  if("+this.hashTableManagerHighlighted.hasFunctionName+"(value)) {\n    rgb = vec3(0.2,0.2,2.0);\n    saturation = 1.0;\n  };\n";a.setFragmentMain(b+"\n  emit(vec4(mix(vec3(1.0,1.0,1.0), rgb, saturation), alpha));\n")}},{key:"beginSlice",value:function(a){a=l(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"beginSlice",this).call(this,a);if(void 0!==a){var b=this.gl,d=this.displayState,e=this.displayState,g=e.segmentSelectionState;e=e.visibleSegments;if(g.hasSelectedSegment){var k=
+g.selectedSegment;g=k.low;k=k.high;for(var f=0;4>f;++f)t[f]=g>>8*f&255,t[4+f]=k>>8*f&255}else t.fill(0);b.uniform1f(a.uniform("uSelectedAlpha"),this.displayState.selectedAlpha.value);b.uniform1f(a.uniform("uSaturation"),this.displayState.saturation.value);b.uniform1f(a.uniform("uNotSelectedAlpha"),this.displayState.notSelectedAlpha.value);b.uniform4fv(a.uniform("uSelectedSegment"),t);b.uniform1f(a.uniform("uShowAllSegments"),e.hashTable.size?0:1);this.hashTableManager.enable(b,a,this.gpuHashTable);
+this.hashTableManagerHighlighted.enable(b,a,this.gpuHashTableHighlighted);this.hasEquivalences&&(this.equivalencesHashMap.update(),this.equivalencesShaderManager.enable(b,a,this.gpuEquivalencesHashTable));this.segmentColorShaderManager.enable(b,a,d.segmentColorHash);return a}}},{key:"endSlice",value:function(a){var b=this.gl;this.hashTableManager.disable(b,a);this.hashTableManagerHighlighted.disable(b,a);l(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"endSlice",this).call(this,a)}}]);
+return c}(h.a)},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,
+writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a){return a.split(/[^a-zA-Z0-9]+/).filter(function(a){return a}).join("_")}function b(a){var b=new Set,d=[];a=$jscomp.makeIterator(a);for(var e=a.next();!e.done;e=a.next()){e=c(e.value);for(var g="",k=0;b.has(e+g);)g=""+ ++k;d.push(e+g)}return d}function d(a){return new v.a({fragmentMain:a.displayState.fragmentMain,shaderError:a.displayState.shaderError,fragmentMainStartLine:k.a})}function e(a){return new z(a.displayState.attributeNames,
+function(){return a.meshSource&&a.meshSource.info.vertexAttributes})}Object.defineProperty(f,"__esModule",{value:!0});a.d(f,"SingleMeshUserLayer",function(){return A});h=a(10);var g=a.n(h);h=a(18);f=a(27);var l=a(47),k=a(115),t=a(110),m=a(1),r=a(8),u=a(4),v=a(111),w=a(40),y=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,
+d);return b}}(),x=function C(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return C(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};a(304);var A=function(a){function c(a,d){q(this,c);var e=p(this,(c.__proto__||Object.getPrototypeOf(c)).call(this,a,d));e.manager=a;e.displayState=new k.b;e.displayState.objectToDataTransform=e.transform;e.parameters={meshSourceUrl:Object(u.v)(d,
+"source",u.A),attributeSourceUrls:Object(u.v)(d,"vertexAttributeSources",function(a){return void 0!==a?Object(u.a)(a,u.A):[]})};e.displayState.fragmentMain.restoreState(d.shader);e.userSpecifiedAttributeNames=Object(u.v)(d,"vertexAttributeNames",function(a){if(void 0!==a)return Object(u.a)(a,function(a){if(a=Object(u.y)(a))return a})});Object(k.f)(a.chunkManager,e.parameters).then(function(a){if(!e.wasDisposed){e.meshSource=a;var c=e.defaultAttributeNames=b(a.info.vertexAttributes.map(function(a){return a.name})),
+d=e.userSpecifiedAttributeNames;void 0!==d&&d.length===c.length?(c=d,e.userSpecifiedAttributeNames=void 0):c=Array.from(c);e.displayState.attributeNames.value=c;e.addRenderLayer(new k.c(a,e.displayState));e.isReady=!0}});e.registerDisposer(e.displayState.fragmentMain.changed.add(function(){e.specificationChanged.dispatch()}));e.registerDisposer(e.displayState.attributeNames.changed.add(function(){e.specificationChanged.dispatch()}));e.tabs.add("rendering",{label:"Rendering",order:-100,getter:function(){return new D(e)}});
+e.tabs.default="rendering";return e}n(c,a);y(c,[{key:"toJSON",value:function(){var a=x(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"toJSON",this).call(this);a.type="mesh";var b=this.parameters.attributeSourceUrls;a.source=this.parameters.meshSourceUrl;b&&(a.vertexAttributeSources=b);a.shader=this.displayState.fragmentMain.toJSON();if(void 0===this.meshSource)b=this.userSpecifiedAttributeNames;else{b=this.defaultAttributeNames;for(var d=this.displayState.attributeNames.value,e=!0,g=d.length,
+k=0;k<g;++k)if(d[k]!==b[k]){e=!1;break}b=e?void 0:Array.from(d)}a.vertexAttributeNames=b;return a}}]);return c}(Object(t.a)(h.i)),z=function(a){function b(a,c){q(this,b);var d=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));d.attributeNames=a;d.getAttributeInfo=c;d.element=document.createElement("div");d.debouncedValueUpdater=g()(function(){d.updateAttributeNames()},500);d.element.className="neuroglancer-single-mesh-attribute-widget";d.updateInputElements();d.registerDisposer(a.changed.add(function(){d.updateInputElements()}));
+return d}n(b,a);y(b,[{key:"updateInputElements",value:function(){var a=this.attributeNames,b=this.attributeNameElements;if(void 0===b){var c=this.getAttributeInfo();if(void 0===c)return;b=this.attributeNameElements=[];for(var d=void 0,e=a.value.length,g=this.element,l=0;l<e;++l){var f=c[l],m=f.source;if(m!==d&&void 0!==m){d=m;var h=document.createElement("div");h.className="neuroglancer-single-mesh-source-header";h.textContent=m;g.appendChild(h)}m=document.createElement("div");m.className="neuroglancer-single-mesh-attribute";
+h=document.createElement("input");h.title=f.name;this.registerEventListener(h,"input",this.debouncedValueUpdater);h.type="text";m.textContent=Object(k.e)(f);m.appendChild(h);if(void 0!==f.min&&void 0!==f.max){var t=document.createElement("span");t.className="neuroglancer-single-mesh-attribute-range";t.textContent="["+f.min.toPrecision(6)+", "+f.max.toPrecision(6)+"]";m.appendChild(t)}b[l]=h;g.appendChild(m)}}a.value.forEach(function(a,c){b[c].value=a||""})}},{key:"disposed",value:function(){Object(r.b)(this.element)}},
+{key:"updateAttributeNames",value:function(){var a=this.attributeNames.value,b=this.attributeNameElements,c=!1;a.forEach(function(d,e){var g=b[e].value;g||(g=void 0);g!==d&&(c=!0,a[e]=g)});c&&this.attributeNames.changed.dispatch()}}]);return b}(m.a),D=function(a){function b(a){q(this,b);var c=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.layer=a;c.attributeWidget=c.registerDisposer(e(c.layer));c.codeWidget=c.registerDisposer(d(c.layer));a=c.element;a.classList.add("neuroglancer-single-mesh-dropdown");
+var g=document.createElement("div");g.className="neuroglancer-single-mesh-dropdown-top-row";var k=document.createElement("div");k.style.flex="1";var l=document.createElement("a"),f=document.createElement("button");f.type="button";f.textContent="?";f.className="help-link";l.appendChild(f);l.title="Documentation on single mesh layer rendering";l.target="_blank";l.href="https://github.com/google/neuroglancer/blob/master/src/neuroglancer/sliceview/image_layer_rendering.md";f=document.createElement("button");
+f.innerHTML="&square;";f.className="maximize-button";f.title="Show larger editor view";c.registerEventListener(f,"click",function(){new E(c.layer)});g.appendChild(k);g.appendChild(f);g.appendChild(l);a.appendChild(g);a.appendChild(c.attributeWidget.element);a.appendChild(c.codeWidget.element);c.codeWidget.textEditor.refresh();c.visibility.changed.add(function(){c.visible&&c.codeWidget.textEditor.refresh()});return c}n(b,a);return b}(w.b),E=function(a){function b(a){q(this,b);var c=p(this,(b.__proto__||
+Object.getPrototypeOf(b)).call(this));c.layer=a;c.attributeWidget=c.registerDisposer(e(c.layer));c.codeWidget=c.registerDisposer(d(c.layer));c.content.classList.add("neuroglancer-single-mesh-layer-shader-overlay");c.content.appendChild(c.attributeWidget.element);c.content.appendChild(c.codeWidget.element);c.codeWidget.textEditor.refresh();return c}n(b,a);return b}(l.a);Object(f.e)("mesh",A)},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+
+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function p(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}a.d(f,"d",function(){return n});f.c="single_mesh/SingleMeshLayer";f.a="single_mesh/getSingleMeshInfo";f.b="";var n=function(a){function b(){p(this,b);var a=(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
+return!a||"object"!==typeof a&&"function"!==typeof a?this:a}q(b,a);return b}(function b(){p(this,b)});n.RPC_ID="single_mesh/SingleMeshSource"},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,
+{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function n(a){return encodeURI(a).replace(/[!'()*;,]/g,function(a){return"%"+a.charCodeAt(0).toString(16).toUpperCase()})}a.d(f,"a",function(){return l});h=a(10);var c=a.n(h),b=a(9);h=a(1);var d=a(4),e=a(66),g=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,
+d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),l=function(a){function k(a,d){d=void 0===d?200:d;if(!(this instanceof k))throw new TypeError("Cannot call a class as a function");var e=q(this,(k.__proto__||Object.getPrototypeOf(k)).call(this));e.root=a;e.parseError=new b.f(void 0);e.registerEventListener(window,"hashchange",function(){return e.updateFromUrlHash()});var g=c()(function(){return e.setUrlHash()},d);e.registerDisposer(a.changed.add(g));e.registerDisposer(function(){return g.cancel()});
+return e}p(k,a);g(k,[{key:"setUrlHash",value:function(){var a=Object(e.b)(this.root);a.generation!==this.prevStateGeneration&&(this.prevStateGeneration=a.generation,a=n(JSON.stringify(a.value)),a!==this.prevStateString&&(this.prevStateString=a,"{}"===decodeURIComponent(a)?history.replaceState(null,"","#"):history.replaceState(null,"","#!"+a)))}},{key:"updateFromUrlHash",value:function(){try{var a=location.href.replace(/^[^#]+/,"");if(""===a||"#"===a||"#!"===a)a="#!{}";if(a.startsWith("#!+")){a=a.slice(3);
+a=decodeURIComponent(a);var b=Object(d.h)(a);Object(d.t)(b);this.root.restoreState(b);this.prevStateString=void 0}else if(a.startsWith("#!")){a=a.slice(2);a=decodeURIComponent(a);if(a===this.prevStateString)return;this.prevStateString=a;this.root.reset();var c=Object(d.h)(a);Object(d.t)(c);this.root.restoreState(c)}else throw Error('URL hash is expected to be of the form "#!{...}" or "#!+{...}".');this.parseError.value=void 0}catch(v){this.parseError.value=v}}}]);return k}(h.a)},function(h,f,a){var q=
+a(2);a.d(f,"g",function(){return q.s});a.d(f,"h",function(){return q.u});a.d(f,"e",function(){return q.n});var p=a(310);a.d(f,"b",function(){return p.b});a.d(f,"a",function(){return p.a});var n=a(191);a.d(f,"d",function(){return n.b});var c=a(121);a.d(f,"c",function(){return c.c});a.d(f,"f",function(){return c.d})},function(h,f,a){f.a=function(a){if(!window.getSelection().isCollapsed)return!0;a=a.target.tagName;return"TEXTAREA"===a||"INPUT"===a?!0:!1};f.b=function(a,f){f=void 0===f?"text/plain":f;
+var c=!1,b=Object(q.c)(document,"copy",function(b){b.clipboardData.setData(f,a);c=!0;b.stopPropagation();b.preventDefault()},!0);try{document.execCommand("copy")}finally{b()}return c};var q=a(1)},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==
+typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return g});a.d(f,"b",function(){return l});h=a(33);a=a(1);var c=function t(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),
+null!==a)return t(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},b=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();$jscomp.initSymbol();var d=Symbol("SingleTextureVolumeChunk.textureUnit");$jscomp.initSymbol();var e=Symbol("SingleTextureVolumeChunk.textureLayout"),g=
+function(a){function c(a){q(this,c);var b=p(this,(c.__proto__||Object.getPrototypeOf(c)).call(this));b.shaderKey=a;return b}n(c,a);b(c,[{key:"defineShader",value:function(a){a.addTextureSampler2D("uVolumeChunkSampler",d)}},{key:"beginDrawing",value:function(a,b){var c=b.textureUnit(d);a.activeTexture(a.TEXTURE0+c);b[e]=null}},{key:"endDrawing",value:function(a,b){a.bindTexture(a.TEXTURE_2D,null);b[e]=null}},{key:"bindChunk",value:function(a,b,c){var d=c.textureLayout;b[e]!==d&&(b[e]=d,this.setupTextureLayout(a,
+b,d));a.bindTexture(a.TEXTURE_2D,c.texture)}},{key:"beginSource",value:function(a,b){}}]);return c}(a.a),l=function(a){function d(a,b){q(this,d);a=p(this,(d.__proto__||Object.getPrototypeOf(d)).call(this,a,b));a.texture=null;a.data=b.data;return a}n(d,a);b(d,[{key:"copyToGPU",value:function(a){c(d.prototype.__proto__||Object.getPrototypeOf(d.prototype),"copyToGPU",this).call(this,a);var b=this.texture=a.createTexture();a.bindTexture(a.TEXTURE_2D,b);this.setTextureData(a);a.bindTexture(a.TEXTURE_2D,
+null)}},{key:"freeGPUMemory",value:function(a){c(d.prototype.__proto__||Object.getPrototypeOf(d.prototype),"freeGPUMemory",this).call(this,a);a.deleteTexture(this.texture);this.texture=null;this.textureLayout.dispose();this.textureLayout=null}}]);return d}(h.a)},function(h,f,a){f.a=function(a,f,h,c,b,d){for(var e=0,g=0,l=1,k=1,t=0;3>t;++t){var m=b[t],r=c[t],n=m%r;e+=Math.floor(m/r)*l;l*=Math.ceil(h[t]/r);g+=n*k;k*=r}c=f+2*e;h=a[c];c=a[c+1];b=h&16777215;h=h>>24&255;0<h&&(b+=d*(a[(f+c&16777215)+Math.floor(g*
+h/32)]>>g*h%32&(1<<h)-1));return b}},function(h,f,a){f.b=function(a,f){return function(h){h.style.flex=a;f(h)}};f.a=function(a,f){return function(h){h.style.display="flex";h.style.flexDirection=a;for(var c=$jscomp.makeIterator(f),b=c.next();!b.done;b=c.next()){b=b.value;var d=h.ownerDocument.createElement("div");h.appendChild(d);b(d)}}}},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=
+Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return b});h=a(1);var p=a(7),n=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),c=function e(a,b,c){null===a&&(a=Function.prototype);
+var g=Object.getOwnPropertyDescriptor(a,b);if(void 0===g){if(a=Object.getPrototypeOf(a),null!==a)return e(a,b,c)}else{if("value"in g)return g.value;b=g.get;return void 0===b?void 0:b.call(c)}},b=function(a){function b(a,c,e){if(!(this instanceof b))throw new TypeError("Cannot call a class as a function");var g=(b.__proto__||Object.getPrototypeOf(b)).call(this);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");g=!g||"object"!==typeof g&&"function"!==typeof g?
+this:g;g.register=a;g.unregister=c;g.changed=new p.a;void 0===e?g.map=new Map:(g.map=new Map(e),g.map.forEach(g.register));return g}q(b,a);$jscomp.initSymbol();$jscomp.initSymbolIterator();n(b,[{key:"set",value:function(a,b){var c=this.map,e=c.get(a);void 0!==e&&this.unregister(e,a);c.set(a,b);this.register(b,a);this.changed.dispatch();return this}},{key:"delete",value:function(a){var b=this.map.get(a);return void 0!==b?(this.unregister(b,a),this.changed.dispatch(),!0):!1}},{key:"has",value:function(a){return this.map.has(a)}},
+{key:Symbol.iterator,value:function(){$jscomp.initSymbol();$jscomp.initSymbolIterator();return this.map[Symbol.iterator]()}},{key:"clear",value:function(){var a=this.map;0<a.size&&(a.forEach(this.unregister),a.clear(),this.changed.dispatch())}},{key:"values",value:function(){return this.map.values()}},{key:"keys",value:function(){return this.map.keys()}},{key:"disposed",value:function(){this.map.forEach(this.unregister);this.map.clear();c(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),
+"disposed",this).call(this)}},{key:"size",get:function(){return this.map.size}}]);return b}(h.a)},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,
+configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return k});var n=a(27);h=a(47);var c=a(26),b=a(32),d=a(186),e=a(326),g=a(331),l=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();a(332);var k=function(a){function k(a,b){if(!(this instanceof k))throw new TypeError("Cannot call a class as a function");
+var c=q(this,(k.__proto__||Object.getPrototypeOf(k)).call(this));c.manager=a;c.existingLayer=b;c.statusElement=document.createElement("div");c.submitElement=document.createElement("button");c.namePromptElement=document.createElement("label");c.nameInputElement=document.createElement("input");c.volumeCancellationSource=void 0;c.sourceValid=!1;c.nameValid=!0;var l=c.content;l.classList.add("add-layer-overlay");var f=document.createElement("form");f.className="source-form";c.registerEventListener(f,
+"submit",function(a){a.preventDefault();c.validateSource(!0)});var m=document.createElement("label");m.textContent="Source:";a=c.sourceInput=c.registerDisposer(new e.a({completer:function(a,b){return c.manager.dataSourceProvider.volumeCompleter(a,c.manager.chunkManager,b).then(function(a){return{completions:a.completions,makeElement:e.b,offset:a.offset,showSingleResult:!0}})},delay:0}));a.element.classList.add("add-layer-source");a.inputElement.addEventListener("blur",function(){c.validateSource(!1)});
+c.submitElement.disabled=!0;a.inputChanged.add(function(){var a=c.volumeCancellationSource;void 0!==a&&(a.cancel(),c.volumeCancellationSource=void 0);c.sourceValid=!1;c.submitElement.disabled=!0;c.statusElement.textContent=""});f.appendChild(m);f.appendChild(a.element);Object(d.a)(m,a.inputElement);m=Object(g.a)();f.appendChild(m);l.appendChild(f);var h=c.statusElement,t=c.namePromptElement,r=c.nameInputElement;f=c.submitElement;h.className="dialog-status";m=document.createElement("form");m.className=
+"name-form";t.textContent="Name:";r.className="add-layer-name";r.autocomplete="off";r.spellcheck=!1;r.type="text";c.registerEventListener(r,"input",function(){c.validateName()});f.type="submit";Object(d.a)(t,r);m.appendChild(t);m.appendChild(r);m.appendChild(f);l.appendChild(m);l.appendChild(h);void 0!==b?(void 0!==b.sourceUrl?(a.value=b.sourceUrl,c.validateSource()):c.sourceValid=!0,a.disabled=!0,r.value=b.name,c.validateName(),f.textContent="Save",r.focus()):(b=c.manager.layerManager.managedLayers,
+0<b.length&&(b=b[b.length-1],b instanceof n.b&&(b=b.sourceUrl,void 0!==b&&(l=c.manager.dataSourceProvider.findSourceGroup(b),a.value=b.substring(0,l),a.inputElement.setSelectionRange(0,l)))),a.inputElement.focus(),f.textContent="Add Layer");c.registerEventListener(m,"submit",function(a){a.preventDefault();c.submit()});return c}p(k,a);l(k,[{key:"isNameValid",value:function(){var a=this.nameInputElement.value;if(""===a)return!1;a=this.manager.layerManager.getLayerByName(a);return void 0===a||a===this.existingLayer}},
+{key:"submit",value:function(){this.sourceValid&&this.isNameValid()&&(this.existingLayer?(this.existingLayer.name=this.nameInputElement.value,this.manager.layerManager.layersChanged.dispatch()):this.manager.add(this.manager.getLayer(this.nameInputElement.value,this.sourceInput.value)),this.dispose())}},{key:"validateName",value:function(){var a=this.nameInputElement;(this.nameValid=this.isNameValid())?(a.classList.add("valid-input"),a.classList.remove("invalid-input")):(a.classList.remove("valid-input"),
+a.classList.add("invalid-input"));this.validityChanged()}},{key:"validityChanged",value:function(){this.submitElement.disabled=!(this.nameValid&&this.sourceValid)}},{key:"validateSource",value:function(a){var d=this;a=void 0===a?!1:a;var e=this.sourceInput.value;if(""!==e){try{var g=this.manager.dataSourceProvider.suggestLayerName(e),k=this.nameInputElement;if(""===this.nameInputElement.value){var l=this.manager.layerManager.getUniqueLayerName(g);k.value=l;k.setSelectionRange(0,l.length);this.validateName()}a&&
+k.focus()}catch(z){this.setError(z.message);return}this.setInfo("Validating volume source...");var f=this.volumeCancellationSource=new b.b;this.manager.dataSourceProvider.getVolume(this.manager.chunkManager,e,void 0,f).then(function(a){f.isCanceled||(d.volumeCancellationSource=void 0,d.sourceValid=!0,d.setInfo(c.c[a.volumeType].toLowerCase()+": "+(a.numChannels+"-channel "+c.a[a.dataType].toLowerCase())),d.validityChanged())}).catch(function(a){f.isCanceled||(d.volumeCancellationSource=void 0,d.setError(a.message))})}}},
+{key:"setInfo",value:function(a){this.statusElement.className="dialog-status dialog-status-info";this.statusElement.textContent=a}},{key:"setError",value:function(a){this.statusElement.className="dialog-status dialog-status-error";this.statusElement.textContent=a}}]);return k}(h.a)},function(h,f,a){f.a=function(a,f){""===f.id&&(f.id="unique-id-for-association-"+q++);a.setAttribute("for",f.id)};var q=0},function(h,f,a){f.a=function(a){var f=-1;return Object.assign(function(){-1===f&&(f=requestAnimationFrame(function(){f=
+-1;a()}))},{flush:function(){-1!==f&&(f=-1,a())},cancel:function(){-1!==f&&(cancelAnimationFrame(f),f=-1)}})}},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function p(a,b){var c=document.documentElement.scrollTop+Math.min(document.documentElement.clientHeight-
+a.offsetHeight,b.clientY);a.style.left=document.documentElement.scrollLeft+Math.min(document.documentElement.clientWidth-a.offsetWidth,b.clientX)+"px";a.style.top=c+"px";a.style.visibility=null}a.d(f,"a",function(){return e});var n=a(1),c=a(8),b=a(7),d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();a(338);
+var e=function(a){function e(a){if(!(this instanceof e))throw new TypeError("Cannot call a class as a function");var c=(e.__proto__||Object.getPrototypeOf(e)).call(this);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");c=!c||"object"!==typeof c&&"function"!==typeof c?this:c;c.element=document.createElement("div");c.parentDisposers=new Map;c.disabledValue=!1;c.opened=new b.a;c.closed=new b.a;var d=c.element;d.className="neuroglancer-context-menu";d.style.visibility=
+"hidden";d.tabIndex=-1;document.body.appendChild(d);void 0!==a&&c.registerParent(a);return c}q(e,a);d(e,[{key:"registerParent",value:function(a){var b=this,c=this.parentDisposers;c.has(a)||c.set(a,Object(n.c)(a,"contextmenu",function(a){b.show(a);a.stopPropagation();a.preventDefault()}))}},{key:"show",value:function(a){var b=this;if(!this.disabledValue){this.hide();var c=this.element,d=Object(n.c)(document,"mousedown",function(a){a.target instanceof Node&&!c.contains(a.target)&&b.hide()},!0),e=Object(n.c)(document,
+"keydown",function(a){"Escape"===a.code&&b.hide()},!0);c.style.display=null;c.style.visibility="hidden";this.opened.dispatch();p(c,a);this.menuDisposer=function(){e();d();c.style.display="none"}}}},{key:"unregisterParent",value:function(a){var b=this.parentDisposers,c=b.get(a);void 0!==c&&(c(),b.delete(a))}},{key:"disposed",value:function(){for(var a=this.parentDisposers,b=$jscomp.makeIterator(a.values()),d=b.next();!d.done;d=b.next())d=d.value,d();a.clear();Object(c.b)(this.element)}},{key:"hide",
+value:function(){void 0!==this.menuDisposer&&(this.menuDisposer(),this.menuDisposer=void 0,this.closed.dispatch())}},{key:"disabled",get:function(){return this.disabledValue},set:function(a){this.disabledValue!==a&&(this.disabledValue=a)&&this.hide()}},{key:"open",get:function(){return void 0!==this.menuDisposer}}]);return e}(n.a)},function(h,f,a){f.a=function(a,c){var b=Object(q.c)(a,"drop",function(a){a.preventDefault();if(-1!==a.dataTransfer.types.indexOf(p.d)){var b=JSON.parse(a.dataTransfer.getData(p.d));
+c.restoreState(b);a.stopPropagation()}}),d=Object(q.c)(a,"dragover",function(a){-1!==a.dataTransfer.types.indexOf(p.d)&&(a.dataTransfer.dropEffect="link",a.preventDefault(),a.stopPropagation())});return function(){d();b()}};var q=a(1),p=a(120)},function(h,f,a){(function(a){function f(b,e,g,l){function d(a){var c=f(b,e);if(!c||c.to.line-c.from.line<m)return null;for(var d=b.findMarksAt(c.from),g=0;g<d.length;++g)if(d[g].__isFold&&"fold"!==l){if(!a)return null;c.cleared=!0;d[g].clear()}return c}if(g&&
+g.call){var f=g;g=null}else f=c(b,g,"rangeFinder");"number"==typeof e&&(e=a.Pos(e,0));var m=c(b,g,"minFoldSize"),r=d(!0);if(c(b,g,"scanUp"))for(;!r&&e.line>b.firstLine();)e=a.Pos(e.line-1,0),r=d(!1);if(r&&!r.cleared&&"unfold"!==l){var n=h(b,g);a.on(n,"mousedown",function(b){p.clear();a.e_preventDefault(b)});var p=b.markText(r.from,r.to,{replacedWith:n,clearOnEnter:c(b,g,"clearOnEnter"),__isFold:!0});p.on("clear",function(c,d){a.signal(b,"unfold",b,c,d)});a.signal(b,"fold",b,r.from,r.to)}}function h(a,
+b){a=c(a,b,"widget");"string"==typeof a?(b=document.createTextNode(a),a=document.createElement("span"),a.appendChild(b),a.className="CodeMirror-foldmarker"):a&&(a=a.cloneNode(!0));return a}function c(a,c,g){return c&&void 0!==c[g]?c[g]:(a=a.options.foldOptions)&&void 0!==a[g]?a[g]:b[g]}a.newFoldFunction=function(a,b){return function(c,d){f(c,d,{rangeFinder:a,widget:b})}};a.defineExtension("foldCode",function(a,b,c){f(this,a,b,c)});a.defineExtension("isFolded",function(a){a=this.findMarksAt(a);for(var b=
+0;b<a.length;++b)if(a[b].__isFold)return!0});a.commands.toggleFold=function(a){a.foldCode(a.getCursor())};a.commands.fold=function(a){a.foldCode(a.getCursor(),null,"fold")};a.commands.unfold=function(a){a.foldCode(a.getCursor(),null,"unfold")};a.commands.foldAll=function(b){b.operation(function(){for(var c=b.firstLine(),d=b.lastLine();c<=d;c++)b.foldCode(a.Pos(c,0),null,"fold")})};a.commands.unfoldAll=function(b){b.operation(function(){for(var c=b.firstLine(),d=b.lastLine();c<=d;c++)b.foldCode(a.Pos(c,
+0),null,"unfold")})};a.registerHelper("fold","combine",function(){var a=Array.prototype.slice.call(arguments,0);return function(b,c){for(var d=0;d<a.length;++d){var e=a[d](b,c);if(e)return e}}});a.registerHelper("fold","auto",function(a,b){for(var c=a.getHelpers(b,"fold"),d=0;d<c.length;d++){var e=c[d](a,b);if(e)return e}});var b={rangeFinder:a.fold.auto,widget:"\u2194",minFoldSize:0,scanUp:!1,clearOnEnter:!0};a.defineOption("foldOptions",null);a.defineExtension("foldOption",function(a,b){return c(this,
+a,b)})})(a(48))},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=
+b)}a.d(f,"a",function(){return w});var n=a(2),c=a(80),b=a(25),d=a(117),e=a(360),g=a(29),l=a(192),k=a(35),t=a(9),m=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),r=function x(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==
+a)return x(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},u=n.s.create(),v=n.k.create();f.b="perpspectiveRenderEvent";var w=function(a){function f(a,g,m,h){if(!(this instanceof f))throw new TypeError("Cannot call a class as a function");var r=q(this,(f.__proto__||Object.getPrototypeOf(f)).call(this,a,g,m));r.config=h;r.planarSlices=new Set;r.transparentPlaneRenderHelper=r.registerDisposer(e.b.get(r.gl,d.c));r.scaleBarWidget=r.registerDisposer(new l.a);Object(b.c)(g,
+"nehuba-translate-via-mouse-drag",function(a){Object(c.a)(a.detail,function(a,b,c){if(r.config.layout.useNehubaPerspective.enableShiftDrag){a=r.width;var d=r.height,e=r.viewer.navigationState.position,g=e.spatialCoordinates;n.s.transformMat4(u,g,r.projectionMat);u[0]=2*b/a;u[1]=-2*c/d;n.s.transformMat4(g,u,r.inverseProjectionMat);e.changed.dispatch()}})});a=h.layout.useNehubaPerspective.removePerspectiveSlicesBackground;r.nehubaSliceViewRenderHelper=r.registerDisposer(e.a.get(r.gl,d.c,a&&a.mode||
+"none"));r.registerDisposer(r.visibility.changed.add(function(){return Array.from(r.sliceViews.keys()).forEach(function(a){return a.visibility.value=r.visibility.value})}));a=r.scaleBarWidget.element;r.registerDisposer(new k.a(Object(t.g)(function(a,b){return a&&b},m.showScaleBar,m.orthographicProjection),a));g.appendChild(a);return r}p(f,a);m(f,[{key:"updateProjectionMatrix",value:function(){r(f.prototype.__proto__||Object.getPrototypeOf(f.prototype),"updateProjectionMatrix",this).call(this);this.config.layout.useNehubaPerspective.centerToOrigin&&
+(n.k.translate(this.projectionMat,this.projectionMat,this.navigationState.position.spatialCoordinates),n.k.invert(this.inverseProjectionMat,this.projectionMat))}},{key:"disposed",value:function(){for(var a=$jscomp.makeIterator(this.planarSlices),b=a.next();!b.done;b=a.next())b.value.dispose();this.planarSlices.clear();r(f.prototype.__proto__||Object.getPrototypeOf(f.prototype),"disposed",this).call(this)}},{key:"draw",value:function(){for(var a=$jscomp.makeIterator(this.sliceViews.keys()),b=a.next();!b.done;b=
+a.next())b.value.visibility.value=this.config.layout.useNehubaPerspective.disablePerspectiveSlicesPreloading?this.viewer.showSliceViews.value&&this.visibility.visible?g.b.VISIBLE:g.b.IGNORED:this.visibility.value;if(this.navigationState.valid){this.onResize();a=this.width;var c=this.height;if(0!==a&&0!==c){b=this.viewer.showSliceViews.value;for(var e=$jscomp.makeIterator(this.sliceViews),k=e.next();!k.done;k=e.next()){k=$jscomp.makeIterator(k.value);var l=k.next().value;(k.next().value||b)&&l.updateRendering()}e=
+$jscomp.makeIterator(this.planarSlices);for(b=e.next();!b.done;b=e.next())b.value.updateRendering();b=this.gl;this.offscreenFramebuffer.bind(a,c);b.disable(b.SCISSOR_TEST);e=this.config.layout.useNehubaPerspective;e=e.perspectiveBackground||e.perspectiveSlicesBackground||this.viewer.crossSectionBackgroundColor.value;this.gl.clearColor(e[0],e[1],e[2],1);b.clear(b.COLOR_BUFFER_BIT|b.DEPTH_BUFFER_BIT);b.enable(b.DEPTH_TEST);e=this.projectionMat;this.updateProjectionMatrix();k=n.s.create();Object(n.p)(k,
+n.e[2],this.modelViewMat);n.s.normalize(k,k);l=this.pickIDs;l.clear();e={dataToDevice:e,lightDirection:k,ambientLighting:.2,directionalLighting:.8,pickIDs:l,emitter:d.c,emitColor:!0,emitPickID:!0,alreadyEmittedPickID:!1,viewportWidth:a,viewportHeight:c,extra:{config:this.config,showSliceViewsCheckboxValue:this.viewer.showSliceViews.value,slicesPose:this.viewer.slicesNavigationState.pose,perspectiveNavigationState:this.viewer.navigationState,meshesLoaded:-1,meshFragmentsLoaded:-1,crossSectionBackground:this.viewer.crossSectionBackgroundColor.value}};
+k=this.visibleLayerTracker.getVisibleLayers();for(var f=l=!1,m=$jscomp.makeIterator(k),h=m.next();!h.done;h=m.next())h=h.value,h.isTransparent?l=!0:h.isAnnotation?f=!0:h.draw(e);this.config.layout.useNehubaPerspective.waitForMesh&&!e.extra.meshRendered||this.drawSliceViews(e);if(f){b.enable(WebGL2RenderingContext.BLEND);b.depthFunc(WebGL2RenderingContext.LEQUAL);b.blendFunc(WebGL2RenderingContext.SRC_ALPHA,WebGL2RenderingContext.ONE_MINUS_SRC_ALPHA);b.drawBuffers([b.COLOR_ATTACHMENT0,b.NONE,b.NONE]);
+e.emitPickID=!1;f=$jscomp.makeIterator(k);for(h=f.next();!h.done;h=f.next())h=h.value,h.isAnnotation&&h.draw(e);b.depthFunc(WebGL2RenderingContext.LESS);b.disable(WebGL2RenderingContext.BLEND);b.drawBuffers([b.COLOR_ATTACHMENT0,b.COLOR_ATTACHMENT1,b.COLOR_ATTACHMENT2]);e.emitPickID=!0}h=this.config.layout.useNehubaPerspective.disableAxisLinesInPerspective;this.viewer.showAxisLines.value&&!h&&this.drawAxisLines();if(l){b.depthMask(!1);b.enable(WebGL2RenderingContext.BLEND);l=this.transparentConfiguration;
+l.bind(a,c);this.gl.clearColor(0,0,0,1);b.clear(WebGL2RenderingContext.COLOR_BUFFER_BIT);e.emitter=d.d;b.blendFuncSeparate(WebGL2RenderingContext.ONE,WebGL2RenderingContext.ONE,WebGL2RenderingContext.ZERO,WebGL2RenderingContext.ONE_MINUS_SRC_ALPHA);e.emitPickID=!1;f=$jscomp.makeIterator(k);for(h=f.next();!h.done;h=f.next())h=h.value,h.isTransparent&&h.draw(e);b.disable(WebGL2RenderingContext.DEPTH_TEST);this.offscreenFramebuffer.bindSingle(d.a.COLOR);b.blendFunc(WebGL2RenderingContext.ONE_MINUS_SRC_ALPHA,
+WebGL2RenderingContext.SRC_ALPHA);this.transparencyCopyHelper.draw(l.colorBuffers[0].texture,l.colorBuffers[1].texture);b.depthMask(!0);b.disable(WebGL2RenderingContext.BLEND);b.enable(WebGL2RenderingContext.DEPTH_TEST);this.offscreenFramebuffer.bind(a,c)}b.drawBuffers([b.NONE,b.COLOR_ATTACHMENT1,b.COLOR_ATTACHMENT2]);e.emitter=d.c;e.emitPickID=!0;e.emitColor=!1;b.enable(WebGL2RenderingContext.POLYGON_OFFSET_FILL);b.polygonOffset(-1,-1);c=$jscomp.makeIterator(k);for(h=c.next();!h.done;h=c.next())k=
+h.value,e.alreadyEmittedPickID=!k.isTransparent&&!k.isAnnotation,k.draw(e);b.disable(WebGL2RenderingContext.POLYGON_OFFSET_FILL);this.viewer.showScaleBar.value&&this.viewer.orthographicProjection.value&&(c=this.scaleBarWidget.dimensions,c.targetLengthInPixels=Math.min(a/4,100),c.nanometersPerPixel=this.nanometersPerPixel,this.scaleBarWidget.update());this.offscreenFramebuffer.unbind();this.setGLViewport();this.offscreenCopyHelper.draw(this.offscreenFramebuffer.colorBuffers[d.a.COLOR].texture);a=new CustomEvent("perpspectiveRenderEvent",
+{bubbles:!0,detail:{meshesLoaded:e.extra.meshesLoaded,meshFragmentsLoaded:e.extra.meshFragmentsLoaded,lastLoadedMeshId:e.extra.lastMeshId}});this.element.dispatchEvent(a)}}}},{key:"drawSliceViews",value:function(a){var b=this.config.layout.useNehubaPerspective,c=this.sliceViewRenderHelper,d=this.nehubaSliceViewRenderHelper,e=this.transparentPlaneRenderHelper,g=a.lightDirection,k=a.ambientLighting,l=a.directionalLighting;a=a.dataToDevice;var f=this.viewer.showSliceViews.value;if(!b.hideImages){var m=
+b.removePerspectiveSlicesBackground;c=m?d:c;for(var h=$jscomp.makeIterator(this.sliceViews),t=h.next();!t.done;t=h.next()){var r=$jscomp.makeIterator(t.value);t=r.next().value;if((r.next().value||f)&&0!==t.width&&0!==t.height&&t.hasValidViewport){r=Math.abs(n.s.dot(g,t.viewportAxes[2]));r=k+r*l;var p=v;n.k.identity(p);p[0]=t.width/2;p[5]=-t.height/2;n.k.multiply(p,t.viewportToData,p);n.k.multiply(p,a,p);var q=n.u.create(),u=b.perspectiveSlicesBackground||this.viewer.crossSectionBackgroundColor.value;
+q[0]=u[0];q[1]=u[1];q[2]=u[2];q[3]=1;d.setDiscardColor(m&&m.color||q);c.draw(t.offscreenFramebuffer.colorBuffers[0].texture,p,n.u.fromValues(r,r,r,1),q,0,0,1,1)}}}if(b.drawSubstrates&&f)for(d=b.fixedZoomPerspectiveSlices&&b.fixedZoomPerspectiveSlices.sliceViewportSizeMultiplier||1,g=$jscomp.makeIterator(this.sliceViews.keys()),k=g.next();!k.done;k=g.next()){c=k.value;k=v;n.k.identity(k);k[0]=c.width/2/d;k[5]=-c.height/2/d;n.k.multiply(k,c.viewportToData,k);l=n.k.clone(a);m=n.s.clone(this.navigationState.position.spatialCoordinates);
+c=n.s.clone(c.viewportAxes[2]);h=this.viewer.slicesNavigationState.pose.orientation.orientation;t=n.n.invert(n.n.create(),h);n.s.transformQuat(c,c,t);n.s.transformQuat(m,m,t);t=n.s.create();for(r=0;3>r;r++)t[r]=0===Math.round(c[r])?-m[r]:0;n.s.transformQuat(t,t,h);n.k.translate(l,l,t);n.k.multiply(k,l,k);l=b.drawSubstrates.color||n.u.fromValues(0,0,1,.2);e.draw(k,l,{factor:3,units:1})}if(b.drawZoomLevels&&f&&(f=b.drawZoomLevels.cutOff)&&this.viewer.slicesNavigationState.zoomFactor.value<f)for(f=$jscomp.makeIterator(this.planarSlices),
+k=f.next();!k.done;k=f.next())g=k.value,d=v,n.k.identity(d),d[0]=g.width/2,d[5]=-g.height/2,n.k.multiply(d,g.viewportToData,d),n.k.multiply(d,a,d),g=b.drawZoomLevels.color||n.u.fromValues(1,0,0,.2),e.draw(d,g,{factor:-1,units:1})}},{key:"zoomByMouse",value:function(a){r(f.prototype.__proto__||Object.getPrototypeOf(f.prototype),"zoomByMouse",this).call(this,a);if(a=this.config.layout.useNehubaPerspective.restrictZoomLevel)a.minZoom&&this.navigationState.zoomFactor.value<a.minZoom&&(this.navigationState.zoomFactor.value=
+a.minZoom),a.maxZoom&&this.navigationState.zoomFactor.value>a.maxZoom&&(this.navigationState.zoomFactor.value=a.maxZoom)}}]);return f}(d.b)},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return b});
+h=a(1);var p=a(53),n=a(8),c=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();a(361);var b=function(a){function b(a){a=void 0===a?new p.a:a;if(!(this instanceof b))throw new TypeError("Cannot call a class as a function");var c=(b.__proto__||Object.getPrototypeOf(b)).call(this);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
+c=!c||"object"!==typeof c&&"function"!==typeof c?this:c;c.dimensions=a;c.element=document.createElement("div");c.textNode=document.createTextNode("");c.barElement=document.createElement("div");a=c.element;var d=c.textNode,e=c.barElement;a.className="scale-bar-container";a.appendChild(d);a.appendChild(e);e.className="scale-bar";return c}q(b,a);c(b,[{key:"update",value:function(){var a=this.dimensions;a.update()&&(this.textNode.textContent=a.physicalLength+" "+a.physicalUnit,this.barElement.style.width=
+a.lengthInPixels+"px")}},{key:"disposed",value:function(){Object(n.b)(this.element)}}]);return b}(h.a)},function(h,f,a){function q(a){if(!a[m]){a.registerDisposer(a.layerManager.layersChanged.add(function(){for(var b=!1,c=new g.b(g.s.fromValues(Infinity,Infinity,Infinity),g.s.fromValues(-Infinity,-Infinity,-Infinity)),d=$jscomp.makeIterator(a.layerManager.managedLayers),e=d.next();!e.done;e=d.next())if(e=e.value.layer,null!=e){e=$jscomp.makeIterator(e.renderLayers);for(var k=e.next();!k.done;k=e.next())k=
+k.value.boundingBox,null!=k&&(g.s.min(c.lower,c.lower,k.lower),g.s.max(c.upper,c.upper,k.upper),b=!0)}b&&(a.navigationState.position[t]=c);b&&(a.navigationState.pose[t]=c);b&&a.navigationState.position.changed.dispatch()}));var b=a.navigationState.position,c=b.changed.dispatch;b.changed.dispatch=function(){var a=b[t];if(a){var d=b.spatialCoordinates;g.s.min(d,d,a.upper);g.s.max(d,d,a.lower)}c()};a[m]=!0}}function p(a){c(a,function(a){a=a.displayState;a.segmentColorHash instanceof k.a||(a.segmentColorHash=
+k.a.from(a.segmentColorHash))})}function n(a,b){var c=a.display.onResize;a.display.onResize=function(){if(b.dedebounceUpdates){this.scheduleRedraw();for(var a=$jscomp.makeIterator(this.panels),d=a.next();!d.done;d=a.next())d.value.onResize()}else c.call(this)}}function c(a,c){b(a,c);var d=a.layerManager;d.registerDisposer(d.layersChanged.add(function(){b(a,c)}))}function b(a,b){a.layerManager.managedLayers.map(function(a){return a.layer}).filter(function(a){return!!a}).filter(function(a){return a instanceof
+l.SegmentationUserLayer}).map(function(a){return a}).forEach(function(a){b(a)})}function d(a,b){$jscomp.initSymbol();var c=Symbol("customEvent");a.addEventListener("wheel",function(a){if(!a[c]&&b.zoomWithoutCtrl){a.stopImmediatePropagation();a.stopPropagation();a.preventDefault();var d=new Proxy(a,{get:function(a,b){if("ctrlKey"===b)return!a[b];b=a[b];return"function"===typeof b?b.bind(a):b}});d=new WheelEvent(a.type,d);d[c]=!0;a.target.dispatchEvent(d)}},!0)}function e(a,b){a.addEventListener("mousedown",
+function(a){b.rightClickWithCtrl&&2===a.button&&!a.ctrlKey&&(a.stopImmediatePropagation(),a.stopPropagation(),a.preventDefault())},!0)}f.a=function(a,b){b.restrictUserNavigation&&q(a);b.globals&&b.globals.useCustomSegmentColors&&p(a);b.globals&&b.globals.useNehubaLayout&&(a.inputEventBindings.sliceView.set("at:shift+mousedown0",{action:"nehuba-rotate-via-mouse-drag",stopPropagation:!0}),b.layout&&b.layout.useNehubaPerspective&&a.inputEventBindings.perspectiveView.set("at:shift+mousedown0",{action:"nehuba-translate-via-mouse-drag",
+stopPropagation:!0}));b.dedebounceUpdates&&n(a,b)};f.b=function(a,b){d(a,b);e(a,b)};f.e=q;f.d=function(a){a.displayState.segmentSelectionState.set(null);a.displayState.segmentSelectionState.set=function(){}};f.c=function(a){a.displayState.segmentSelectionState.isSelected=function(){return!1}};var g=a(2),l=a(64),k=a(122);$jscomp.initSymbol();var t=Symbol("bbox");$jscomp.initSymbol();var m=Symbol("hooked")},function(h,f,a){h.exports=a(364)},function(h,f,a){f.isObject=function(a){return null!=a&&"object"===
+typeof a}},function(h,f,a){var q=this&&this.__extends||function(a,f){function c(){this.constructor=a}for(var b in f)f.hasOwnProperty(b)&&(a[b]=f[b]);a.prototype=null===f?Object.create(f):(c.prototype=f.prototype,new c)};h=function(a){function f(c){a.call(this);this.errors=c;c=Error.call(this,c?c.length+" errors occurred during unsubscription:\n  "+c.map(function(a,c){return c+1+") "+a.toString()}).join("\n  "):"");this.name=c.name="UnsubscriptionError";this.stack=c.stack;this.message=c.message}q(f,
+a);return f}(Error);f.UnsubscriptionError=h},function(h,f,a){f.empty={closed:!0,next:function(a){},error:function(a){throw a;},complete:function(){}}},function(h,f,a){var q=this&&this.__extends||function(a,f){function c(){this.constructor=a}for(var b in f)f.hasOwnProperty(b)&&(a[b]=f[b]);a.prototype=null===f?Object.create(f):(c.prototype=f.prototype,new c)};h=function(a){function f(c,b){a.call(this);this.subject=c;this.subscriber=b;this.closed=!1}q(f,a);f.prototype.unsubscribe=function(){if(!this.closed){this.closed=
+!0;var a=this.subject,b=a.observers;this.subject=null;!b||0===b.length||a.isStopped||a.closed||(a=b.indexOf(this.subscriber),-1!==a&&b.splice(a,1))}};return f}(a(11).Subscription);f.SubjectSubscription=h},function(h,f,a){f.isArrayLike=function(a){return a&&"number"===typeof a.length}},function(h,f,a){f.isPromise=function(a){return a&&"function"!==typeof a.subscribe&&"function"===typeof a.then}},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&
+(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(36),n=a(199),c=a(200),b=a(202),d=a(387),e=a(38),g=a(388),l=a(67),k=a(0),t=a(127),m=a(86);h=function(a){function f(b,c){a.call(this,null);this.ish=b;this.scheduler=c}q(f,a);f.create=function(a,h){if(null!=a){if("function"===typeof a[m.observable])return a instanceof k.Observable&&!h?a:new f(a,h);if(p.isArray(a))return new e.ArrayObservable(a,h);if(c.isPromise(a))return new b.PromiseObservable(a,h);if("function"===
+typeof a[l.iterator]||"string"===typeof a)return new d.IteratorObservable(a,h);if(n.isArrayLike(a))return new g.ArrayLikeObservable(a,h)}throw new TypeError((null!==a&&typeof a||a)+" is not observable");};f.prototype._subscribe=function(a){var b=this.ish,c=this.scheduler;return null==c?b[m.observable]().subscribe(a):b[m.observable]().subscribe(new t.ObserveOnSubscriber(a,c,0))};return f}(k.Observable);f.FromObservable=h},function(h,f,a){function q(a){var b=a.value;a=a.subscriber;a.closed||(a.next(b),
+a.complete())}function p(a){var b=a.err;a=a.subscriber;a.closed||a.error(b)}var n=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)},c=a(16);h=function(a){function b(b,c){a.call(this);this.promise=b;this.scheduler=c}n(b,a);b.create=function(a,c){return new b(a,c)};b.prototype._subscribe=function(a){var b=this,d=this.promise,e=this.scheduler;if(null==e)this._isScalar?
+a.closed||(a.next(this.value),a.complete()):d.then(function(c){b.value=c;b._isScalar=!0;a.closed||(a.next(c),a.complete())},function(b){a.closed||a.error(b)}).then(null,function(a){c.root.setTimeout(function(){throw a;})});else if(this._isScalar){if(!a.closed)return e.schedule(q,0,{value:this.value,subscriber:a})}else d.then(function(c){b.value=c;b._isScalar=!0;a.closed||a.add(e.schedule(q,0,{value:c,subscriber:a}))},function(b){a.closed||a.add(e.schedule(p,0,{err:b,subscriber:a}))}).then(null,function(a){c.root.setTimeout(function(){throw a;
+})})};return b}(a(0).Observable);f.PromiseObservable=h},function(h,f,a){function q(){for(var a=[],e=0;e<arguments.length;e++)a[e-0]=arguments[e];e=Number.POSITIVE_INFINITY;var g=null,l=a[a.length-1];b.isScheduler(l)?(g=a.pop(),1<a.length&&"number"===typeof a[a.length-1]&&(e=a.pop())):"number"===typeof l&&(e=a.pop());return null===g&&1===a.length&&a[0]instanceof p.Observable?a[0]:(new n.ArrayObservable(a,g)).lift(new c.MergeAllOperator(e))}var p=a(0),n=a(38),c=a(89),b=a(37);f.merge=function(){for(var a=
+[],b=0;b<arguments.length;b++)a[b-0]=arguments[b];return this.lift.call(q.apply(void 0,[this].concat(a)))};f.mergeStatic=q},function(h,f,a){function q(){for(var a=[],b=0;b<arguments.length;b++)a[b-0]=arguments[b];if(1===a.length)if(n.isArray(a[0]))a=a[0];else return a[0];return(new c.ArrayObservable(a)).lift(new d)}var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,
+new c)},n=a(36),c=a(38);h=a(5);var b=a(6);f.race=function(){for(var a=[],b=0;b<arguments.length;b++)a[b-0]=arguments[b];1===a.length&&n.isArray(a[0])&&(a=a[0]);return this.lift.call(q.apply(void 0,[this].concat(a)))};f.raceStatic=q;var d=function(){function a(){}a.prototype.call=function(a,b){return b.subscribe(new e(a))};return a}();f.RaceOperator=d;var e=function(a){function c(b){a.call(this,b);this.hasFirst=!1;this.observables=[];this.subscriptions=[]}p(c,a);c.prototype._next=function(a){this.observables.push(a)};
+c.prototype._complete=function(){var a=this.observables,c=a.length;if(0===c)this.destination.complete();else{for(var d=0;d<c&&!this.hasFirst;d++){var e=a[d];e=b.subscribeToResult(this,e,e,d);this.subscriptions&&this.subscriptions.push(e);this.add(e)}this.observables=null}};c.prototype.notifyNext=function(a,b,c,d,e){if(!this.hasFirst){this.hasFirst=!0;for(a=0;a<this.subscriptions.length;a++)a!==c&&(d=this.subscriptions[a],d.unsubscribe(),this.remove(d));this.subscriptions=null}this.destination.next(b)};
+return c}(h.OuterSubscriber);f.RaceSubscriber=e},function(h,f,a){f.noop=function(){}},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(201),n=a(36);h=a(5);var c=a(6);f.onErrorResumeNext=function(){for(var a=[],c=0;c<arguments.length;c++)a[c-0]=arguments[c];1===a.length&&n.isArray(a[0])&&(a=a[0]);return this.lift(new b(a))};f.onErrorResumeNextStatic=
+function(){for(var a=[],c=0;c<arguments.length;c++)a[c-0]=arguments[c];1===a.length&&n.isArray(a[0])&&(a=a[0]);c=a.shift();return(new p.FromObservable(c,null)).lift(new b(a))};var b=function(){function a(a){this.nextSources=a}a.prototype.call=function(a,b){return b.subscribe(new d(a,this.nextSources))};return a}(),d=function(a){function b(b,c){a.call(this,b);this.destination=b;this.nextSources=c}q(b,a);b.prototype.notifyError=function(a,b){this.subscribeToNextSource()};b.prototype.notifyComplete=
+function(a){this.subscribeToNextSource()};b.prototype._error=function(a){this.subscribeToNextSource()};b.prototype._complete=function(){this.subscribeToNextSource()};b.prototype.subscribeToNextSource=function(){var a=this.nextSources.shift();a?this.add(c.subscribeToResult(this,a)):this.destination.complete()};return b}(h.OuterSubscriber)},function(h,f,a){function q(a,b){void 0===b&&(b=null);return new r({method:"GET",url:a,headers:b})}function p(a,b,c){return new r({method:"POST",url:a,body:b,headers:c})}
+function n(a,b){return new r({method:"DELETE",url:a,headers:b})}function c(a,b,c){return new r({method:"PUT",url:a,body:b,headers:c})}function b(a,b,c){return new r({method:"PATCH",url:a,body:b,headers:c})}function d(a,b){return(new r({method:"GET",url:a,responseType:"json",headers:b})).lift(new m.MapOperator(function(a,b){return a.response},null))}var e=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):
+(c.prototype=b.prototype,new c)},g=a(16),l=a(17),k=a(13);h=a(0);var t=a(3),m=a(129);f.ajaxGet=q;f.ajaxPost=p;f.ajaxDelete=n;f.ajaxPut=c;f.ajaxPatch=b;f.ajaxGetJSON=d;var r=function(a){function k(b){a.call(this);var c={async:!0,createXHR:function(){if(this.crossDomain)if(g.root.XMLHttpRequest)var a=new g.root.XMLHttpRequest;else if(g.root.XDomainRequest)a=new g.root.XDomainRequest;else throw Error("CORS is not supported by your browser");else if(g.root.XMLHttpRequest)a=new g.root.XMLHttpRequest;else{var b=
+void 0;try{for(var c=["Msxml2.XMLHTTP","Microsoft.XMLHTTP","Msxml2.XMLHTTP.4.0"],d=0;3>d;d++)try{b=c[d];new g.root.ActiveXObject(b);break}catch(L){}a=new g.root.ActiveXObject(b)}catch(L){throw Error("XMLHttpRequest is not supported by your browser");}}return a},crossDomain:!1,withCredentials:!1,headers:{},method:"GET",responseType:"json",timeout:0};if("string"===typeof b)c.url=b;else for(var d in b)b.hasOwnProperty(d)&&(c[d]=b[d]);this.request=c}e(k,a);k.prototype._subscribe=function(a){return new u(a,
+this.request)};k.create=function(){var a=function(a){return new k(a)};a.get=q;a.post=p;a.delete=n;a.put=c;a.patch=b;a.getJSON=d;return a}();return k}(h.Observable);f.AjaxObservable=r;var u=function(a){function b(b,c){a.call(this,b);this.request=c;this.done=!1;b=c.headers=c.headers||{};c.crossDomain||b["X-Requested-With"]||(b["X-Requested-With"]="XMLHttpRequest");"Content-Type"in b||g.root.FormData&&c.body instanceof g.root.FormData||"undefined"===typeof c.body||(b["Content-Type"]="application/x-www-form-urlencoded; charset=UTF-8");
+c.body=this.serializeBody(c.body,c.headers["Content-Type"]);this.send()}e(b,a);b.prototype.next=function(a){this.done=!0;var b=this.destination;a=new v(a,this.xhr,this.request);b.next(a)};b.prototype.send=function(){var a=this.request,b=this.request,c=b.user,d=b.method,e=b.url,g=b.async,f=b.password,m=b.headers;b=b.body;var h=l.tryCatch(a.createXHR).call(a);if(h===k.errorObject)this.error(k.errorObject.e);else{this.xhr=h;this.setupEvents(h,a);c=c?l.tryCatch(h.open).call(h,d,e,g,c,f):l.tryCatch(h.open).call(h,
+d,e,g);if(c===k.errorObject)return this.error(k.errorObject.e),null;g&&(h.timeout=a.timeout,h.responseType=a.responseType);"withCredentials"in h&&(h.withCredentials=!!a.withCredentials);this.setHeaders(h,m);c=b?l.tryCatch(h.send).call(h,b):l.tryCatch(h.send).call(h);if(c===k.errorObject)return this.error(k.errorObject.e),null}return h};b.prototype.serializeBody=function(a,b){if(!a||"string"===typeof a||g.root.FormData&&a instanceof g.root.FormData)return a;if(b){var c=b.indexOf(";");-1!==c&&(b=b.substring(0,
+c))}switch(b){case "application/x-www-form-urlencoded":return Object.keys(a).map(function(b){return encodeURI(b)+"="+encodeURI(a[b])}).join("&");case "application/json":return JSON.stringify(a);default:return a}};b.prototype.setHeaders=function(a,b){for(var c in b)b.hasOwnProperty(c)&&a.setRequestHeader(c,b[c])};b.prototype.setupEvents=function(a,b){function c(a){var b=c.subscriber,d=c.progressSubscriber,e=c.request;d&&d.error(a);b.error(new y(this,e))}function d(a){var b=d.subscriber,c=d.progressSubscriber,
+e=d.request;if(4===this.readyState){var g=1223===this.status?204:this.status,k="text"===this.responseType?this.response||this.responseText:this.response;0===g&&(g=k?200:0);200<=g&&300>g?(c&&c.complete(),b.next(a),b.complete()):(c&&c.error(a),b.error(new w("ajax error "+g,this,e)))}}var e=b.progressSubscriber;a.ontimeout=c;c.request=b;c.subscriber=this;c.progressSubscriber=e;if(a.upload&&"withCredentials"in a){if(e){var k=function(a){k.progressSubscriber.next(a)};g.root.XDomainRequest?a.onprogress=
+k:a.upload.onprogress=k;k.progressSubscriber=e}var l=function(a){var b=l.progressSubscriber,c=l.subscriber,d=l.request;b&&b.error(a);c.error(new w("ajax error",this,d))};a.onerror=l;l.request=b;l.subscriber=this;l.progressSubscriber=e}a.onreadystatechange=d;d.subscriber=this;d.progressSubscriber=e;d.request=b};b.prototype.unsubscribe=function(){var b=this.xhr;!this.done&&b&&4!==b.readyState&&"function"===typeof b.abort&&b.abort();a.prototype.unsubscribe.call(this)};return b}(t.Subscriber);f.AjaxSubscriber=
+u;var v=function(){return function(a,b,c){this.originalEvent=a;this.xhr=b;this.request=c;this.status=b.status;this.responseType=b.responseType||c.responseType;switch(this.responseType){case "json":this.response="response"in b?b.responseType?b.response:JSON.parse(b.response||b.responseText||"null"):JSON.parse(b.responseText||"null");break;case "xml":this.response=b.responseXML;break;default:this.response="response"in b?b.response:b.responseText}}}();f.AjaxResponse=v;var w=function(a){function b(b,
+c,d){a.call(this,b);this.message=b;this.xhr=c;this.request=d;this.status=c.status}e(b,a);return b}(Error);f.AjaxError=w;var y=function(a){function b(b,c){a.call(this,"ajax timeout",b,c)}e(b,a);return b}(w);f.AjaxTimeoutError=y},function(h,f,a){h=a(441);a=a(442);f.queue=new a.QueueScheduler(h.QueueAction)},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,
+new b)},p=a(6);h=a(5);f.mergeMap=function(a,c,e){void 0===e&&(e=Number.POSITIVE_INFINITY);"number"===typeof c&&(e=c,c=null);return this.lift(new n(a,c,e))};var n=function(){function a(a,b,c){void 0===c&&(c=Number.POSITIVE_INFINITY);this.project=a;this.resultSelector=b;this.concurrent=c}a.prototype.call=function(a,b){return b.subscribe(new c(a,this.project,this.resultSelector,this.concurrent))};return a}();f.MergeMapOperator=n;var c=function(a){function b(b,c,d,k){void 0===k&&(k=Number.POSITIVE_INFINITY);
+a.call(this,b);this.project=c;this.resultSelector=d;this.concurrent=k;this.hasCompleted=!1;this.buffer=[];this.index=this.active=0}q(b,a);b.prototype._next=function(a){this.active<this.concurrent?this._tryNext(a):this.buffer.push(a)};b.prototype._tryNext=function(a){var b=this.index++;try{var c=this.project(a,b)}catch(k){this.destination.error(k);return}this.active++;this._innerSub(c,a,b)};b.prototype._innerSub=function(a,b,c){this.add(p.subscribeToResult(this,a,b,c))};b.prototype._complete=function(){this.hasCompleted=
+!0;0===this.active&&0===this.buffer.length&&this.destination.complete()};b.prototype.notifyNext=function(a,b,c,d,f){this.resultSelector?this._notifyResultSelector(a,b,c,d):this.destination.next(b)};b.prototype._notifyResultSelector=function(a,b,c,d){try{var e=this.resultSelector(a,b,c,d)}catch(m){this.destination.error(m);return}this.destination.next(e)};b.prototype.notifyComplete=function(a){var b=this.buffer;this.remove(a);this.active--;0<b.length?this._next(b.shift()):0===this.active&&this.hasCompleted&&
+this.destination.complete()};return b}(h.OuterSubscriber);f.MergeMapSubscriber=c},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(5);var p=a(6);f.mergeMapTo=function(a,c,e){void 0===e&&(e=Number.POSITIVE_INFINITY);"number"===typeof c&&(e=c,c=null);return this.lift(new n(a,c,e))};var n=function(){function a(a,b,c){void 0===c&&(c=Number.POSITIVE_INFINITY);
+this.ish=a;this.resultSelector=b;this.concurrent=c}a.prototype.call=function(a,b){return b.subscribe(new c(a,this.ish,this.resultSelector,this.concurrent))};return a}();f.MergeMapToOperator=n;var c=function(a){function b(b,c,d,k){void 0===k&&(k=Number.POSITIVE_INFINITY);a.call(this,b);this.ish=c;this.resultSelector=d;this.concurrent=k;this.hasCompleted=!1;this.buffer=[];this.index=this.active=0}q(b,a);b.prototype._next=function(a){if(this.active<this.concurrent){var b=this.resultSelector,c=this.index++,
+d=this.ish,e=this.destination;this.active++;this._innerSub(d,e,b,a,c)}else this.buffer.push(a)};b.prototype._innerSub=function(a,b,c,d,f){this.add(p.subscribeToResult(this,a,d,f))};b.prototype._complete=function(){this.hasCompleted=!0;0===this.active&&0===this.buffer.length&&this.destination.complete()};b.prototype.notifyNext=function(a,b,c,d,f){f=this.destination;this.resultSelector?this.trySelectResult(a,b,c,d):f.next(b)};b.prototype.trySelectResult=function(a,b,c,d){var e=this.resultSelector,g=
+this.destination;try{var k=e(a,b,c,d)}catch(u){g.error(u);return}g.next(k)};b.prototype.notifyError=function(a){this.destination.error(a)};b.prototype.notifyComplete=function(a){var b=this.buffer;this.remove(a);this.active--;0<b.length?this._next(b.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()};return b}(h.OuterSubscriber);f.MergeMapToSubscriber=c},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&
+(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);var p=a(17),n=a(13);f.distinctUntilChanged=function(a,b){return this.lift(new c(a,b))};var c=function(){function a(a,b){this.compare=a;this.keySelector=b}a.prototype.call=function(a,c){return c.subscribe(new b(a,this.compare,this.keySelector))};return a}(),b=function(a){function b(b,c,d){a.call(this,b);this.keySelector=d;this.hasKey=!1;"function"===typeof c&&(this.compare=c)}q(b,a);b.prototype.compare=function(a,
+b){return a===b};b.prototype._next=function(a){var b=a;if(this.keySelector&&(b=p.tryCatch(this.keySelector)(a),b===n.errorObject))return this.destination.error(n.errorObject.e);var c=!1;if(this.hasKey){if(c=p.tryCatch(this.compare)(this.key,b),c===n.errorObject)return this.destination.error(n.errorObject.e)}else this.hasKey=!0;!1===!!c&&(this.key=b,this.destination.next(a))};return b}(h.Subscriber)},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var e in b)b.hasOwnProperty(e)&&
+(a[e]=b[e]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);f.filter=function(a,b){return this.lift(new p(a,b))};var p=function(){function a(a,c){this.predicate=a;this.thisArg=c}a.prototype.call=function(a,c){return c.subscribe(new n(a,this.predicate,this.thisArg))};return a}(),n=function(a){function b(b,c,g){a.call(this,b);this.predicate=c;this.thisArg=g;this.count=0}q(b,a);b.prototype._next=function(a){try{var b=this.predicate.call(this.thisArg,a,this.count++)}catch(g){this.destination.error(g);
+return}b&&this.destination.next(a)};return b}(h.Subscriber)},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var e in b)b.hasOwnProperty(e)&&(a[e]=b[e]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);f.find=function(a,b){if("function"!==typeof a)throw new TypeError("predicate is not a function");return this.lift(new p(a,this,!1,b))};var p=function(){function a(a,c,e,g){this.predicate=a;this.source=c;this.yieldIndex=e;this.thisArg=
+g}a.prototype.call=function(a,c){return c.subscribe(new n(a,this.predicate,this.source,this.yieldIndex,this.thisArg))};return a}();f.FindValueOperator=p;var n=function(a){function b(b,c,g,l,k){a.call(this,b);this.predicate=c;this.source=g;this.yieldIndex=l;this.thisArg=k;this.index=0}q(b,a);b.prototype.notifyComplete=function(a){var b=this.destination;b.next(a);b.complete()};b.prototype._next=function(a){var b=this.predicate,c=this.thisArg,d=this.index++;try{b.call(c||this,a,d,this.source)&&this.notifyComplete(this.yieldIndex?
+d:a)}catch(k){this.destination.error(k)}};b.prototype._complete=function(){this.notifyComplete(this.yieldIndex?-1:void 0)};return b}(h.Subscriber);f.FindValueSubscriber=n},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(12);var p=a(0),n=a(3),c=a(11);a=function(a){function e(b,c){a.call(this);this.source=b;this.subjectFactory=c;this._refCount=
+0;this._isComplete=!1}q(e,a);e.prototype._subscribe=function(a){return this.getSubject().subscribe(a)};e.prototype.getSubject=function(){var a=this._subject;if(!a||a.isStopped)this._subject=this.subjectFactory();return this._subject};e.prototype.connect=function(){var a=this._connection;a||(this._isComplete=!1,a=this._connection=new c.Subscription,a.add(this.source.subscribe(new b(this.getSubject(),this))),a.closed?(this._connection=null,a=c.Subscription.EMPTY):this._connection=a);return a};e.prototype.refCount=
+function(){return this.lift(new d(this))};return e}(p.Observable);f.ConnectableObservable=a;a=a.prototype;f.connectableObservableDescriptor={operator:{value:null},_refCount:{value:0,writable:!0},_subject:{value:null,writable:!0},_connection:{value:null,writable:!0},_subscribe:{value:a._subscribe},_isComplete:{value:a._isComplete,writable:!0},getSubject:{value:a.getSubject},connect:{value:a.connect},refCount:{value:a.refCount}};var b=function(a){function b(b,c){a.call(this,b);this.connectable=c}q(b,
+a);b.prototype._error=function(b){this._unsubscribe();a.prototype._error.call(this,b)};b.prototype._complete=function(){this.connectable._isComplete=!0;this._unsubscribe();a.prototype._complete.call(this)};b.prototype._unsubscribe=function(){var a=this.connectable;if(a){this.connectable=null;var b=a._connection;a._refCount=0;a._subject=null;a._connection=null;b&&b.unsubscribe()}};return b}(h.SubjectSubscriber),d=function(){function a(a){this.connectable=a}a.prototype.call=function(a,b){var c=this.connectable;
+c._refCount++;a=new e(a,c);b=b.subscribe(a);a.closed||(a.connection=c.connect());return b};return a}(),e=function(a){function b(b,c){a.call(this,b);this.connectable=c}q(b,a);b.prototype._unsubscribe=function(){var a=this.connectable;if(a){this.connectable=null;var b=a._refCount;0>=b?this.connection=null:(a._refCount=b-1,1<b?this.connection=null:(b=this.connection,a=a._connection,this.connection=null,!a||b&&a!==b||a.unsubscribe()))}else this.connection=null};return b}(n.Subscriber)},function(h,f,a){var q=
+this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(12);var p=a(87);a=function(a){function c(b){a.call(this);this._value=b}q(c,a);Object.defineProperty(c.prototype,"value",{get:function(){return this.getValue()},enumerable:!0,configurable:!0});c.prototype._subscribe=function(b){var c=a.prototype._subscribe.call(this,b);c&&!c.closed&&b.next(this._value);return c};
+c.prototype.getValue=function(){if(this.hasError)throw this.thrownError;if(this.closed)throw new p.ObjectUnsubscribedError;return this._value};c.prototype.next=function(b){a.prototype.next.call(this,this._value=b)};return c}(h.Subject);f.BehaviorSubject=a},function(h,f,a){h=a(593);a=a(597);f.asap=new a.AsapScheduler(h.AsapAction)},function(h,f,a){(function(h){function p(a,c){this._id=a;this._clearFn=c}var n="undefined"!==typeof h&&h||"undefined"!==typeof self&&self||window,c=Function.prototype.apply;
+f.setTimeout=function(){return new p(c.call(setTimeout,n,arguments),clearTimeout)};f.setInterval=function(){return new p(c.call(setInterval,n,arguments),clearInterval)};f.clearTimeout=f.clearInterval=function(a){a&&a.close()};p.prototype.unref=p.prototype.ref=function(){};p.prototype.close=function(){this._clearFn.call(n,this._id)};f.enroll=function(a,c){clearTimeout(a._idleTimeoutId);a._idleTimeout=c};f.unenroll=function(a){clearTimeout(a._idleTimeoutId);a._idleTimeout=-1};f._unrefActive=f.active=
+function(a){clearTimeout(a._idleTimeoutId);var b=a._idleTimeout;0<=b&&(a._idleTimeoutId=setTimeout(function(){a._onTimeout&&a._onTimeout()},b))};a(595);f.setImmediate="undefined"!==typeof self&&self.setImmediate||"undefined"!==typeof h&&h.setImmediate||this&&this.setImmediate;f.clearImmediate="undefined"!==typeof self&&self.clearImmediate||"undefined"!==typeof h&&h.clearImmediate||this&&this.clearImmediate}).call(f,a(73))},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=
+a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(5);var p=a(6);f.defaultThrottleConfig={leading:!0,trailing:!1};f.throttle=function(a,c){void 0===c&&(c=f.defaultThrottleConfig);return this.lift(new n(a,c.leading,c.trailing))};var n=function(){function a(a,b,c){this.durationSelector=a;this.leading=b;this.trailing=c}a.prototype.call=function(a,b){return b.subscribe(new c(a,this.durationSelector,this.leading,this.trailing))};
+return a}(),c=function(a){function b(b,c,d,k){a.call(this,b);this.destination=b;this.durationSelector=c;this._leading=d;this._trailing=k;this._hasTrailingValue=!1}q(b,a);b.prototype._next=function(a){if(this.throttled)this._trailing&&(this._hasTrailingValue=!0,this._trailingValue=a);else{var b=this.tryDurationSelector(a);b&&this.add(this.throttled=p.subscribeToResult(this,b));this._leading&&(this.destination.next(a),this._trailing&&(this._hasTrailingValue=!0,this._trailingValue=a))}};b.prototype.tryDurationSelector=
+function(a){try{return this.durationSelector(a)}catch(g){return this.destination.error(g),null}};b.prototype._unsubscribe=function(){var a=this.throttled;this._trailingValue=null;this._hasTrailingValue=!1;a&&(this.remove(a),this.throttled=null,a.unsubscribe())};b.prototype._sendTrailing=function(){var a=this.destination,b=this._trailing,c=this._trailingValue,d=this._hasTrailingValue;this.throttled&&b&&d&&(a.next(c),this._trailingValue=null,this._hasTrailingValue=!1)};b.prototype.notifyNext=function(a,
+b,c,d,f){this._sendTrailing();this._unsubscribe()};b.prototype.notifyComplete=function(){this._sendTrailing();this._unsubscribe()};return b}(h.OuterSubscriber)},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);var p=a(19);f.timeInterval=function(a){void 0===a&&(a=p.async);return this.lift(new c(a))};var n=function(){return function(a,
+b){this.value=a;this.interval=b}}();f.TimeInterval=n;var c=function(){function a(a){this.scheduler=a}a.prototype.call=function(a,c){return c.subscribe(new b(a,this.scheduler))};return a}(),b=function(a){function b(b,c){a.call(this,b);this.scheduler=c;this.lastTime=0;this.lastTime=c.now()}q(b,a);b.prototype._next=function(a){var b=this.scheduler.now(),c=b-this.lastTime;this.lastTime=b;this.destination.next(new n(a,c))};return b}(h.Subscriber)},function(h,f,a){var q=this&&this.__extends||function(a,
+f){function c(){this.constructor=a}for(var b in f)f.hasOwnProperty(b)&&(a[b]=f[b]);a.prototype=null===f?Object.create(f):(c.prototype=f.prototype,new c)};h=function(a){function f(){var c=a.call(this,"Timeout has occurred");this.name=c.name="TimeoutError";this.stack=c.stack;this.message=c.message}q(f,a);return f}(Error);f.TimeoutError=h},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):
+(c.prototype=b.prototype,new c)};h=a(3);var p=a(19);f.timestamp=function(a){void 0===a&&(a=p.async);return this.lift(new c(a))};var n=function(){return function(a,b){this.value=a;this.timestamp=b}}();f.Timestamp=n;var c=function(){function a(a){this.scheduler=a}a.prototype.call=function(a,c){return c.subscribe(new b(a,this.scheduler))};return a}(),b=function(a){function b(b,c){a.call(this,b);this.scheduler=c}q(b,a);b.prototype._next=function(a){var b=this.scheduler.now();this.destination.next(new n(a,
+b))};return b}(h.Subscriber)},function(h,f,a){var q=a(223);h=function(){function a(){this.subscriptions=[]}a.prototype.logSubscribedFrame=function(){this.subscriptions.push(new q.SubscriptionLog(this.scheduler.now()));return this.subscriptions.length-1};a.prototype.logUnsubscribedFrame=function(a){var c=this.subscriptions;c[a]=new q.SubscriptionLog(c[a].subscribedFrame,this.scheduler.now())};return a}();f.SubscriptionLoggable=h},function(h,f,a){h=function(){return function(a,f){void 0===f&&(f=Number.POSITIVE_INFINITY);
+this.subscribedFrame=a;this.unsubscribedFrame=f}}();f.SubscriptionLog=h},function(h,f,a){f.applyMixins=function(a,f){for(var h=0,c=f.length;h<c;h++)for(var b=f[h],d=Object.getOwnPropertyNames(b.prototype),e=0,g=d.length;e<g;e++){var l=d[e];a.prototype[l]=b.prototype[l]}}},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(69);a=function(a){function c(b,
+c){var d=this;void 0===b&&(b=p);void 0===c&&(c=Number.POSITIVE_INFINITY);a.call(this,b,function(){return d.frame});this.maxFrames=c;this.frame=0;this.index=-1}q(c,a);c.prototype.flush=function(){for(var a=this.actions,c=this.maxFrames,e,g;(g=a.shift())&&(this.frame=g.delay)<=c&&!(e=g.execute(g.state,g.delay)););if(e){for(;g=a.shift();)g.unsubscribe();throw e;}};c.frameTimeFactor=10;return c}(a(70).AsyncScheduler);f.VirtualTimeScheduler=a;var p=function(a){function c(b,c,e){void 0===e&&(e=b.index+=
+1);a.call(this,b,c);this.scheduler=b;this.work=c;this.index=e;this.active=!0;this.index=b.index=e}q(c,a);c.prototype.schedule=function(b,d){void 0===d&&(d=0);if(!this.id)return a.prototype.schedule.call(this,b,d);this.active=!1;var e=new c(this.scheduler,this.work);this.add(e);return e.schedule(b,d)};c.prototype.requestAsyncId=function(a,d,e){void 0===e&&(e=0);this.delay=a.frame+e;a=a.actions;a.push(this);a.sort(c.sortActions);return!0};c.prototype.recycleAsyncId=function(a,c,e){};c.prototype._execute=
+function(b,c){if(!0===this.active)return a.prototype._execute.call(this,b,c)};c.sortActions=function(a,c){return a.delay===c.delay?a.index===c.index?0:a.index>c.index?1:-1:a.delay>c.delay?1:-1};return c}(h.AsyncAction);f.VirtualAction=p},function(h,f,a){a(131);a(267);a(270);a(105);a(271);a(153);a(273);a(154);a(275);a(157);a(276);a(158);a(278);a(159);a(280);a(281);a(282);a(106);a(294);a(64);a(176);a(305);h.exports=a(309)},function(h,f,a){a(34)},function(h,f,a){a(34)},function(h,f,a){function q(a,b,
+d){var c=b[0],g=b[1],l=b[2],k=b[3],f=b[4],h=b[5],r=b[6],n=b[7],p=b[8],q=b[9],y=b[10],x=b[11],A=b[12],z=b[13],D=b[14];b=b[15];var E=d[0],G=d[1],C=d[2],B=d[3];a[0]=E*c+G*f+C*p+B*A;a[1]=E*g+G*h+C*q+B*z;a[2]=E*l+G*r+C*y+B*D;a[3]=E*k+G*n+C*x+B*b;E=d[4];G=d[5];C=d[6];B=d[7];a[4]=E*c+G*f+C*p+B*A;a[5]=E*g+G*h+C*q+B*z;a[6]=E*l+G*r+C*y+B*D;a[7]=E*k+G*n+C*x+B*b;E=d[8];G=d[9];C=d[10];B=d[11];a[8]=E*c+G*f+C*p+B*A;a[9]=E*g+G*h+C*q+B*z;a[10]=E*l+G*r+C*y+B*D;a[11]=E*k+G*n+C*x+B*b;E=d[12];G=d[13];C=d[14];B=d[15];
+a[12]=E*c+G*f+C*p+B*A;a[13]=E*g+G*h+C*q+B*z;a[14]=E*l+G*r+C*y+B*D;a[15]=E*k+G*n+C*x+B*b;return a}function p(a,b,d){a[0]=b[0]-d[0];a[1]=b[1]-d[1];a[2]=b[2]-d[2];a[3]=b[3]-d[3];a[4]=b[4]-d[4];a[5]=b[5]-d[5];a[6]=b[6]-d[6];a[7]=b[7]-d[7];a[8]=b[8]-d[8];a[9]=b[9]-d[9];a[10]=b[10]-d[10];a[11]=b[11]-d[11];a[12]=b[12]-d[12];a[13]=b[13]-d[13];a[14]=b[14]-d[14];a[15]=b[15]-d[15];return a}Object.defineProperty(f,"__esModule",{value:!0});f.create=function(){var a=new n.a(16);a[0]=1;a[1]=0;a[2]=0;a[3]=0;a[4]=
+0;a[5]=1;a[6]=0;a[7]=0;a[8]=0;a[9]=0;a[10]=1;a[11]=0;a[12]=0;a[13]=0;a[14]=0;a[15]=1;return a};f.clone=function(a){var b=new n.a(16);b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];b[4]=a[4];b[5]=a[5];b[6]=a[6];b[7]=a[7];b[8]=a[8];b[9]=a[9];b[10]=a[10];b[11]=a[11];b[12]=a[12];b[13]=a[13];b[14]=a[14];b[15]=a[15];return b};f.copy=function(a,b){a[0]=b[0];a[1]=b[1];a[2]=b[2];a[3]=b[3];a[4]=b[4];a[5]=b[5];a[6]=b[6];a[7]=b[7];a[8]=b[8];a[9]=b[9];a[10]=b[10];a[11]=b[11];a[12]=b[12];a[13]=b[13];a[14]=b[14];a[15]=
+b[15];return a};f.fromValues=function(a,b,d,e,g,l,k,f,h,r,p,q,w,y,x,A){var c=new n.a(16);c[0]=a;c[1]=b;c[2]=d;c[3]=e;c[4]=g;c[5]=l;c[6]=k;c[7]=f;c[8]=h;c[9]=r;c[10]=p;c[11]=q;c[12]=w;c[13]=y;c[14]=x;c[15]=A;return c};f.set=function(a,b,d,e,g,l,k,f,h,r,n,p,q,y,x,A,z){a[0]=b;a[1]=d;a[2]=e;a[3]=g;a[4]=l;a[5]=k;a[6]=f;a[7]=h;a[8]=r;a[9]=n;a[10]=p;a[11]=q;a[12]=y;a[13]=x;a[14]=A;a[15]=z;return a};f.identity=function(a){a[0]=1;a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=1;a[6]=0;a[7]=0;a[8]=0;a[9]=0;a[10]=1;a[11]=
+0;a[12]=0;a[13]=0;a[14]=0;a[15]=1;return a};f.transpose=function(a,b){if(a===b){var c=b[1],e=b[2],g=b[3],l=b[6],k=b[7],f=b[11];a[1]=b[4];a[2]=b[8];a[3]=b[12];a[4]=c;a[6]=b[9];a[7]=b[13];a[8]=e;a[9]=l;a[11]=b[14];a[12]=g;a[13]=k;a[14]=f}else a[0]=b[0],a[1]=b[4],a[2]=b[8],a[3]=b[12],a[4]=b[1],a[5]=b[5],a[6]=b[9],a[7]=b[13],a[8]=b[2],a[9]=b[6],a[10]=b[10],a[11]=b[14],a[12]=b[3],a[13]=b[7],a[14]=b[11],a[15]=b[15];return a};f.invert=function(a,b){var c=b[0],e=b[1],g=b[2],l=b[3],k=b[4],f=b[5],h=b[6],r=
+b[7],n=b[8],p=b[9],q=b[10],y=b[11],x=b[12],A=b[13],z=b[14];b=b[15];var D=c*f-e*k,E=c*h-g*k,G=c*r-l*k,C=e*h-g*f,B=e*r-l*f,F=g*r-l*h,L=n*A-p*x,I=n*z-q*x,O=n*b-y*x,M=p*z-q*A,P=p*b-y*A,N=q*b-y*z,S=D*N-E*P+G*M+C*O-B*I+F*L;if(!S)return null;S=1/S;a[0]=(f*N-h*P+r*M)*S;a[1]=(g*P-e*N-l*M)*S;a[2]=(A*F-z*B+b*C)*S;a[3]=(q*B-p*F-y*C)*S;a[4]=(h*O-k*N-r*I)*S;a[5]=(c*N-g*O+l*I)*S;a[6]=(z*G-x*F-b*E)*S;a[7]=(n*F-q*G+y*E)*S;a[8]=(k*P-f*O+r*L)*S;a[9]=(e*O-c*P-l*L)*S;a[10]=(x*B-A*G+b*D)*S;a[11]=(p*G-n*B-y*D)*S;a[12]=
+(f*I-k*M-h*L)*S;a[13]=(c*M-e*I+g*L)*S;a[14]=(A*E-x*C-z*D)*S;a[15]=(n*C-p*E+q*D)*S;return a};f.adjoint=function(a,b){var c=b[0],e=b[1],g=b[2],l=b[3],k=b[4],f=b[5],h=b[6],r=b[7],n=b[8],p=b[9],q=b[10],y=b[11],x=b[12],A=b[13],z=b[14];b=b[15];a[0]=f*(q*b-y*z)-p*(h*b-r*z)+A*(h*y-r*q);a[1]=-(e*(q*b-y*z)-p*(g*b-l*z)+A*(g*y-l*q));a[2]=e*(h*b-r*z)-f*(g*b-l*z)+A*(g*r-l*h);a[3]=-(e*(h*y-r*q)-f*(g*y-l*q)+p*(g*r-l*h));a[4]=-(k*(q*b-y*z)-n*(h*b-r*z)+x*(h*y-r*q));a[5]=c*(q*b-y*z)-n*(g*b-l*z)+x*(g*y-l*q);a[6]=-(c*
+(h*b-r*z)-k*(g*b-l*z)+x*(g*r-l*h));a[7]=c*(h*y-r*q)-k*(g*y-l*q)+n*(g*r-l*h);a[8]=k*(p*b-y*A)-n*(f*b-r*A)+x*(f*y-r*p);a[9]=-(c*(p*b-y*A)-n*(e*b-l*A)+x*(e*y-l*p));a[10]=c*(f*b-r*A)-k*(e*b-l*A)+x*(e*r-l*f);a[11]=-(c*(f*y-r*p)-k*(e*y-l*p)+n*(e*r-l*f));a[12]=-(k*(p*z-q*A)-n*(f*z-h*A)+x*(f*q-h*p));a[13]=c*(p*z-q*A)-n*(e*z-g*A)+x*(e*q-g*p);a[14]=-(c*(f*z-h*A)-k*(e*z-g*A)+x*(e*h-g*f));a[15]=c*(f*q-h*p)-k*(e*q-g*p)+n*(e*h-g*f);return a};f.determinant=function(a){var b=a[0],c=a[1],e=a[2],g=a[3],l=a[4],k=a[5],
+f=a[6],h=a[7],r=a[8],n=a[9],p=a[10],q=a[11],y=a[12],x=a[13],A=a[14];a=a[15];return(b*k-c*l)*(p*a-q*A)-(b*f-e*l)*(n*a-q*x)+(b*h-g*l)*(n*A-p*x)+(c*f-e*k)*(r*a-q*y)-(c*h-g*k)*(r*A-p*y)+(e*h-g*f)*(r*x-n*y)};f.multiply=q;f.translate=function(a,b,d){var c=d[0],g=d[1];d=d[2];if(b===a)a[12]=b[0]*c+b[4]*g+b[8]*d+b[12],a[13]=b[1]*c+b[5]*g+b[9]*d+b[13],a[14]=b[2]*c+b[6]*g+b[10]*d+b[14],a[15]=b[3]*c+b[7]*g+b[11]*d+b[15];else{var l=b[0];var k=b[1];var f=b[2];var h=b[3];var r=b[4];var n=b[5];var p=b[6];var q=b[7];
+var y=b[8];var x=b[9];var A=b[10];var z=b[11];a[0]=l;a[1]=k;a[2]=f;a[3]=h;a[4]=r;a[5]=n;a[6]=p;a[7]=q;a[8]=y;a[9]=x;a[10]=A;a[11]=z;a[12]=l*c+r*g+y*d+b[12];a[13]=k*c+n*g+x*d+b[13];a[14]=f*c+p*g+A*d+b[14];a[15]=h*c+q*g+z*d+b[15]}return a};f.scale=function(a,b,d){var c=d[0],g=d[1];d=d[2];a[0]=b[0]*c;a[1]=b[1]*c;a[2]=b[2]*c;a[3]=b[3]*c;a[4]=b[4]*g;a[5]=b[5]*g;a[6]=b[6]*g;a[7]=b[7]*g;a[8]=b[8]*d;a[9]=b[9]*d;a[10]=b[10]*d;a[11]=b[11]*d;a[12]=b[12];a[13]=b[13];a[14]=b[14];a[15]=b[15];return a};f.rotate=
+function(a,b,d,e){var c=e[0],l=e[1];e=e[2];var k=Math.sqrt(c*c+l*l+e*e);if(Math.abs(k)<n.b)return null;k=1/k;c*=k;l*=k;e*=k;var f=Math.sin(d);var h=Math.cos(d);var r=1-h;d=b[0];k=b[1];var p=b[2];var q=b[3];var w=b[4];var y=b[5];var x=b[6];var A=b[7];var z=b[8];var D=b[9];var E=b[10];var G=b[11];var C=c*c*r+h;var B=l*c*r+e*f;var F=e*c*r-l*f;var L=c*l*r-e*f;var I=l*l*r+h;var O=e*l*r+c*f;var M=c*e*r+l*f;c=l*e*r-c*f;l=e*e*r+h;a[0]=d*C+w*B+z*F;a[1]=k*C+y*B+D*F;a[2]=p*C+x*B+E*F;a[3]=q*C+A*B+G*F;a[4]=d*
+L+w*I+z*O;a[5]=k*L+y*I+D*O;a[6]=p*L+x*I+E*O;a[7]=q*L+A*I+G*O;a[8]=d*M+w*c+z*l;a[9]=k*M+y*c+D*l;a[10]=p*M+x*c+E*l;a[11]=q*M+A*c+G*l;b!==a&&(a[12]=b[12],a[13]=b[13],a[14]=b[14],a[15]=b[15]);return a};f.rotateX=function(a,b,d){var c=Math.sin(d);d=Math.cos(d);var g=b[4],l=b[5],k=b[6],f=b[7],h=b[8],r=b[9],n=b[10],p=b[11];b!==a&&(a[0]=b[0],a[1]=b[1],a[2]=b[2],a[3]=b[3],a[12]=b[12],a[13]=b[13],a[14]=b[14],a[15]=b[15]);a[4]=g*d+h*c;a[5]=l*d+r*c;a[6]=k*d+n*c;a[7]=f*d+p*c;a[8]=h*d-g*c;a[9]=r*d-l*c;a[10]=n*
+d-k*c;a[11]=p*d-f*c;return a};f.rotateY=function(a,b,d){var c=Math.sin(d);d=Math.cos(d);var g=b[0],l=b[1],k=b[2],f=b[3],h=b[8],r=b[9],n=b[10],p=b[11];b!==a&&(a[4]=b[4],a[5]=b[5],a[6]=b[6],a[7]=b[7],a[12]=b[12],a[13]=b[13],a[14]=b[14],a[15]=b[15]);a[0]=g*d-h*c;a[1]=l*d-r*c;a[2]=k*d-n*c;a[3]=f*d-p*c;a[8]=g*c+h*d;a[9]=l*c+r*d;a[10]=k*c+n*d;a[11]=f*c+p*d;return a};f.rotateZ=function(a,b,d){var c=Math.sin(d);d=Math.cos(d);var g=b[0],l=b[1],k=b[2],f=b[3],h=b[4],r=b[5],n=b[6],p=b[7];b!==a&&(a[8]=b[8],a[9]=
+b[9],a[10]=b[10],a[11]=b[11],a[12]=b[12],a[13]=b[13],a[14]=b[14],a[15]=b[15]);a[0]=g*d+h*c;a[1]=l*d+r*c;a[2]=k*d+n*c;a[3]=f*d+p*c;a[4]=h*d-g*c;a[5]=r*d-l*c;a[6]=n*d-k*c;a[7]=p*d-f*c;return a};f.fromTranslation=function(a,b){a[0]=1;a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=1;a[6]=0;a[7]=0;a[8]=0;a[9]=0;a[10]=1;a[11]=0;a[12]=b[0];a[13]=b[1];a[14]=b[2];a[15]=1;return a};f.fromScaling=function(a,b){a[0]=b[0];a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=b[1];a[6]=0;a[7]=0;a[8]=0;a[9]=0;a[10]=b[2];a[11]=0;a[12]=0;a[13]=0;a[14]=
+0;a[15]=1;return a};f.fromRotation=function(a,b,d){var c=d[0],g=d[1];d=d[2];var l=Math.sqrt(c*c+g*g+d*d);if(Math.abs(l)<n.b)return null;l=1/l;c*=l;g*=l;d*=l;l=Math.sin(b);b=Math.cos(b);var k=1-b;a[0]=c*c*k+b;a[1]=g*c*k+d*l;a[2]=d*c*k-g*l;a[3]=0;a[4]=c*g*k-d*l;a[5]=g*g*k+b;a[6]=d*g*k+c*l;a[7]=0;a[8]=c*d*k+g*l;a[9]=g*d*k-c*l;a[10]=d*d*k+b;a[11]=0;a[12]=0;a[13]=0;a[14]=0;a[15]=1;return a};f.fromXRotation=function(a,b){var c=Math.sin(b);b=Math.cos(b);a[0]=1;a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=b;a[6]=c;a[7]=
+0;a[8]=0;a[9]=-c;a[10]=b;a[11]=0;a[12]=0;a[13]=0;a[14]=0;a[15]=1;return a};f.fromYRotation=function(a,b){var c=Math.sin(b);b=Math.cos(b);a[0]=b;a[1]=0;a[2]=-c;a[3]=0;a[4]=0;a[5]=1;a[6]=0;a[7]=0;a[8]=c;a[9]=0;a[10]=b;a[11]=0;a[12]=0;a[13]=0;a[14]=0;a[15]=1;return a};f.fromZRotation=function(a,b){var c=Math.sin(b);b=Math.cos(b);a[0]=b;a[1]=c;a[2]=0;a[3]=0;a[4]=-c;a[5]=b;a[6]=0;a[7]=0;a[8]=0;a[9]=0;a[10]=1;a[11]=0;a[12]=0;a[13]=0;a[14]=0;a[15]=1;return a};f.fromRotationTranslation=function(a,b,d){var c=
+b[0],g=b[1],l=b[2],k=b[3],f=c+c,h=g+g,r=l+l;b=c*f;var n=c*h;c*=r;var p=g*h;g*=r;l*=r;f*=k;h*=k;k*=r;a[0]=1-(p+l);a[1]=n+k;a[2]=c-h;a[3]=0;a[4]=n-k;a[5]=1-(b+l);a[6]=g+f;a[7]=0;a[8]=c+h;a[9]=g-f;a[10]=1-(b+p);a[11]=0;a[12]=d[0];a[13]=d[1];a[14]=d[2];a[15]=1;return a};f.getTranslation=function(a,b){a[0]=b[12];a[1]=b[13];a[2]=b[14];return a};f.getScaling=function(a,b){var c=b[0],e=b[1],g=b[2],l=b[4],k=b[5],f=b[6],h=b[8],r=b[9];b=b[10];a[0]=Math.sqrt(c*c+e*e+g*g);a[1]=Math.sqrt(l*l+k*k+f*f);a[2]=Math.sqrt(h*
+h+r*r+b*b);return a};f.getRotation=function(a,b){var c=b[0]+b[5]+b[10];0<c?(c=2*Math.sqrt(c+1),a[3]=.25*c,a[0]=(b[6]-b[9])/c,a[1]=(b[8]-b[2])/c,a[2]=(b[1]-b[4])/c):b[0]>b[5]&b[0]>b[10]?(c=2*Math.sqrt(1+b[0]-b[5]-b[10]),a[3]=(b[6]-b[9])/c,a[0]=.25*c,a[1]=(b[1]+b[4])/c,a[2]=(b[8]+b[2])/c):b[5]>b[10]?(c=2*Math.sqrt(1+b[5]-b[0]-b[10]),a[3]=(b[8]-b[2])/c,a[0]=(b[1]+b[4])/c,a[1]=.25*c,a[2]=(b[6]+b[9])/c):(c=2*Math.sqrt(1+b[10]-b[0]-b[5]),a[3]=(b[1]-b[4])/c,a[0]=(b[8]+b[2])/c,a[1]=(b[6]+b[9])/c,a[2]=.25*
+c);return a};f.fromRotationTranslationScale=function(a,b,d,e){var c=b[0],l=b[1],k=b[2],f=b[3],h=c+c,r=l+l,n=k+k;b=c*h;var p=c*r;c*=n;var q=l*r;l*=n;k*=n;h*=f;r*=f;f*=n;n=e[0];var y=e[1];e=e[2];a[0]=(1-(q+k))*n;a[1]=(p+f)*n;a[2]=(c-r)*n;a[3]=0;a[4]=(p-f)*y;a[5]=(1-(b+k))*y;a[6]=(l+h)*y;a[7]=0;a[8]=(c+r)*e;a[9]=(l-h)*e;a[10]=(1-(b+q))*e;a[11]=0;a[12]=d[0];a[13]=d[1];a[14]=d[2];a[15]=1;return a};f.fromRotationTranslationScaleOrigin=function(a,b,d,e,g){var c=b[0],k=b[1],f=b[2],h=b[3],r=c+c,n=k+k,p=f+
+f;b=c*r;var q=c*n;c*=p;var y=k*n;k*=p;f*=p;r*=h;n*=h;h*=p;p=e[0];var x=e[1];e=e[2];var A=g[0],z=g[1];g=g[2];a[0]=(1-(y+f))*p;a[1]=(q+h)*p;a[2]=(c-n)*p;a[3]=0;a[4]=(q-h)*x;a[5]=(1-(b+f))*x;a[6]=(k+r)*x;a[7]=0;a[8]=(c+n)*e;a[9]=(k-r)*e;a[10]=(1-(b+y))*e;a[11]=0;a[12]=d[0]+A-(a[0]*A+a[4]*z+a[8]*g);a[13]=d[1]+z-(a[1]*A+a[5]*z+a[9]*g);a[14]=d[2]+g-(a[2]*A+a[6]*z+a[10]*g);a[15]=1;return a};f.fromQuat=function(a,b){var c=b[0],e=b[1],g=b[2];b=b[3];var l=c+c,k=e+e,f=g+g;c*=l;var h=e*l;e*=k;var r=g*l,n=g*k;
+g*=f;l*=b;k*=b;b*=f;a[0]=1-e-g;a[1]=h+b;a[2]=r-k;a[3]=0;a[4]=h-b;a[5]=1-c-g;a[6]=n+l;a[7]=0;a[8]=r+k;a[9]=n-l;a[10]=1-c-e;a[11]=0;a[12]=0;a[13]=0;a[14]=0;a[15]=1;return a};f.frustum=function(a,b,d,e,g,l,k){var c=1/(d-b),f=1/(g-e),h=1/(l-k);a[0]=2*l*c;a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=2*l*f;a[6]=0;a[7]=0;a[8]=(d+b)*c;a[9]=(g+e)*f;a[10]=(k+l)*h;a[11]=-1;a[12]=0;a[13]=0;a[14]=k*l*2*h;a[15]=0;return a};f.perspective=function(a,b,d,e,g){b=1/Math.tan(b/2);var c=1/(e-g);a[0]=b/d;a[1]=0;a[2]=0;a[3]=0;a[4]=
+0;a[5]=b;a[6]=0;a[7]=0;a[8]=0;a[9]=0;a[10]=(g+e)*c;a[11]=-1;a[12]=0;a[13]=0;a[14]=2*g*e*c;a[15]=0;return a};f.perspectiveFromFieldOfView=function(a,b,d,e){var c=Math.tan(b.upDegrees*Math.PI/180),l=Math.tan(b.downDegrees*Math.PI/180),k=Math.tan(b.leftDegrees*Math.PI/180);b=Math.tan(b.rightDegrees*Math.PI/180);var f=2/(k+b),h=2/(c+l);a[0]=f;a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=h;a[6]=0;a[7]=0;a[8]=-((k-b)*f*.5);a[9]=(c-l)*h*.5;a[10]=e/(d-e);a[11]=-1;a[12]=0;a[13]=0;a[14]=e*d/(d-e);a[15]=0;return a};f.ortho=
+function(a,b,d,e,g,l,k){var c=1/(b-d),f=1/(e-g),h=1/(l-k);a[0]=-2*c;a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=-2*f;a[6]=0;a[7]=0;a[8]=0;a[9]=0;a[10]=2*h;a[11]=0;a[12]=(b+d)*c;a[13]=(g+e)*f;a[14]=(k+l)*h;a[15]=1;return a};f.lookAt=function(a,b,d,e){var c=b[0],l=b[1];b=b[2];var k=e[0];var f=e[1];var h=e[2];var r=d[0];e=d[1];var p=d[2];if(Math.abs(c-r)<n.b&&Math.abs(l-e)<n.b&&Math.abs(b-p)<n.b)return mat4.identity(a);d=c-r;e=l-e;r=b-p;var q=1/Math.sqrt(d*d+e*e+r*r);d*=q;e*=q;r*=q;p=f*r-h*e;h=h*d-k*r;k=k*e-f*
+d;(q=Math.sqrt(p*p+h*h+k*k))?(q=1/q,p*=q,h*=q,k*=q):k=h=p=0;f=e*k-r*h;var w=r*p-d*k;var y=d*h-e*p;(q=Math.sqrt(f*f+w*w+y*y))?(q=1/q,f*=q,w*=q,y*=q):y=w=f=0;a[0]=p;a[1]=f;a[2]=d;a[3]=0;a[4]=h;a[5]=w;a[6]=e;a[7]=0;a[8]=k;a[9]=y;a[10]=r;a[11]=0;a[12]=-(p*c+h*l+k*b);a[13]=-(f*c+w*l+y*b);a[14]=-(d*c+e*l+r*b);a[15]=1;return a};f.targetTo=function(a,b,d,e){var c=b[0],l=b[1];b=b[2];var k=e[0],f=e[1],h=e[2];e=c-d[0];var r=l-d[1];d=b-d[2];var n=e*e+r*r+d*d;0<n&&(n=1/Math.sqrt(n),e*=n,r*=n,d*=n);n=f*d-h*r;h=
+h*e-k*d;k=k*r-f*e;a[0]=n;a[1]=h;a[2]=k;a[3]=0;a[4]=r*k-d*h;a[5]=d*n-e*k;a[6]=e*h-r*n;a[7]=0;a[8]=e;a[9]=r;a[10]=d;a[11]=0;a[12]=c;a[13]=l;a[14]=b;a[15]=1;return a};f.str=function(a){return"mat4("+a[0]+", "+a[1]+", "+a[2]+", "+a[3]+", "+a[4]+", "+a[5]+", "+a[6]+", "+a[7]+", "+a[8]+", "+a[9]+", "+a[10]+", "+a[11]+", "+a[12]+", "+a[13]+", "+a[14]+", "+a[15]+")"};f.frob=function(a){return Math.sqrt(Math.pow(a[0],2)+Math.pow(a[1],2)+Math.pow(a[2],2)+Math.pow(a[3],2)+Math.pow(a[4],2)+Math.pow(a[5],2)+Math.pow(a[6],
+2)+Math.pow(a[7],2)+Math.pow(a[8],2)+Math.pow(a[9],2)+Math.pow(a[10],2)+Math.pow(a[11],2)+Math.pow(a[12],2)+Math.pow(a[13],2)+Math.pow(a[14],2)+Math.pow(a[15],2))};f.add=function(a,b,d){a[0]=b[0]+d[0];a[1]=b[1]+d[1];a[2]=b[2]+d[2];a[3]=b[3]+d[3];a[4]=b[4]+d[4];a[5]=b[5]+d[5];a[6]=b[6]+d[6];a[7]=b[7]+d[7];a[8]=b[8]+d[8];a[9]=b[9]+d[9];a[10]=b[10]+d[10];a[11]=b[11]+d[11];a[12]=b[12]+d[12];a[13]=b[13]+d[13];a[14]=b[14]+d[14];a[15]=b[15]+d[15];return a};f.subtract=p;f.multiplyScalar=function(a,b,d){a[0]=
+b[0]*d;a[1]=b[1]*d;a[2]=b[2]*d;a[3]=b[3]*d;a[4]=b[4]*d;a[5]=b[5]*d;a[6]=b[6]*d;a[7]=b[7]*d;a[8]=b[8]*d;a[9]=b[9]*d;a[10]=b[10]*d;a[11]=b[11]*d;a[12]=b[12]*d;a[13]=b[13]*d;a[14]=b[14]*d;a[15]=b[15]*d;return a};f.multiplyScalarAndAdd=function(a,b,d,e){a[0]=b[0]+d[0]*e;a[1]=b[1]+d[1]*e;a[2]=b[2]+d[2]*e;a[3]=b[3]+d[3]*e;a[4]=b[4]+d[4]*e;a[5]=b[5]+d[5]*e;a[6]=b[6]+d[6]*e;a[7]=b[7]+d[7]*e;a[8]=b[8]+d[8]*e;a[9]=b[9]+d[9]*e;a[10]=b[10]+d[10]*e;a[11]=b[11]+d[11]*e;a[12]=b[12]+d[12]*e;a[13]=b[13]+d[13]*e;a[14]=
+b[14]+d[14]*e;a[15]=b[15]+d[15]*e;return a};f.exactEquals=function(a,b){return a[0]===b[0]&&a[1]===b[1]&&a[2]===b[2]&&a[3]===b[3]&&a[4]===b[4]&&a[5]===b[5]&&a[6]===b[6]&&a[7]===b[7]&&a[8]===b[8]&&a[9]===b[9]&&a[10]===b[10]&&a[11]===b[11]&&a[12]===b[12]&&a[13]===b[13]&&a[14]===b[14]&&a[15]===b[15]};f.equals=function(a,b){var c=a[0],e=a[1],g=a[2],l=a[3],k=a[4],f=a[5],h=a[6],r=a[7],p=a[8],q=a[9],w=a[10],y=a[11],x=a[12],A=a[13],z=a[14];a=a[15];var D=b[0],E=b[1],G=b[2],C=b[3],B=b[4],F=b[5],L=b[6],I=b[7],
+O=b[8],M=b[9],P=b[10],N=b[11],S=b[12],U=b[13],Z=b[14];b=b[15];return Math.abs(c-D)<=n.b*Math.max(1,Math.abs(c),Math.abs(D))&&Math.abs(e-E)<=n.b*Math.max(1,Math.abs(e),Math.abs(E))&&Math.abs(g-G)<=n.b*Math.max(1,Math.abs(g),Math.abs(G))&&Math.abs(l-C)<=n.b*Math.max(1,Math.abs(l),Math.abs(C))&&Math.abs(k-B)<=n.b*Math.max(1,Math.abs(k),Math.abs(B))&&Math.abs(f-F)<=n.b*Math.max(1,Math.abs(f),Math.abs(F))&&Math.abs(h-L)<=n.b*Math.max(1,Math.abs(h),Math.abs(L))&&Math.abs(r-I)<=n.b*Math.max(1,Math.abs(r),
+Math.abs(I))&&Math.abs(p-O)<=n.b*Math.max(1,Math.abs(p),Math.abs(O))&&Math.abs(q-M)<=n.b*Math.max(1,Math.abs(q),Math.abs(M))&&Math.abs(w-P)<=n.b*Math.max(1,Math.abs(w),Math.abs(P))&&Math.abs(y-N)<=n.b*Math.max(1,Math.abs(y),Math.abs(N))&&Math.abs(x-S)<=n.b*Math.max(1,Math.abs(x),Math.abs(S))&&Math.abs(A-U)<=n.b*Math.max(1,Math.abs(A),Math.abs(U))&&Math.abs(z-Z)<=n.b*Math.max(1,Math.abs(z),Math.abs(Z))&&Math.abs(a-b)<=n.b*Math.max(1,Math.abs(a),Math.abs(b))};var n=a(34);f.mul=q;f.sub=p},function(h,
+f,a){function q(){var a=new d.a(4);a[0]=0;a[1]=0;a[2]=0;a[3]=1;return a}function p(a,b,c){c*=.5;var d=Math.sin(c);a[0]=d*b[0];a[1]=d*b[1];a[2]=d*b[2];a[3]=Math.cos(c);return a}function n(a,b,c){var d=b[0],e=b[1],g=b[2];b=b[3];var k=c[0],l=c[1],f=c[2];c=c[3];a[0]=d*c+b*k+e*f-g*l;a[1]=e*c+b*l+g*k-d*f;a[2]=g*c+b*f+d*l-e*k;a[3]=b*c-d*k-e*l-g*f;return a}function c(a,b,c,d){var e=b[0],g=b[1],k=b[2];b=b[3];var l=c[0],f=c[1],h=c[2];c=c[3];var m=e*l+g*f+k*h+b*c;0>m&&(m=-m,l=-l,f=-f,h=-h,c=-c);if(1E-6<1-m){var r=
+Math.acos(m);var t=Math.sin(r);m=Math.sin((1-d)*r)/t;d=Math.sin(d*r)/t}else m=1-d;a[0]=m*e+d*l;a[1]=m*g+d*f;a[2]=m*k+d*h;a[3]=m*b+d*c;return a}function b(a,b){var c=b[0]+b[4]+b[8];if(0<c)c=Math.sqrt(c+1),a[3]=.5*c,c=.5/c,a[0]=(b[5]-b[7])*c,a[1]=(b[6]-b[2])*c,a[2]=(b[1]-b[3])*c;else{var d=0;b[4]>b[0]&&(d=1);b[8]>b[3*d+d]&&(d=2);var e=(d+1)%3,g=(d+2)%3;c=Math.sqrt(b[3*d+d]-b[3*e+e]-b[3*g+g]+1);a[d]=.5*c;c=.5/c;a[3]=(b[3*e+g]-b[3*g+e])*c;a[e]=(b[3*e+d]+b[3*d+e])*c;a[g]=(b[3*g+d]+b[3*d+g])*c}return a}
+Object.defineProperty(f,"__esModule",{value:!0});f.create=q;f.identity=function(a){a[0]=0;a[1]=0;a[2]=0;a[3]=1;return a};f.setAxisAngle=p;f.getAxisAngle=function(a,b){var c=2*Math.acos(b[3]),d=Math.sin(c/2);0!=d?(a[0]=b[0]/d,a[1]=b[1]/d,a[2]=b[2]/d):(a[0]=1,a[1]=0,a[2]=0);return c};f.multiply=n;f.rotateX=function(a,b,c){c*=.5;var d=b[0],e=b[1],g=b[2];b=b[3];var k=Math.sin(c);c=Math.cos(c);a[0]=d*c+b*k;a[1]=e*c+g*k;a[2]=g*c-e*k;a[3]=b*c-d*k;return a};f.rotateY=function(a,b,c){c*=.5;var d=b[0],e=b[1],
+g=b[2];b=b[3];var k=Math.sin(c);c=Math.cos(c);a[0]=d*c-g*k;a[1]=e*c+b*k;a[2]=g*c+d*k;a[3]=b*c-e*k;return a};f.rotateZ=function(a,b,c){c*=.5;var d=b[0],e=b[1],g=b[2];b=b[3];var k=Math.sin(c);c=Math.cos(c);a[0]=d*c+e*k;a[1]=e*c-d*k;a[2]=g*c+b*k;a[3]=b*c-g*k;return a};f.calculateW=function(a,b){var c=b[0],d=b[1];b=b[2];a[0]=c;a[1]=d;a[2]=b;a[3]=Math.sqrt(Math.abs(1-c*c-d*d-b*b));return a};f.slerp=c;f.invert=function(a,b){var c=b[0],d=b[1],e=b[2];b=b[3];var g=c*c+d*d+e*e+b*b;g=g?1/g:0;a[0]=-c*g;a[1]=
+-d*g;a[2]=-e*g;a[3]=b*g;return a};f.conjugate=function(a,b){a[0]=-b[0];a[1]=-b[1];a[2]=-b[2];a[3]=b[3];return a};f.fromMat3=b;f.fromEuler=function(a,b,c,d){var e=.5*Math.PI/180;b*=e;c*=e;d*=e;e=Math.sin(b);b=Math.cos(b);var g=Math.sin(c);c=Math.cos(c);var k=Math.sin(d);d=Math.cos(d);a[0]=e*c*d-b*g*k;a[1]=b*g*d+e*c*k;a[2]=b*c*k-e*g*d;a[3]=b*c*d+e*g*k;return a};f.str=function(a){return"quat("+a[0]+", "+a[1]+", "+a[2]+", "+a[3]+")"};var d=a(34),e=a(133),g=a(134);h=a(135);f.clone=h.clone;f.fromValues=
+h.fromValues;f.copy=h.copy;f.set=h.set;f.add=h.add;f.mul=n;f.scale=h.scale;f.dot=h.dot;f.lerp=h.lerp;a=h.length;f.length=a;f.len=a;a=h.squaredLength;f.squaredLength=a;f.sqrLen=a;var l=h.normalize;f.normalize=l;f.exactEquals=h.exactEquals;f.equals=h.equals;h=function(){var a=g.create(),b=g.fromValues(1,0,0),c=g.fromValues(0,1,0);return function(d,e,k){var f=g.dot(e,k);if(-.999999>f)return g.cross(a,b,e),1E-6>g.len(a)&&g.cross(a,c,e),g.normalize(a,a),p(d,a,Math.PI),d;if(.999999<f)return d[0]=0,d[1]=
+0,d[2]=0,d[3]=1,d;g.cross(a,e,k);d[0]=a[0];d[1]=a[1];d[2]=a[2];d[3]=1+f;return l(d,d)}}();f.rotationTo=h;h=function(){var a=q(),b=q();return function(d,e,g,k,l,f){c(a,e,l,f);c(b,g,k,f);c(d,a,b,2*f*(1-f));return d}}();f.sqlerp=h;h=function(){var a=e.create();return function(c,d,e,g){a[0]=e[0];a[3]=e[1];a[6]=e[2];a[1]=g[0];a[4]=g[1];a[7]=g[2];a[2]=-d[0];a[5]=-d[1];a[8]=-d[2];return l(c,b(c,a))}}();f.setAxes=h},function(h,f,a){function q(){var a=new l.a(2);a[0]=0;a[1]=0;return a}function p(a,b,c){a[0]=
+b[0]-c[0];a[1]=b[1]-c[1];return a}function n(a,b,c){a[0]=b[0]*c[0];a[1]=b[1]*c[1];return a}function c(a,b,c){a[0]=b[0]/c[0];a[1]=b[1]/c[1];return a}function b(a,b){var c=b[0]-a[0];a=b[1]-a[1];return Math.sqrt(c*c+a*a)}function d(a,b){var c=b[0]-a[0];a=b[1]-a[1];return c*c+a*a}function e(a){var b=a[0];a=a[1];return Math.sqrt(b*b+a*a)}function g(a){var b=a[0];a=a[1];return b*b+a*a}Object.defineProperty(f,"__esModule",{value:!0});f.create=q;f.clone=function(a){var b=new l.a(2);b[0]=a[0];b[1]=a[1];return b};
+f.fromValues=function(a,b){var c=new l.a(2);c[0]=a;c[1]=b;return c};f.copy=function(a,b){a[0]=b[0];a[1]=b[1];return a};f.set=function(a,b,c){a[0]=b;a[1]=c;return a};f.add=function(a,b,c){a[0]=b[0]+c[0];a[1]=b[1]+c[1];return a};f.subtract=p;f.multiply=n;f.divide=c;f.ceil=function(a,b){a[0]=Math.ceil(b[0]);a[1]=Math.ceil(b[1]);return a};f.floor=function(a,b){a[0]=Math.floor(b[0]);a[1]=Math.floor(b[1]);return a};f.min=function(a,b,c){a[0]=Math.min(b[0],c[0]);a[1]=Math.min(b[1],c[1]);return a};f.max=
+function(a,b,c){a[0]=Math.max(b[0],c[0]);a[1]=Math.max(b[1],c[1]);return a};f.round=function(a,b){a[0]=Math.round(b[0]);a[1]=Math.round(b[1]);return a};f.scale=function(a,b,c){a[0]=b[0]*c;a[1]=b[1]*c;return a};f.scaleAndAdd=function(a,b,c,d){a[0]=b[0]+c[0]*d;a[1]=b[1]+c[1]*d;return a};f.distance=b;f.squaredDistance=d;f.length=e;f.squaredLength=g;f.negate=function(a,b){a[0]=-b[0];a[1]=-b[1];return a};f.inverse=function(a,b){a[0]=1/b[0];a[1]=1/b[1];return a};f.normalize=function(a,b){var c=b[0],d=b[1];
+c=c*c+d*d;0<c&&(c=1/Math.sqrt(c),a[0]=b[0]*c,a[1]=b[1]*c);return a};f.dot=function(a,b){return a[0]*b[0]+a[1]*b[1]};f.cross=function(a,b,c){b=b[0]*c[1]-b[1]*c[0];a[0]=a[1]=0;a[2]=b;return a};f.lerp=function(a,b,c,d){var e=b[0];b=b[1];a[0]=e+d*(c[0]-e);a[1]=b+d*(c[1]-b);return a};f.random=function(a,b){b=b||1;var c=2*l.c()*Math.PI;a[0]=Math.cos(c)*b;a[1]=Math.sin(c)*b;return a};f.transformMat2=function(a,b,c){var d=b[0];b=b[1];a[0]=c[0]*d+c[2]*b;a[1]=c[1]*d+c[3]*b;return a};f.transformMat2d=function(a,
+b,c){var d=b[0];b=b[1];a[0]=c[0]*d+c[2]*b+c[4];a[1]=c[1]*d+c[3]*b+c[5];return a};f.transformMat3=function(a,b,c){var d=b[0];b=b[1];a[0]=c[0]*d+c[3]*b+c[6];a[1]=c[1]*d+c[4]*b+c[7];return a};f.transformMat4=function(a,b,c){var d=b[0];b=b[1];a[0]=c[0]*d+c[4]*b+c[12];a[1]=c[1]*d+c[5]*b+c[13];return a};f.str=function(a){return"vec2("+a[0]+", "+a[1]+")"};f.exactEquals=function(a,b){return a[0]===b[0]&&a[1]===b[1]};f.equals=function(a,b){var c=a[0];a=a[1];var d=b[0];b=b[1];return Math.abs(c-d)<=l.b*Math.max(1,
+Math.abs(c),Math.abs(d))&&Math.abs(a-b)<=l.b*Math.max(1,Math.abs(a),Math.abs(b))};var l=a(34);f.len=e;f.sub=p;f.mul=n;f.div=c;f.dist=b;f.sqrDist=d;f.sqrLen=g;h=function(){var a=q();return function(b,c,d,e,g,k){c||(c=2);d||(d=0);for(e=e?Math.min(e*c+d,b.length):b.length;d<e;d+=c)a[0]=b[d],a[1]=b[d+1],g(a,a,k),b[d]=a[0],b[d+1]=a[1];return b}}();f.forEach=h},function(h,f,a){a.d(f,"a",function(){return n});var q=a(2),p=function(){function a(a,c){for(var b=0;b<c.length;b++){var d=c[b];d.enumerable=d.enumerable||
+!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,e){c&&a(b.prototype,c);e&&a(b,e);return b}}(),n=function(){function a(b,c){c=void 0===c?q.d:c;if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");this.size=q.s.clone(b);this.transform=q.k.clone(c);this.invTransform=q.k.invert(q.k.create(),c)}p(a,[{key:"toObject",value:function(a){a.size=this.size;a.transform=this.transform}},{key:"localSpatialToGlobal",value:function(a,
+c){return q.s.transformMat4(a,c,this.transform)}},{key:"globalToLocalSpatial",value:function(a,c){return q.s.transformMat4(a,c,this.invTransform)}},{key:"globalToLocalGrid",value:function(a,c){this.globalToLocalSpatial(a,c);q.s.divide(a,a,this.size);return a}},{key:"localSpatialVectorToGlobal",value:function(a,c){return Object(q.p)(a,c,this.transform)}},{key:"globalToLocalSpatialVector",value:function(a,c){return Object(q.p)(a,c,this.invTransform)}},{key:"assignLocalSpatialToGlobalMat4",value:function(a){return q.k.copy(a,
+this.transform)}}],[{key:"get",value:function(b,c){c=void 0===c?q.d:c;var d=a.cache,g=JSON.stringify([Array.from(b),Array.from(c)]),l=d.get(g);void 0===l&&(l=new a(b,c),d.set(g,l));return l}},{key:"fromObject",value:function(b){return a.get(b.size,b.transform)}}]);return a}();n.cache=new Map},function(h,f,a){f.a=function(a,f){return a===f?!0:1E-6>Math.abs(a-f)/Math.min(Math.abs(a),Math.abs(f))}},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");
+}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return t});
+var c=a(58),b=a(18),d=a(35),e=a(9);h=a(1);var g=a(2),l=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),k=function(a){function b(){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);return b}(e.f),t=function(a){function f(a){q(this,f);var l=p(this,(f.__proto__||Object.getPrototypeOf(f)).call(this));
+l.transformCacheGeneration=-1;l.cachedObjectToGlobal=g.k.create();l.cachedGlobalToObject=g.k.create();var h=void 0===a.transform?new c.a:a.transform,m=a.source,r=void 0===a.hoverState?new k(void 0):a.hoverState,n=void 0===a.role?b.g.ANNOTATION:a.role,t=a.color,u=a.fillOpacity,E=void 0===a.segmentationState?new e.f(null):a.segmentationState;a=void 0===a.filterBySegmentation?new d.b(!1):a.filterBySegmentation;l.transform=h;l.source=l.registerDisposer(m);l.hoverState=r;l.role=n;l.color=t;l.fillOpacity=
+u;l.segmentationState=E;l.filterBySegmentation=a;return l}n(f,a);l(f,[{key:"updateTransforms",value:function(){if(this.transform.changed.count!==this.transformCacheGeneration){var a=this.cachedObjectToGlobal;g.k.multiply(a,this.transform.transform,this.source.objectToLocal);g.k.invert(this.cachedGlobalToObject,a)}}},{key:"objectToGlobal",get:function(){this.updateTransforms();return this.cachedObjectToGlobal}},{key:"globalToObject",get:function(){this.updateTransforms();return this.cachedGlobalToObject}}]);
+return f}(h.a)},function(h,f,a){var q=a(137);h.exports=function(){return q.Date.now()}},function(h,f,a){f=a(73);h.exports="object"==typeof f&&f&&f.Object===Object&&f},function(h,f,a){var q=a(95),p=a(238),n=0/0,c=/^\s+|\s+$/g,b=/^[-+]0x[0-9a-f]+$/i,d=/^0b[01]+$/i,e=/^0o[0-7]+$/i,g=parseInt;h.exports=function(a){if("number"==typeof a)return a;if(p(a))return n;q(a)&&(a="function"==typeof a.valueOf?a.valueOf():a,a=q(a)?a+"":a);if("string"!=typeof a)return 0===a?a:+a;a=a.replace(c,"");var k=d.test(a);
+return k||e.test(a)?g(a.slice(2),k?2:8):b.test(a)?n:+a}},function(h,f,a){var q=a(239),p=a(242);h.exports=function(a){return"symbol"==typeof a||p(a)&&"[object Symbol]"==q(a)}},function(h,f,a){f=a(138);var q=a(240),p=a(241),n=f?f.toStringTag:void 0;h.exports=function(a){return null==a?void 0===a?"[object Undefined]":"[object Null]":n&&n in Object(a)?q(a):p(a)}},function(h,f,a){f=a(138);a=Object.prototype;var q=a.hasOwnProperty,p=a.toString,n=f?f.toStringTag:void 0;h.exports=function(a){var b=q.call(a,
+n),c=a[n];try{a[n]=void 0;var e=!0}catch(l){}var g=p.call(a);e&&(b?a[n]=c:delete a[n]);return g}},function(h,f){var a=Object.prototype.toString;h.exports=function(f){return a.call(f)}},function(h,f){h.exports=function(a){return null!=a&&"object"==typeof a}},function(h,f,a){var q=a(10),p=a(95);h.exports=function(a,c,b){var d=!0,e=!0;if("function"!=typeof a)throw new TypeError("Expected a function");p(b)&&(d="leading"in b?!!b.leading:d,e="trailing"in b?!!b.trailing:e);return q(a,c,{leading:d,maxWait:c,
+trailing:e})}},function(h,f,a){f.b=function(a,f){a.remove(f)};f.a=function(a,f){a.add(f)}},function(h,f){},function(h,f,a){a.d(f,"b",function(){return q});var q;(function(a){a[a.LITTLE=0]="LITTLE";a[a.BIG=1]="BIG"})(q||(q={}));h=function(){var a=Uint16Array.of(4386);return 17===(new Uint8Array(a.buffer))[0]?q.BIG:q.LITTLE}();f.a=h},function(h,f){},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
+return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a){if(null==a)return function(){return!1};var b=a.visibleSegments,c=a.segmentEquivalences;return function(a){a=a.segments;
+if(void 0===a)return!1;a=$jscomp.makeIterator(a);for(var d=a.next();!d.done;d=a.next())if(b.has(c.get(d.value)))return!0;return!1}}function b(a,b){for(var c=[],d=$jscomp.makeIterator(e.e),g=d.next();!g.done;g=d.next())c[g.value]=[];d=$jscomp.makeIterator(a);for(g=d.next();!g.done;g=d.next())g=g.value,(void 0===b||b(g))&&c[g.type].push(g.id);var l=0;b=0;d=[];var f=$jscomp.makeIterator(e.e);for(g=f.next();!g.done;g=f.next()){var h=g.value;d[h]=l;g=c[h].length;h=Object(k.b)(h);l+=g*h.bytes;b+=h.pickIdsPerInstance*
+g}l=new ArrayBuffer(l);f={};h=$jscomp.makeIterator(e.e);for(g=h.next();!g.done;f={serializer:f.serializer},g=h.next()){g=g.value;var m=c[g],r=Object(k.b)(g);f.serializer=r.serializer(l,d[g],m.length);m.forEach(function(b){return function(c,d){return b.serializer(a.get(c),d)}}(f))}return{typeToIds:c,typeToOffset:d,data:l,numPickIds:b}}function d(a,b){return function(a){function c(a){for(var d=[],g=0;g<arguments.length;++g)d[g-0]=arguments[g];q(this,c);var l,f=p(this,(l=c.__proto__||Object.getPrototypeOf(c)).call.apply(l,
+[].concat([this],$jscomp.arrayFromIterable(d))));f.renderHelpers=[];f.isAnnotation=!0;d=f.registerDisposer(f.base);g=d.visibility;void 0!==g&&f.registerDisposer(g.add(f.visibility));f.role=d.state.role;g=f.renderHelpers;l=f.gl;for(var h=$jscomp.makeIterator(e.e),m=h.next();!m.done;m=h.next()){var r=m.value;m=Object(k.b)(r);r=g[r]=f.registerDisposer(new m[b](l));r.pickIdsPerInstance=m.pickIdsPerInstance;r.targetIsSliceView="sliceViewRenderHelper"===b}f.registerDisposer(d.redrawNeeded.add(function(){f.redrawNeeded.dispatch()}));
+f.setReady(!0);return f}n(c,a);G(c,[{key:"drawGeometryChunkData",value:function(a,b){if(!a.bufferValid){var c=a.buffer;void 0===c&&(c=a.buffer=new z.a(this.gl));c.setData(a.data);a.bufferValid=!0}this.drawGeometry(a,b)}},{key:"drawGeometry",value:function(a,b){var c=this.base,d=a.typeToIds,g=a.typeToOffset,f=0;b.emitPickID&&(f=b.pickIDs.register(this,a.numPickIds,0,0,a));for(var l=c.hoverState.value,h=y.k.multiply(C,b.dataToDevice,c.state.objectToGlobal),m=$jscomp.makeIterator(e.e),r=m.next();!r.done;r=
+m.next()){r=r.value;var n=d[r];if(0<n.length){var t=n.length,p=Object(k.b)(r),q=4294967295;void 0!==l&&(n=Object(v.a)(n,l.id,function(a,b){return a<b?-1:a===b?0:1}),0<=n&&(q=n*p.pickIdsPerInstance));this.renderHelpers[r].draw({annotationLayer:c,renderContext:b,selectedIndex:q,basePickId:f,buffer:a.buffer,bufferOffset:g[r],count:t,projectionMatrix:h});f+=t*p.pickIdsPerInstance}}}},{key:"draw",value:function(a){var b=this,c=this.base.source;if(c instanceof e.b)c=this.base,c.updateBuffer(),this.drawGeometry(c,
+a);else if(this.drawGeometryChunkData(c.temporary.data,a),this.base.state.filterBySegmentation.value){var d=this.base.state.segmentationState.value;if(null!=d){var g=c.segmentFilteredSource.chunks;Object(r.a)(d,function(c){c=Object(r.b)(c);c=g.get(c);void 0!==c&&b.drawGeometryChunkData(c.data,a)})}}else for(c=$jscomp.makeIterator(c.sources),d=c.next();!d.done;d=c.next()){d=$jscomp.makeIterator(d.value);for(var k=d.next();!k.done;k=d.next()){k=$jscomp.makeIterator(k.value.chunks.values());for(var f=
+k.next();!f.done;f=k.next())f=f.value,f.state===t.d.GPU_MEMORY&&this.drawGeometryChunkData(f.data,a)}}}},{key:"updateMouseState",value:function(a,b,c,d){var g=d.typeToIds;b=d.typeToOffset;for(var f=$jscomp.makeIterator(e.e),l=f.next();!l.done;l=f.next()){l=l.value;var h=g[l],m=Object(k.b)(l),r=m.pickIdsPerInstance;if(c<h.length*r){g=Math.floor(c/r);c%=r;a.pickedAnnotationId=h[g];a.pickedAnnotationLayer=this.base.state;a.pickedOffset=c;m.snapPosition(a.position,this.base.state.objectToGlobal,d.data.buffer,
+d.data.byteOffset+b[l]+g*m.bytes,c);break}c-=h.length*r}}},{key:"transformPickedValue",value:function(a,b){}},{key:"isReady",value:function(){var a=this.base,b=a.source;if(!(b instanceof l.b&&a.state.filterBySegmentation.value))return!0;a=this.base.state.segmentationState.value;if(void 0===a)return!1;if(null===a)return!0;var c=b.segmentFilteredSource.chunks,d=!1;Object(r.a)(a,function(a){a=Object(r.b)(a);c.has(a)||(d=!0)});return!d}},{key:"gl",get:function(){return this.base.chunkManager.gl}}]);return c}(a)}
+a.d(f,"a",function(){return F});a.d(f,"b",function(){return L});a(249);a(250);a(251);a(252);var e=a(28),g=a(94),l=a(96),k=a(51),t=a(30),m=a(59),r=a(77),u=a(74);h=a(78);var v=a(43),w=a(1),y=a(2),x=a(7),A=a(29),z=a(20),D=a(15),E=function O(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return O(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},G=function(){function a(a,b){for(var c=
+0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();a=this&&this.__decorate||function(a,b,c,d){var e=arguments.length,g=3>e?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d,k;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)g=Reflect.decorate(a,b,c,d);else for(var f=a.length-1;0<=f;f--)if(k=a[f])g=(3>e?k(g):3<e?k(b,c,g):k(b,
+c))||g;return 3<e&&g&&Object.defineProperty(b,c,g),g};var C=y.k.create(),B=function(a){function b(a,c,d,e){q(this,b);var k=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));k.chunkManager=a;k.source=c;k.state=d;k.filterBySegmentation=e;k.initializeCounterpart(k.chunkManager.rpc,{chunkManager:k.chunkManager.rpcId,source:c.rpcId,segmentationState:k.serializeDisplayState()});a=function(){var a={id:k.rpcId,segmentationState:k.serializeDisplayState()};k.rpc.invoke(g.i,a)};k.registerDisposer(d.changed.add(a));
+k.registerDisposer(e.changed.add(a));return k}n(b,a);G(b,[{key:"serializeDisplayState",value:function(){var a=this.state.value;return null==a?a:this.filterBySegmentation.value?{segmentEquivalences:a.segmentEquivalences.rpcId,visibleSegments:a.visibleSegments.rpcId}:null}}]);return b}(Object(A.c)(D.b));B=a([Object(D.g)(g.h)],B);var F=function(a){function d(a,b){q(this,d);var c=p(this,(d.__proto__||Object.getPrototypeOf(d)).call(this));c.chunkManager=a;c.state=b;c.generation=-1;c.redrawNeeded=new x.a;
+c.handleChangeAffectingBuffer=function(){c.generation=-1;c.redrawNeeded.dispatch()};c.handleSegmentationChanged=function(){c.state.filterBySegmentation.value&&c.handleChangeAffectingBuffer()};c.registerDisposer(b);c.buffer=c.registerDisposer(new z.a(a.gl));c.registerDisposer(c.source.changed.add(c.handleChangeAffectingBuffer));c.registerDisposer(b.filterBySegmentation.changed.add(c.handleChangeAffectingBuffer));c.registerDisposer(function(){return c.unregisterSegmentationState()});c.registerDisposer(b.segmentationState.changed.add(function(){var a=
+b.segmentationState.value;a!==c.segmentationState&&(c.unregisterSegmentationState(),null!=a&&(a.visibleSegments.changed.add(c.handleSegmentationChanged),a.segmentEquivalences.changed.add(c.handleSegmentationChanged)),c.segmentationState=a,c.handleSegmentationChanged())}));c.source instanceof e.b||(c.sharedObject=c.registerDisposer(new B(a,c.source,b.segmentationState,b.filterBySegmentation)));c.registerDisposer(c.state.color.changed.add(c.redrawNeeded.dispatch));c.registerDisposer(c.state.fillOpacity.changed.add(c.redrawNeeded.dispatch));
+c.registerDisposer(c.hoverState.changed.add(c.redrawNeeded.dispatch));c.registerDisposer(c.transform.changed.add(c.redrawNeeded.dispatch));return c}n(d,a);G(d,[{key:"unregisterSegmentationState",value:function(){var a=this.segmentationState;null!=a&&(a.visibleSegments.changed.remove(this.handleSegmentationChanged),a.segmentEquivalences.changed.remove(this.handleSegmentationChanged),this.segmentationState=void 0)}},{key:"updateBuffer",value:function(){var a=this.source;if(a instanceof e.b){var d=a.changed.count;
+if(this.generation!==d){this.generation=d;a=b(a,this.state.filterBySegmentation.value?c(this.segmentationState):void 0);d=a.typeToIds;var g=a.typeToOffset,k=a.numPickIds;this.data=new Uint8Array(a.data);this.buffer.setData(this.data);this.typeToIds=d;this.typeToOffset=g;this.numPickIds=k}}}},{key:"source",get:function(){return this.state.source}},{key:"transform",get:function(){return this.state.transform}},{key:"hoverState",get:function(){return this.state.hoverState}},{key:"visibility",get:function(){var a=
+this.sharedObject;if(void 0!==a)return a.visibility}},{key:"gl",get:function(){return this.chunkManager.gl}}]);return d}(w.a);a=function(a){function b(a){q(this,b);var c=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.base=a;return c}n(b,a);return b}(m.a);h=function(a){function b(a){q(this,b);var c=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.base=a;return c}n(b,a);return b}(h.b);var L=function(a){function b(){q(this,b);var a=p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,
+arguments));var c=a.base.source;if(c instanceof l.b){var d=a.registerDisposer(new D.b),e=c.chunkManager.rpc;d.RPC_TYPE_ID=g.e;d.initializeCounterpart(e,{source:c.rpcId,filterBySegmentation:a.registerDisposer(u.a.makeFromExisting(e,a.base.state.filterBySegmentation)).rpcId});c=d}else c=void 0;a.backend=c;return a}n(b,a);G(b,[{key:"isReady",value:function(){if(!E(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"isReady",this).call(this))return!1;var a=this.base,c=a.source;return c instanceof
+l.b&&!a.state.filterBySegmentation.value&&(a=c.sources[0][0].chunks.get("0,0,0"),void 0===a||a.state!==t.d.GPU_MEMORY)?!1:!0}}]);return b}(d(a,"perspectiveViewRenderHelper"));h=d(h,"sliceViewRenderHelper");f.c=h},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,
+b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(){return new Float32Array([0,1,2,3,4,5])}function b(){return Object(e.d)(c(),1,1,t.b)}h=a(28);f=a(51);var d=a(142),e=a(43),g=a(2),l=a(20),k=a(99),t=a(143),m=a(24),r=function(){function a(a,
+b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),u=function A(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return A(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};a=27;var v=Float32Array.from([0,0,0,
+0,0,1,9,1,0,0,1,0,1,10,0,1,0,0,1,1,11,1,1,0,1,1,1,12,0,0,0,0,1,0,13,0,0,1,0,1,1,14,1,0,0,1,1,0,15,1,0,1,1,1,1,16,0,0,0,1,0,0,17,0,0,1,1,0,1,18,0,1,0,1,1,0,19,0,1,1,1,1,1,20]),w=function(a){function b(){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);r(b,[{key:"defineShader",value:function(a){u(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"defineShader",this).call(this,a);a.addAttribute("highp vec3","aLower");a.addAttribute("highp vec3","aUpper")}},
+{key:"enable",value:function(a,c,d){u(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"enable",this).call(this,a,c,function(){var b=a.gl,e=a.attribute("aLower"),g=a.attribute("aUpper");c.buffer.bindToVertexAttrib(e,3,WebGL2RenderingContext.FLOAT,!1,24,c.bufferOffset);c.buffer.bindToVertexAttrib(g,3,WebGL2RenderingContext.FLOAT,!1,24,c.bufferOffset+12);b.vertexAttribDivisor(e,1);b.vertexAttribDivisor(g,1);d();b.vertexAttribDivisor(e,0);b.vertexAttribDivisor(g,0);b.disableVertexAttribArray(e);
+b.disableVertexAttribArray(g)})}}]);return b}(f.a),y=function(a){function b(){q(this,b);var a=p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments));a.lineShader=a.registerDisposer(new t.a(a.gl,12));a.edgeBoxCornerOffsetsBuffer=a.registerDisposer(l.a.fromData(a.gl,Object(e.d)(v,7,1,t.b)));a.edgeShaderGetter=Object(m.b)(a,a.gl,function(b){a.defineShader(b);a.lineShader.defineShader(b);b.addAttribute("highp vec3","aBoxCornerOffset1");b.addAttribute("highp vec4","aBoxCornerOffset2");b.setVertexMain("\nvec3 vertexPosition1 = mix(aLower, aUpper, aBoxCornerOffset1);\nvec3 vertexPosition2 = mix(aLower, aUpper, aBoxCornerOffset2.xyz);\nemitLine(uProjection, vertexPosition1, vertexPosition2);\n"+
+a.setPartIndex(b,"aBoxCornerOffset2.w")+";\n");b.setFragmentMain("\nemitAnnotation(vec4(vColor.rgb, getLineAlpha()));\n")});a.circleShader=a.registerDisposer(new k.a(a.gl,8));a.boxCornerOffsetsBuffer=a.registerDisposer(l.a.fromData(a.gl,Object(e.d)(d.b,3,1,k.b)));a.cornerShaderGetter=Object(m.b)(a,a.gl,function(b){a.defineShader(b);a.circleShader.defineShader(b,a.targetIsSliceView);b.addAttribute("highp vec3","aBoxCornerOffset");b.setVertexMain("\nvec3 vertexPosition = mix(aLower, aUpper, aBoxCornerOffset);\nemitCircle(uProjection * vec4(vertexPosition, 1.0));\nfloat cornerIndex = aBoxCornerOffset.x + aBoxCornerOffset.y * 2.0 + aBoxCornerOffset.z * 4.0;\nfloat cornerPickOffset = "+
+(1).toFixed(1)+" + cornerIndex;\n"+a.setPartIndex(b,"cornerPickOffset")+";\n");b.setFragmentMain("\nvec4 borderColor = vec4(0.0, 0.0, 0.0, 1.0);\nemitAnnotation(getCircleColor(vColor, borderColor));\n")});return a}n(b,a);r(b,[{key:"drawEdges",value:function(a){var b=this,c=this.edgeShaderGetter(a.renderContext.emitter),d=this.gl;this.enable(c,a,function(){var e=c.attribute("aBoxCornerOffset1"),g=c.attribute("aBoxCornerOffset2");b.edgeBoxCornerOffsetsBuffer.bindToVertexAttrib(e,3,WebGL2RenderingContext.FLOAT,
+!1,28,0);b.edgeBoxCornerOffsetsBuffer.bindToVertexAttrib(g,4,WebGL2RenderingContext.FLOAT,!1,28,12);b.lineShader.draw(c,a.renderContext,a.renderContext.emitColor?1:5,1,a.count);d.disableVertexAttribArray(e);d.disableVertexAttribArray(g)})}},{key:"drawCorners",value:function(a){var b=this,c=this.cornerShaderGetter(a.renderContext.emitter),d=this.gl;this.enable(c,a,function(){var e=c.attribute("aBoxCornerOffset");b.boxCornerOffsetsBuffer.bindToVertexAttrib(e,3,WebGL2RenderingContext.FLOAT,!1);b.circleShader.draw(c,
+a.renderContext,{interiorRadiusInPixels:1,borderWidthInPixels:0,featherWidthInPixels:1},a.count);d.disableVertexAttribArray(e)})}},{key:"draw",value:function(a){this.drawEdges(a);this.drawCorners(a)}}]);return b}(w);w=function(a){function e(a){q(this,e);var g=p(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,a));g.gl=a;g.lineShader=new t.a(g.gl,6);g.intersectionVertexIndexBuffer=Object(l.b)(g.gl,WebGL2RenderingContext.ARRAY_BUFFER,b).value;g.filledIntersectionVertexIndexBuffer=Object(l.b)(g.gl,
+WebGL2RenderingContext.ARRAY_BUFFER,c).value;g.boundingBoxCrossSectionHelper=g.registerDisposer(new d.a(g.gl));g.faceShaderGetter=Object(m.b)(g,g.gl,function(a){u(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"defineShader",g).call(g,a);g.boundingBoxCrossSectionHelper.defineShader(a);g.lineShader.defineShader(a);a.addAttribute("highp float","aVertexIndexFloat");a.setVertexMain("\nint vertexIndex1 = int(aVertexIndexFloat);\nint vertexIndex2 = vertexIndex1 == 5 ? 0 : vertexIndex1 + 1;\nvec3 vertexPosition1 = getBoundingBoxPlaneIntersectionVertexPosition(aUpper - aLower, aLower, aLower, aUpper, vertexIndex1);\nvec3 vertexPosition2 = getBoundingBoxPlaneIntersectionVertexPosition(aUpper - aLower, aLower, aLower, aUpper, vertexIndex2);\nemitLine(uProjection, vertexPosition1, vertexPosition2);\n"+
+g.setPartIndex(a)+";\n");a.setFragmentMain("\nemitAnnotation(vec4(vColor.rgb, vColor.a * getLineAlpha()));\n")});g.fillShaderGetter=Object(m.b)(g,g.gl,function(a){u(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"defineShader",g).call(g,a);g.boundingBoxCrossSectionHelper.defineShader(a);a.addAttribute("highp float","aVertexIndexFloat");a.addUniform("highp float","uFillOpacity");a.setVertexMain("\nint vertexIndex = int(aVertexIndexFloat);\nvec3 vertexPosition = getBoundingBoxPlaneIntersectionVertexPosition(aUpper - aLower, aLower, aLower, aUpper, vertexIndex);\ngl_Position = uProjection * vec4(vertexPosition, 1);\n"+
+g.setPartIndex(a)+";\n");a.setFragmentMain("\nemitAnnotation(vec4(vColor.rgb, uFillOpacity));\n")});return g}n(e,a);r(e,[{key:"draw",value:function(a){var b=this,c=a.annotationLayer.state.fillOpacity.value,d=(c?this.fillShaderGetter:this.faceShaderGetter)(a.renderContext.emitter),e=this.gl;this.enable(d,a,function(){b.boundingBoxCrossSectionHelper.setViewportPlane(d,a.renderContext.sliceView.viewportAxes[2],a.renderContext.sliceView.centerDataPosition,a.annotationLayer.state.globalToObject);var g=
+d.attribute("aVertexIndexFloat");(c?b.filledIntersectionVertexIndexBuffer:b.intersectionVertexIndexBuffer).bindToVertexAttrib(g,1,WebGL2RenderingContext.FLOAT,!1);c?(e.uniform1f(d.uniform("uFillOpacity"),c),e.drawArraysInstanced(WebGL2RenderingContext.TRIANGLE_FAN,0,6,a.count)):b.lineShader.draw(d,a.renderContext,a.renderContext.emitColor?1:5,1,a.count);e.disableVertexAttribArray(g)})}}]);return e}(w);Object(f.c)(h.c.AXIS_ALIGNED_BOUNDING_BOX,{bytes:24,serializer:function(a,b,c){var d=new Float32Array(a,
+b,6*c);return function(a,b){var c=a.pointA;a=a.pointB;b*=6;d[b]=Math.min(c[0],a[0]);d[b+1]=Math.min(c[1],a[1]);d[b+2]=Math.min(c[2],a[2]);d[b+3]=Math.max(c[0],a[0]);d[b+4]=Math.max(c[1],a[1]);d[b+5]=Math.max(c[2],a[2])}},sliceViewRenderHelper:w,perspectiveViewRenderHelper:y,pickIdsPerInstance:a,snapPosition:function(a,b,c,e,k){c=new Float32Array(c,e,6);if(1<=k&&9>k){k=3*(k-1);for(e=0;3>e;++e){var f=d.b[k+e];a[e]=(1-f)*Math.min(c[e],c[e+3])+f*Math.max(c[e],c[e+3])}g.s.transformMat4(a,a,b)}else if(9<=
+k&&21>k){k=7*(k-9);e=g.s.create();f=g.s.create();for(var l=0;3>l;++l){var h=v[k+l],m=v[k+l+3],r=Math.min(c[l],c[l+3]),n=Math.max(c[l],c[l+3]);e[l]=(1-h)*r+h*n;f[l]=(1-m)*r+m*n}g.s.transformMat4(e,e,b);g.s.transformMat4(f,f,b);Object(g.m)(a,e,f,a)}}})},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+
+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function n(){return Object(c.d)(new Float32Array([0,1]),1,1,e.b)}h=a(28);f=a(51);var c=a(43),b=a(2),d=a(20),e=a(99),g=a(143),l=a(24),k=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,
+c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),t=function r(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return r(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};a=function(a){function b(){if(!(this instanceof b))throw new TypeError("Cannot call a class as a function");var a=q(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments));a.lineShader=a.registerDisposer(new g.a(a.gl,
+1));a.circleShader=a.registerDisposer(new e.a(a.gl,2));a.edgeShaderGetter=Object(l.b)(a,a.gl,function(b){a.defineShader(b);a.lineShader.defineShader(b);b.setVertexMain("\nemitLine(uProjection, aEndpointA, aEndpointB);\n"+a.setPartIndex(b)+";\n");b.setFragmentMain("\nemitAnnotation(vec4(vColor.rgb, vColor.a * getLineAlpha() * "+a.getCrossSectionFadeFactor()+"));\n")});a.endpointIndexBuffer=a.registerDisposer(Object(d.b)(a.gl,WebGL2RenderingContext.ARRAY_BUFFER,n)).value;a.endpointShaderGetter=Object(l.b)(a,
+a.gl,function(b){a.defineShader(b);a.circleShader.defineShader(b,a.targetIsSliceView);b.addAttribute("highp float","aEndpointIndex");b.setVertexMain("\nvec3 vertexPosition = mix(aEndpointA, aEndpointB, aEndpointIndex);\nemitCircle(uProjection * vec4(vertexPosition, 1.0));\n"+a.setPartIndex(b,"aEndpointIndex + 1.0")+";\n");b.setFragmentMain("\nvec4 borderColor = vec4(0.0, 0.0, 0.0, 1.0);\nemitAnnotation(getCircleColor(vColor, borderColor));\n")});return a}p(b,a);k(b,[{key:"defineShader",value:function(a){t(b.prototype.__proto__||
+Object.getPrototypeOf(b.prototype),"defineShader",this).call(this,a);a.addAttribute("highp vec3","aEndpointA");a.addAttribute("highp vec3","aEndpointB")}},{key:"enable",value:function(a,c,d){t(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"enable",this).call(this,a,c,function(){var b=a.gl,e=a.attribute("aEndpointA"),g=a.attribute("aEndpointB");c.buffer.bindToVertexAttrib(e,3,WebGL2RenderingContext.FLOAT,!1,24,c.bufferOffset);c.buffer.bindToVertexAttrib(g,3,WebGL2RenderingContext.FLOAT,
+!1,24,c.bufferOffset+12);b.vertexAttribDivisor(e,1);b.vertexAttribDivisor(g,1);d();b.vertexAttribDivisor(e,0);b.vertexAttribDivisor(g,0);b.disableVertexAttribArray(e);b.disableVertexAttribArray(g)})}},{key:"drawEdges",value:function(a){var b=this,c=this.edgeShaderGetter(a.renderContext.emitter);this.enable(c,a,function(){b.lineShader.draw(c,a.renderContext,a.renderContext.emitColor?1:5,1,a.count)})}},{key:"drawEndpoints",value:function(a){var b=this,c=this.endpointShaderGetter(a.renderContext.emitter);
+this.enable(c,a,function(){var d=c.attribute("aEndpointIndex");b.endpointIndexBuffer.bindToVertexAttrib(d,1,WebGL2RenderingContext.FLOAT,!1);b.circleShader.draw(c,a.renderContext,{interiorRadiusInPixels:6,borderWidthInPixels:2,featherWidthInPixels:1},a.count);c.gl.disableVertexAttribArray(d)})}},{key:"draw",value:function(a){this.drawEdges(a);this.drawEndpoints(a)}}]);return b}(f.a);Object(f.c)(h.c.LINE,{bytes:24,serializer:function(a,b,c){var d=new Float32Array(a,b,6*c);return function(a,b){var c=
+a.pointA;a=a.pointB;b*=6;d[b]=c[0];d[b+1]=c[1];d[b+2]=c[2];d[b+3]=a[0];d[b+4]=a[1];d[b+5]=a[2]}},sliceViewRenderHelper:a,perspectiveViewRenderHelper:a,pickIdsPerInstance:3,snapPosition:function(a,c,d,e,g){d=new Float32Array(d,e,6);0===g?(g=b.s.transformMat4(b.s.create(),d.subarray(0,3),c),c=b.s.transformMat4(b.s.create(),d.subarray(3,6),c),Object(b.m)(a,g,c,a)):(g=3*(g-1),g=d.subarray(g,g+3),b.s.transformMat4(a,g,c))}})},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
+return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}h=a(28);f=a(51);var n=a(2),c=a(99),b=a(24),d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||
+!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),e=function l(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return l(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};a=function(a){function k(){if(!(this instanceof k))throw new TypeError("Cannot call a class as a function");
+var a=q(this,(k.__proto__||Object.getPrototypeOf(k)).apply(this,arguments));a.circleShader=a.registerDisposer(new c.a(a.gl));a.shaderGetter=Object(b.b)(a,a.gl,function(b){return a.defineShader(b)});return a}p(k,a);d(k,[{key:"defineShader",value:function(a){e(k.prototype.__proto__||Object.getPrototypeOf(k.prototype),"defineShader",this).call(this,a);this.circleShader.defineShader(a,this.targetIsSliceView);a.addAttribute("highp vec3","aVertexPosition");a.setVertexMain("\nemitCircle(uProjection * vec4(aVertexPosition, 1.0));\n"+
+this.setPartIndex(a)+";\n");a.setFragmentMain("\nvec4 borderColor = vec4(0.0, 0.0, 0.0, 1.0);\nemitAnnotation(getCircleColor(vColor, borderColor));\n")}},{key:"draw",value:function(a){var b=this,c=this.shaderGetter(a.renderContext.emitter);this.enable(c,a,function(){var d=b.gl,e=c.attribute("aVertexPosition");a.buffer.bindToVertexAttrib(e,3,WebGL2RenderingContext.FLOAT,!1,0,a.bufferOffset);d.vertexAttribDivisor(e,1);b.circleShader.draw(c,a.renderContext,{interiorRadiusInPixels:6,borderWidthInPixels:2,
+featherWidthInPixels:1},a.count);d.vertexAttribDivisor(e,0);d.disableVertexAttribArray(e)})}}]);return k}(f.a);Object(f.c)(h.c.POINT,{bytes:12,serializer:function(a,b,c){var d=new Float32Array(a,b,3*c);return function(a,b){a=a.point;b*=3;d[b]=a[0];d[b+1]=a[1];d[b+2]=a[2]}},sliceViewRenderHelper:a,perspectiveViewRenderHelper:a,pickIdsPerInstance:1,snapPosition:function(a,b,c,d){n.s.transformMat4(a,new Float32Array(c,d,3),b)}})},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");
+}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}h=a(28);f=a(51);var c=
+a(2),b=a(253),d=a(100),e=a(24),g=a(254),l=a(52),k=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),t=function v(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return v(a,b,c)}else{if("value"in d)return d.value;b=d.get;
+return void 0===b?void 0:b.call(c)}},m=c.k.create(),r=function(a){function b(){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);k(b,[{key:"defineShader",value:function(a){t(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"defineShader",this).call(this,a);a.addAttribute("highp vec3","aCenter");a.addAttribute("highp vec3","aRadii")}},{key:"enable",value:function(a,c,d){t(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"enable",this).call(this,
+a,c,function(){var b=a.attribute("aCenter"),e=a.attribute("aRadii"),g=a.gl;c.buffer.bindToVertexAttrib(b,3,WebGL2RenderingContext.FLOAT,!1,24,c.bufferOffset);c.buffer.bindToVertexAttrib(e,3,WebGL2RenderingContext.FLOAT,!1,24,c.bufferOffset+12);g.vertexAttribDivisor(b,1);g.vertexAttribDivisor(e,1);d();g.vertexAttribDivisor(b,0);g.vertexAttribDivisor(e,0);g.disableVertexAttribArray(b);g.disableVertexAttribArray(e)})}}]);return b}(f.a);a=function(a){function b(){q(this,b);var a=p(this,(b.__proto__||
+Object.getPrototypeOf(b)).apply(this,arguments));a.sphereRenderHelper=a.registerDisposer(new g.a(a.gl,10,10));a.shaderGetter=Object(e.b)(a,a.gl,function(b){a.defineShader(b);a.sphereRenderHelper.defineShader(b);b.addUniform("highp vec4","uLightDirection");b.addUniform("highp mat4","uNormalTransform");b.setVertexMain("\nemitSphere(uProjection, uNormalTransform, aCenter, aRadii, uLightDirection);\n"+a.setPartIndex(b)+";\n");b.setFragmentMain("\nemitAnnotation(vec4(vColor.rgb * vLightingFactor, vColor.a));\n")});
+a.tempLightVec=new Float32Array(4);return a}n(b,a);k(b,[{key:"draw",value:function(a){var b=this,d=this.shaderGetter(a.renderContext.emitter);this.enable(d,a,function(){var e=d.gl,g=b.tempLightVec,k=a.renderContext,f=k.ambientLighting;c.s.scale(g,k.lightDirection,k.directionalLighting);g[3]=f;e.uniform4fv(d.uniform("uLightDirection"),g);e.uniformMatrix4fv(d.uniform("uNormalTransform"),!1,c.k.transpose(c.k.create(),a.annotationLayer.state.globalToObject));b.sphereRenderHelper.draw(d,a.count)})}}]);
+return b}(r);r=function(a){function g(){q(this,g);var a=p(this,(g.__proto__||Object.getPrototypeOf(g)).apply(this,arguments));a.quadRenderHelper=a.registerDisposer(new d.a(a.gl,1));a.squareCornersBuffer=Object(l.a)(a.gl,-1,-1,1,1,1,1);a.shaderGetter=Object(e.b)(a,a.gl,function(c){a.defineShader(c);c.addUniform("highp mat4","uViewportToObject");c.addUniform("highp mat4","uObjectToViewport");c.addUniform("highp mat4","uViewportToDevice");c.addAttribute("highp vec2","aCornerOffset");c.addVarying("highp vec2",
+"vCircleCoord");c.addVertexCode(b.d);c.addVertexCode(b.c);c.setVertexMain("\nmat3 Aobject = mat3(0.0);\nfor (int i = 0; i < 3; ++i) {\n  Aobject[i][i] = 1.0 / (aRadii[i] * aRadii[i]);\n}\nmat3 RviewportToObject = mat3(uViewportToObject);\nmat3 Aviewport = transpose(RviewportToObject) * Aobject * RviewportToObject;\nvec3 cViewport = (uObjectToViewport * vec4(aCenter, 1.0)).xyz;\nEllipseQuadraticForm quadraticForm = computeCrossSectionEllipse(Aviewport, cViewport);\nvec2 u1, u2;\nfloat a, b;\nCenterOrientEllipse centerOrient = computeCenterOrientEllipse(quadraticForm);\nvec2 viewportCorner = centerOrient.k +\n  centerOrient.u1 * aCornerOffset.x * centerOrient.a +\n  centerOrient.u2 * aCornerOffset.y * centerOrient.b;\nif (centerOrient.valid) {\n  gl_Position = uViewportToDevice * vec4(viewportCorner, 0.0, 1.0);\n} else {\n  gl_Position = vec4(1.0, 1.0, 0.0, -100.0);\n}\nvCircleCoord = aCornerOffset;\n"+
+a.setPartIndex(c)+";\n");c.setFragmentMain("\nif (dot(vCircleCoord, vCircleCoord) > 1.0) {\n  discard;\n}\nemitAnnotation(vec4(vColor.rgb, 0.5));\n")});return a}n(g,a);k(g,[{key:"draw",value:function(a){var b=this,d=this.shaderGetter(a.renderContext.emitter);this.enable(d,a,function(){var e=d.gl,g=d.attribute("aCornerOffset");b.squareCornersBuffer.bindToVertexAttrib(g,2);var k=c.k.multiply(m,a.annotationLayer.state.globalToObject,a.renderContext.sliceView.viewportToData);e.uniformMatrix4fv(d.uniform("uViewportToObject"),
+!1,k);e.uniformMatrix4fv(d.uniform("uViewportToDevice"),!1,a.renderContext.sliceView.viewportToDevice);c.k.invert(m,k);e.uniformMatrix4fv(d.uniform("uObjectToViewport"),!1,m);b.quadRenderHelper.draw(e,a.count);d.gl.disableVertexAttribArray(g)})}}]);return g}(r);Object(f.c)(h.c.ELLIPSOID,{bytes:24,serializer:function(a,b,c){var d=new Float32Array(a,b,6*c);return function(a,b){var c=a.radii;b*=6;d.set(a.center,b);d.set(c,b+3)}},sliceViewRenderHelper:r,perspectiveViewRenderHelper:a,pickIdsPerInstance:1,
+snapPosition:function(){}})},function(h,f,a){f.b=function(a,f){a=[[a[0],a[1],a[2]],[a[3],a[4],a[5]],[a[6],a[7],a[8]]];return{A:a[0][0],B:a[0][1]+a[1][0],C:a[1][1],D:-2*f[0]*a[0][0]-f[1]*(a[0][1]+a[1][0])+f[2]*(a[0][2]+a[2][0]),E:-f[0]*(a[0][1]+a[1][0])-2*f[1]*a[1][1]+f[2]*(a[1][2]+a[2][1]),F:f[0]*f[0]*a[0][0]+f[0]*f[1]*(a[0][1]+a[1][0])-f[0]*f[2]*(a[0][2]+a[2][0])+f[1]*f[1]*a[1][1]-f[1]*f[2]*(a[1][2]+a[2][1])+f[2]*f[2]*a[2][2]-1}};f.a=function(a){var f=a.A,c=a.B/2,b=a.C,d=a.D,e=a.E,g=2*(c*c-f*b),
+l=(b*d-c*e)/g;d=(f*e-c*d)/g;a=1/(f*l*l+2*c*l*d+b*d*d-a.F);f*=a;c*=a;b*=a;e=f+b;g=Math.sqrt((f-b)*(f-b)+4*c*c);a=(e+g)/2;e=(e-g)/2;g=1/Math.sqrt(a);var k=1/Math.sqrt(e);var h=1E-10>Math.abs(c)?q.r.fromValues(1,0):f>=b?q.r.fromValues(a-b,c):q.r.fromValues(c,a-f);q.r.normalize(h,h);var m=q.r.fromValues(-h[1],h[0]);return{k:q.r.fromValues(l,d),u1:h,u2:m,a:g,b:k,lambda1:a,lambda2:e,m11:f,m12:c,m22:b}};var q=a(2);f.d=["\nstruct EllipseQuadraticForm {\n  highp float A;  // x*x coefficient\n  highp float B;  // x*y coefficient\n  highp float C;  // y*y coefficient\n  highp float D;  // x coefficient\n  highp float E;  // y coefficient\n  highp float F;  // 1 coefficient\n};\n",
+"\nEllipseQuadraticForm computeCrossSectionEllipse(mat3 A, vec3 c) {\n  EllipseQuadraticForm p;\n  p.A = A[0][0];\n  p.B = A[0][1] + A[1][0];\n  p.C = A[1][1];\n  p.D = -2.0 * c[0] * A[0][0] - c[1] * (A[0][1] + A[1][0]) +\n        c[2] * (A[0][2] + A[2][0]);\n  p.E = -c[0] * (A[0][1] + A[1][0]) - 2.0 * c[1] * A[1][1] +\n        c[2] * (A[1][2] + A[2][1]);\n  p.F = c[0] * c[0] * A[0][0] + c[0] * c[1] * (A[0][1] + A[1][0]) -\n        c[0] * c[2] * (A[0][2] + A[2][0]) + c[1] * c[1] * A[1][1] -\n        c[1] * c[2] * (A[1][2] + A[2][1]) + c[2] * c[2] * A[2][2] - 1.0;\n  return p;\n}\n"];
+f.c=["\nstruct EllipseQuadraticForm {\n  highp float A;  // x*x coefficient\n  highp float B;  // x*y coefficient\n  highp float C;  // y*y coefficient\n  highp float D;  // x coefficient\n  highp float E;  // y coefficient\n  highp float F;  // 1 coefficient\n};\n","\nstruct CenterOrientEllipse {\n  vec2 k;   // center\n  vec2 u1;  // minor axis direction\n  vec2 u2;  // major axis direction\n  float a;  // semimajor axis\n  float b;  // semiminor axis\n  bool valid; // indicates if the ellipse is valid\n};\n",
+"\nCenterOrientEllipse computeCenterOrientEllipse(EllipseQuadraticForm p) {\n  CenterOrientEllipse r;\n  float a11 = p.A;\n  float a12 = p.B / 2.0;\n  float a22 = p.C;\n  float b1 = p.D;\n  float b2 = p.E;\n  float c = p.F;\n  float kdenom = 2.0 * (a12 * a12 - a11 * a22);\n  float k1 = r.k.x = (a22 * b1 - a12 * b2) / kdenom;\n  float k2 = r.k.y = (a11 * b2 - a12 * b1) / kdenom;\n  float mu = 1.0 / (a11 * k1 * k1 + 2.0 * a12 * k1 * k2 + a22 * k2 * k2 - c);\n  float m11 = mu * a11;\n  float m12 = mu * a12;\n  float m22 = mu * a22;\n  float lambdaTerm1 = m11 + m22;\n  float lambdaTerm2 = sqrt((m11 - m22) * (m11 - m22) + 4.0 * m12 * m12);\n  float lambda1 = ((lambdaTerm1 + lambdaTerm2) / 2.0);\n  float lambda2 = ((lambdaTerm1 - lambdaTerm2) / 2.0);\n  r.a = 1.0 / sqrt(lambda1);\n  r.b = 1.0 / sqrt(lambda2);\n  r.valid = lambda1 > 0.0 && lambda2 > 0.0;\n  if (abs(m12) < 1e-10) {\n    r.u1 = vec2(1.0, 0.0);\n  } else if (m11 >= m22) {\n    r.u1 = normalize(vec2(lambda1 - m22, m12));\n  } else {\n    r.u1 = normalize(vec2(m12, lambda1 - m11));\n  }\n  r.u2 = vec2(-r.u1.y, r.u1.x);\n  return r;\n}\n"]},
+function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function p(a,b){for(var c=new Float32Array((a+1)*(b+1)*3),d=0,e=0;e<=a;++e){var g=e*Math.PI/a,f=Math.sin(g);g=Math.cos(g);for(var h=0;h<=b;++h){var n=2*h*Math.PI/b,p=Math.sin(n);
+n=Math.cos(n);c[d++]=n*f;c[d++]=g;c[d++]=p*f}}return c}function n(a,b){for(var c=new Uint16Array(a*b*6),d=0,e=0;e<a;e++)for(var g=0;g<b;g++){var f=e*(b+1)+g,h=f+b+1;c[d++]=f;c[d++]=h;c[d++]=f+1;c[d++]=h;c[d++]=h+1;c[d++]=f+1}return c}a.d(f,"a",function(){return d});h=a(1);var c=a(20),b=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,
+c);d&&a(b,d);return b}}(),d=function(a){function d(a,b,e){if(!(this instanceof d))throw new TypeError("Cannot call a class as a function");var g=(d.__proto__||Object.getPrototypeOf(d)).call(this);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");g=!g||"object"!==typeof g&&"function"!==typeof g?this:g;g.vertexBuffer=g.registerDisposer(Object(c.b)(a,WebGL2RenderingContext.ARRAY_BUFFER,p,b,e)).value;g.indexBuffer=g.registerDisposer(Object(c.b)(a,WebGL2RenderingContext.ELEMENT_ARRAY_BUFFER,
+n,b,e)).value;g.numIndices=b*e*6;return g}q(d,a);b(d,[{key:"defineShader",value:function(a){a.addAttribute("highp vec3","aSphereVertex");a.addVarying("highp float","vLightingFactor");a.addVertexCode("\nvoid emitSphere(mat4 projectionMatrix, mat4 normalTransformMatrix, vec3 centerPosition, vec3 radii, vec4 lightDirection) {\n  vec3 vertexPosition = aSphereVertex * radii + centerPosition;\n  gl_Position = projectionMatrix * vec4(vertexPosition, 1.0);\n  vec3 normal = normalize((normalTransformMatrix * vec4(aSphereVertex / radii, 0.0)).xyz);\n  vLightingFactor = abs(dot(normal, uLightDirection.xyz)) + uLightDirection.w;\n}\n")}},
+{key:"draw",value:function(a,b){var c=a.attribute("aSphereVertex");this.vertexBuffer.bindToVertexAttrib(c,3,WebGL2RenderingContext.FLOAT,!1);this.indexBuffer.bind();a.gl.drawElementsInstanced(WebGL2RenderingContext.TRIANGLES,this.numIndices,WebGL2RenderingContext.UNSIGNED_SHORT,0,b);a.gl.disableVertexAttribArray(c)}}]);return d}(h.a)},function(h,f,a){f.a=function(a){a=a.getContext("webgl2",{antialias:!1,stencil:!0});if(null==a)throw Error("WebGL not supported.");a.memoize=new q.a;a.maxTextureSize=
+a.getParameter(a.MAX_TEXTURE_SIZE);a.maxTextureImageUnits=a.getParameter(a.MAX_TEXTURE_IMAGE_UNITS);a.tempTextureUnit=a.maxTextureImageUnits-1;for(var f=$jscomp.makeIterator(["EXT_color_buffer_float"]),c=f.next();!c.done;c=f.next())if(c=c.value,!a.getExtension(c))throw Error(c+" extension not available");return a};var q=a(97)},function(h,f,a){var q=function(){function a(a,c){for(var b=0;b<c.length;b++){var d=c[b];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,
+d.key,d)}}return function(f,c,b){c&&a(f.prototype,c);b&&a(f,b);return f}}();h=function(){function a(){if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");}q(a,null,[{key:"insertAfter",value:function(a,c){var b=a.next0;c.next0=b;c.prev0=a;a.next0=c;b.prev0=c}},{key:"insertBefore",value:function(a,c){var b=a.prev0;c.prev0=b;c.next0=a;a.prev0=c;b.next0=c}},{key:"front",value:function(a){var c=a.next0;return c===a?null:c}},{key:"back",value:function(a){var c=a.prev0;return c===
+a?null:c}},{key:"pop",value:function(a){var c=a.next0,b=a.prev0;c.prev0=b;b.next0=c;a.next0=null;a.prev0=null;return a}},{key:"iterator",value:function(a){function c(c,e){for(;;)switch(b){case 0:d=a.next0;case 1:if(d===a){b=3;break}b=4;return{value:d,done:!1};case 4:if(void 0===e){b=5;break}b=-1;throw e;case 5:case 2:d=d.next0;b=1;break;case 3:b=-1;default:return{value:void 0,done:!0}}}var b=0,d,e={next:function(a){return c(a,void 0)},throw:function(a){return c(void 0,a)},return:function(a){throw Error("Not yet implemented");
+}};$jscomp.initSymbolIterator();e[Symbol.iterator]=function(){return this};return e}},{key:"reverseIterator",value:function(a){function c(c,e){for(;;)switch(b){case 0:d=a.prev0;case 1:if(d===a){b=3;break}b=4;return{value:d,done:!1};case 4:if(void 0===e){b=5;break}b=-1;throw e;case 5:case 2:d=d.prev0;b=1;break;case 3:b=-1;default:return{value:void 0,done:!0}}}var b=0,d,e={next:function(a){return c(a,void 0)},throw:function(a){return c(void 0,a)},return:function(a){throw Error("Not yet implemented");
+}};$jscomp.initSymbolIterator();e[Symbol.iterator]=function(){return this};return e}},{key:"initializeHead",value:function(a){a.next0=a.prev0=a}}]);return a}();f.a=h},function(h,f,a){a.d(f,"a",function(){return p});var q=function(){function a(a,b){for(var c=0;c<b.length;c++){var e=b[c];e.enumerable=e.enumerable||!1;e.configurable=!0;"value"in e&&(e.writable=!0);Object.defineProperty(a,e.key,e)}}return function(c,b,d){b&&a(c.prototype,b);d&&a(c,d);return c}}(),p=function(){function a(c){if(!(this instanceof
+a))throw new TypeError("Cannot call a class as a function");this.parents=[];this.parentPriorities=[];this.bindings=new Map;if(void 0!==c){this.parents.push.apply(this.parents,[].concat($jscomp.arrayFromIterable(c.parents)));this.parentPriorities.push.apply(this.parentPriorities,[].concat($jscomp.arrayFromIterable(c.parentPriorities)));c=$jscomp.makeIterator(c.bindings);for(var b=c.next();!b.done;b=c.next()){var d=$jscomp.makeIterator(b.value);b=d.next().value;d=d.next().value;this.bindings.set(b,
+d)}}}q(a,[{key:"addParent",value:function(a,b){for(var c=this,e=this.parents,g=this.parentPriorities,f=0,k=e.length;f<k&&b<g[f];)++f;e.splice(f,0,a);g.splice(f,0,b);return function(){c.removeParent(a)}}},{key:"removeParent",value:function(a){a=this.parents.indexOf(a);if(-1===a)throw Error("Attempt to remove non-existent parent map.");this.parents.splice(a,1);this.parentPriorities.splice(a,1)}},{key:"set",value:function(a,b){this.bindings.set(a,b)}},{key:"delete",value:function(a){this.bindings.delete(a)}},
+{key:"clear",value:function(){this.bindings.clear();this.parents.length=0;this.parentPriorities.length=0}},{key:"get",value:function(a){for(var b=this.parents,c=this.parentPriorities,e=c.length,g=0,f;g<e&&0<c[g];++g)if(f=b[g].get(a),void 0!==f)return f;f=this.bindings.get(a);if(void 0!==f)return f;for(;g<e;++g)if(f=b[g].get(a),void 0!==f)return f}},{key:"getAll",value:function(a){function b(b,d){for(;;)switch(c){case 0:m=r,h=m.parents,k=m.parentPriorities,f=k.length,g=0;case 1:if(!(g<f&&0<k[g])){c=
+2;break}e=h[g].get(a);if(void 0===e){c=3;break}c=4;return{value:e,done:!1};case 4:if(void 0===d){c=5;break}c=-1;throw d;case 5:case 3:c=1;break;case 2:e=r.bindings.get(a);if(void 0===e){c=6;break}c=7;return{value:e,done:!1};case 7:if(void 0===d){c=8;break}c=-1;throw d;case 8:case 6:case 9:if(!(g<f)){c=10;break}e=h[g].get(a);if(void 0===e){c=11;break}c=12;return{value:e,done:!1};case 12:if(void 0===d){c=13;break}c=-1;throw d;case 13:case 11:c=9;break;case 10:c=-1;default:return{value:void 0,done:!0}}}
+var c=0,e,g,f,k,h,m,r=this,n={next:function(a){return b(a,void 0)},throw:function(a){return b(void 0,a)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();n[Symbol.iterator]=function(){return this};return n}}]);return a}()},function(h,f,a){f.a=function(a){var f=0;switch(a.deltaMode){case 0:f=.005;break;case 1:f=.1;break;case 2:f=2}return Math.exp(a.deltaY*f)}},function(h,f){},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+
+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function p(a,b){var d=a.memoize.get({type:"getSharedCredentialsProvider",credentialsProvider:Object(c.a)(b)},function(){return new n.a(b.addRef(),a.rpc)}),e=d.addCounterpartRef();d.dispose();return e}f.a=function(){return function(a){return function(a){function e(a){for(var b=[],c=0;c<arguments.length;++c)b[c-0]=arguments[c];
+if(!(this instanceof e))throw new TypeError("Cannot call a class as a function");var d;c=(d=e.__proto__||Object.getPrototypeOf(e)).call.apply(d,[].concat([this],$jscomp.arrayFromIterable(b)));if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");d=!c||"object"!==typeof c&&"function"!==typeof c?this:c;d.credentialsProvider=b[1].credentialsProvider.addRef();return d}q(e,a);b(e,[{key:"initializeCounterpart",value:function(a,b){b.credentialsProvider=p(this.chunkManager,
+this.credentialsProvider);d(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"initializeCounterpart",this).call(this,a,b)}}],[{key:"encodeOptions",value:function(a){var b=d(e.__proto__||Object.getPrototypeOf(e),"encodeOptions",this).call(this,a);b.credentialsProvider=Object(c.a)(a.credentialsProvider);return b}}]);return e}(a)}};var n=a(261),c=a(22),b=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=
+!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),d=function g(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return g(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}}},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);
+a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return n});h=a(262);a=a(15);var p=function(){function a(a,c){for(var b=0;b<c.length;b++){var d=c[b];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,e){c&&a(b.prototype,c);e&&a(b,e);return b}}();f=this&&this.__decorate||function(a,
+b,d,e){var c=arguments.length,f=3>c?b:null===e?e=Object.getOwnPropertyDescriptor(b,d):e,k;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)f=Reflect.decorate(a,b,d,e);else for(var h=a.length-1;0<=h;h--)if(k=a[h])f=(3>c?k(f):3<c?k(b,d,f):k(b,d))||f;return 3<c&&f&&Object.defineProperty(b,d,f),f};var n=function(a){function b(a,c){if(!(this instanceof b))throw new TypeError("Cannot call a class as a function");var d=(b.__proto__||Object.getPrototypeOf(b)).call(this);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
+d=!d||"object"!==typeof d&&"function"!==typeof d?this:d;d.provider=a;d.registerDisposer(a);d.initializeCounterpart(c);return d}q(b,a);p(b,[{key:"get",value:function(a,b){return this.provider.get(a,b)}}]);return b}(a.b);n=f([Object(a.g)(h.b)],n);Object(a.d)(h.a,function(a,b){return this.get(a.providerId).get(a.invalidCredentials,b).then(function(a){return{value:a}})})},function(h,f,a){f.b="CredentialsProvider";f.a="CredentialsProvider.get"},function(h,f,a){f.a=function(a){for(var f=0,h=a.length,c=
+0;c<h;++c)f=31*f+a.charCodeAt(c)|0;return f}},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function p(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}a.d(f,"d",function(){return n});
+a.d(f,"e",function(){return c});a.d(f,"b",function(){return b});a.d(f,"c",function(){return d});a.d(f,"a",function(){return e});var n;(function(a){a[a.RAW=0]="RAW";a[a.JPEG=1]="JPEG";a[a.COMPRESSED_SEGMENTATION=2]="COMPRESSED_SEGMENTATION"})(n||(n={}));var c=function l(){p(this,l)};c.RPC_ID="brainmaps/VolumeChunkSource";var b=function k(){p(this,k)};b.RPC_ID="brainmaps/MeshSource";var d=function(a){function b(){p(this,b);var a=(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
+return!a||"object"!==typeof a&&"function"!==typeof a?this:a}q(b,a);return b}(b);d.RPC_ID="brainmaps/SkeletonSource";var e=function t(){p(this,t)};e.RPC_ID="brainmaps/Annotation"},function(h,f,a){f.b="mesh/MeshLayer";f.a="mesh/FragmentSource"},function(h,f,a){f.a="skeleton/SkeletonLayer"},function(h,f,a){Object.defineProperty(f,"__esModule",{value:!0});h=a(150);f=a(102);var q=a(268);h.a.register(f.a,function(){return new q.a})},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
+return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return e});var n=a(151),c=a(31),b=a(32),d=a(269),e=function(a){function e(){if(!(this instanceof e))throw new TypeError("Cannot call a class as a function");
+var a=q(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments));a.get=Object(n.c)(function(a){var e=new c.a(!0),g;return new Promise(function(c,k){function f(a,b){b=void 0===b?"Request authorization.":b;e.setText((void 0===a?"Brain Maps authorization required.":a)+"  ");a=document.createElement("button");a.textContent=b;e.element.appendChild(a);a.addEventListener("click",function(){l(!1)});e.setVisible(!0)}function l(a){void 0!==g&&g.cancel();g=new b.b;f("Waiting for Brain Maps authorization...",
+"Retry");Object(d.a)({clientId:"639403125587-4k5hgdfumtrvur8v48e3pr7oo91d765k.apps.googleusercontent.com",scopes:["https://www.googleapis.com/auth/brainmaps"],immediate:a,authUser:0},g).then(function(a){void 0!==g&&(g=void 0,e.dispose(),c(a))},function(b){void 0!==g&&(g=void 0,a?f():f("Brain Maps authorization failed: "+b+".","Retry"))})}a.add(function(){void 0!==g&&(g.cancel(),g=void 0,e.dispose(),k(b.a))});l(!0)})});return a}p(e,a);return e}(n.b)},function(h,f,a){function q(a,b){if(!(a instanceof
+b))throw new TypeError("Cannot call a class as a function");}function p(a,b){var c=document.createElement("iframe");c.style.display="none";c.id=a;c.name=a;c.src="https://accounts.google.com/o/oauth2/postmessageRelay?"+("parent="+encodeURIComponent(location.origin)+"#rpctoken="+b);document.body.appendChild(c)}f.a=function(a,b){b=void 0===b?n.e:b;var e=Object(d.a)();void 0===t&&(t=new k);var g=t,f=g.makeAuthRequestUrl({state:e,clientId:a.clientId,scopes:a.scopes,approvalPrompt:a.approvalPrompt,loginHint:a.loginHint,
+immediate:a.immediate,authUser:a.authUser}),l=g.addPendingRequest(e);e=new Promise(function(a,b){l.finished.add(function(c,d){void 0!==c?a(c):b(d)})});l.finished.add(b.add(function(){l.finished.dispatch(void 0,n.a)}));if(a.immediate)g.relayReadyPromise.then(function(){if(!b.isCanceled){var a=document.createElement("iframe");a.src=f;a.style.display="none";document.body.appendChild(a);l.finished.add(function(){Object(c.b)(a)})}});else if(!b.isCanceled){var h=open(f);null!==h&&l.finished.add(function(){h.close()})}return e};
+var n=a(32),c=a(8),b=a(4),d=a(136),e=a(7),g=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),l=function r(){q(this,r);this.finished=new e.b},k=function(){function a(){var c=this;q(this,a);this.proxyName="postmessageRelay"+Object(d.a)();this.rpcToken=""+Object(d.a)();this.relayReadyService="oauth2relayReady:"+
+this.rpcToken;this.oauth2CallbackService="oauth2callback:"+this.rpcToken;this.pendingRequests=new Map;p(this.proxyName,this.rpcToken);this.relayReadyPromise=new Promise(function(a){addEventListener("message",function(d){if("https://accounts.google.com"===d.origin)try{var e=Object(b.t)(JSON.parse(d.data)),g=Object(b.A)(e.s);g===c.relayReadyService&&a();if(g===c.oauth2CallbackService){var k=Object(b.a)(e.a,function(a){return a}),f=Object(b.A)(k[0]),l=location.origin;if(!f.startsWith(l+"#")&&!f.startsWith(l+
+"?"))throw Error("oauth2callback: URL "+JSON.stringify(f)+" "+("does not match current origin "+l+"."));for(var h=f.substring(l.length+1).split("&"),r=new Map,n=$jscomp.makeIterator(h),t=n.next();!t.done;t=n.next()){var p=t.value.match("^([a-z_]+)=(.*)$");if(null===p)throw Error("oauth2callback: URL part "+JSON.stringify(p)+" does not match expected pattern.");r.set(p[1],p[2])}var q=r.get("state");if(void 0===q)throw Error("oauth2callback: State argument is missing.");var u=c.pendingRequests.get(q);
+if(void 0!==u){var v=r.get("error");if(void 0!==v){var w=r.get("error_subtype");e=v;void 0!==w&&(e+=": "+w);u.finished.dispatch(void 0,Error("Error obtaining Google OAuth2 token: "+e))}else{var P=r.get("access_token"),N=r.get("token_type"),S=r.get("expires_in"),U=r.get("scope");if(void 0===P||void 0===N||void 0===S||void 0===U)throw Error("oauth2callback: URL lacks expected parameters.");u.finished.dispatch({accessToken:P,tokenType:N,expiresIn:S,scope:U})}}}}catch(Z){throw Error("Invalid message received from https://accounts.google.com: "+
+JSON.stringify(d.data)+": "+(Z.message+"."));}})})}g(a,[{key:"addPendingRequest",value:function(a){var b=this,c=new l;this.pendingRequests.set(a,c);c.finished.add(function(){b.pendingRequests.delete(a)});return c}},{key:"makeAuthRequestUrl",value:function(a){var b="https://accounts.google.com/o/oauth2/auth?client_id="+encodeURIComponent(a.clientId);b=b+"&redirect_uri=postmessage&response_type=token"+("&origin="+encodeURIComponent(void 0===a.origin?location.origin:a.origin));b+="&proxy="+this.proxyName;
+b=b+"&include_granted_scopes=true"+("&scope="+encodeURIComponent(a.scopes.join(" ")));a.state&&(b+="&state="+a.state);a.approvalPrompt&&(b+="&approval_prompt="+encodeURIComponent(a.approvalPrompt));a.loginHint&&(b+="&login_hint="+encodeURIComponent(a.loginHint));a.immediate&&(b+="&immediate=true");void 0!==a.authUser&&(b+="&authuser="+a.authUser);return b}}]);return a}(),t},function(h,f,a){Object.defineProperty(f,"__esModule",{value:!0});var q=a(131),p=a(102);h=a(41);Object(h.b)("brainmaps",function(a){return new q.BrainmapsDataSource(q.productionInstance,
+a.credentialsManager.getCredentialsProvider(p.a))})},function(h,f,a){Object.defineProperty(f,"__esModule",{value:!0});var q=a(105);h=a(41);Object(h.b)("ndstore",function(){return new q.NDStoreDataSource})},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+
+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function n(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}a.d(f,"c",function(){return c});a.d(f,"d",function(){return b});a.d(f,"b",function(){return d});a.d(f,"a",function(){return e});var c;(function(a){a[a.JPEG=0]="JPEG";a[a.RAW=1]="RAW";a[a.COMPRESSED_SEGMENTATION=2]="COMPRESSED_SEGMENTATION";
+a[a.COMPRESSED_SEGMENTATIONARRAY=3]="COMPRESSED_SEGMENTATIONARRAY"})(c||(c={}));h=function l(){n(this,l)};var b=function(a){function b(){n(this,b);return q(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}p(b,a);return b}(h);b.RPC_ID="dvid/VolumeChunkSource";var d=function(a){function b(){n(this,b);return q(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}p(b,a);return b}(h);d.RPC_ID="dvid/SkeletonSource";var e=function(a){function b(){n(this,b);return q(this,
+(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}p(b,a);return b}(h);e.RPC_ID="dvid/MeshSource"},function(h,f,a){Object.defineProperty(f,"__esModule",{value:!0});var q=a(153);h=a(41);Object(h.b)("dvid",function(){return new q.DVIDDataSource})},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+
+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function n(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}a.d(f,"b",function(){return c});a.d(f,"a",function(){return b});h=function(a){function b(){n(this,b);return q(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}p(b,a);return b}(function e(){n(this,e)});
+var c=function(a){function b(){n(this,b);return q(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}p(b,a);return b}(h);c.RPC_ID="render/TileChunkSource";var b=function(a){function b(){n(this,b);return q(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}p(b,a);return b}(h);b.RPC_ID="render/PointMatchSource"},function(h,f,a){Object.defineProperty(f,"__esModule",{value:!0});h=a(41);var q=a(154);Object(h.b)("render",function(){return new q.RenderDataSource})},function(h,
+f,a){Object.defineProperty(f,"__esModule",{value:!0});var q=a(157);h=a(41);Object(h.b)("openconnectome",function(){return new q.OpenConnectomeDataSource})},function(h,f,a){function q(a,c){if(!(a instanceof c))throw new TypeError("Cannot call a class as a function");}a.d(f,"b",function(){return p});a.d(f,"c",function(){return n});a.d(f,"a",function(){return c});var p;(function(a){a[a.RAW=0]="RAW";a[a.JPEG=1]="JPEG";a[a.COMPRESSED_SEGMENTATION=2]="COMPRESSED_SEGMENTATION"})(p||(p={}));var n=function d(){q(this,
+d)};n.RPC_ID="precomputed/VolumeChunkSource";var c=function e(){q(this,e)};c.RPC_ID="precomputed/MeshSource"},function(h,f,a){Object.defineProperty(f,"__esModule",{value:!0});var q=a(158);h=a(41);Object(h.b)("precomputed",function(){return new q.PrecomputedDataSource})},function(h,f,a){a.d(f,"b",function(){return p});f.a="nifti/getNiftiVolumeInfo";var q;(function(a){a[a.NONE=0]="NONE";a[a.BINARY=1]="BINARY";a[a.UINT8=2]="UINT8";a[a.INT16=4]="INT16";a[a.INT32=8]="INT32";a[a.FLOAT32=16]="FLOAT32";a[a.COMPLEX64=
+32]="COMPLEX64";a[a.FLOAT64=64]="FLOAT64";a[a.RGB24=128]="RGB24";a[a.INT8=256]="INT8";a[a.UINT16=512]="UINT16";a[a.UINT32=768]="UINT32";a[a.INT64=1024]="INT64";a[a.UINT64=1280]="UINT64";a[a.FLOAT128=1536]="FLOAT128";a[a.COMPLEX128=1792]="COMPLEX128";a[a.COMPLEX256=2048]="COMPLEX256"})(q||(q={}));var p=function c(){if(!(this instanceof c))throw new TypeError("Cannot call a class as a function");};p.RPC_ID="nifti/VolumeChunkSource"},function(h,f,a){Object.defineProperty(f,"__esModule",{value:!0});var q=
+a(159);h=a(41);Object(h.b)("nifti",function(){return new q.NiftiDataSource})},function(h,f){},function(h,f){},function(h,f){},function(h,f){},function(h,f){},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&
+b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return d});h=a(1);var n=a(8),c=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),b=function g(a,b,c){null===a&&(a=Function.prototype);var d=
+Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return g(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},d=function(a){function d(a){if(!(this instanceof d))throw new TypeError("Cannot call a class as a function");var b=q(this,(d.__proto__||Object.getPrototypeOf(d)).call(this));b.model=a;b.element=document.createElement("input");var c=b.element;c.classList.add("neuroglancer-color-widget");c.type="color";c.addEventListener("change",
+function(){return b.updateModel()});b.registerDisposer(a.changed.add(function(){return b.updateView()}));b.updateView();return b}p(d,a);c(d,[{key:"updateView",value:function(){this.element.value=this.model.toString()}},{key:"updateModel",value:function(){this.model.restoreState(this.element.value)}},{key:"disposed",value:function(){Object(n.b)(this.element);b(d.prototype.__proto__||Object.getPrototypeOf(d.prototype),"disposed",this).call(this)}}]);return d}(h.a)},function(h,f){},function(h,f){},function(h,
+f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return b});
+h=a(290);a.n(h);h=a(40);var n=a(165),c=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),b=function(a){function b(a){if(!(this instanceof b))throw new TypeError("Cannot call a class as a function");var c=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.transform=a;c.textArea=document.createElement("textarea");
+c.modelGeneration=-1;var d=c.element;d.classList.add("neuroglancer-coordinate-transform-widget");var e=c.textArea,g=document.createElement("label");g.className="neuroglancer-coordinate-transform-widget-homogeneous";g.textContent="3\u00d74 Homogeneous transformation matrix";g.appendChild(e);d.appendChild(g);c.registerDisposer(a.changed.add(function(){return c.updateView()}));c.registerDisposer(c.visibility.changed.add(function(){return c.updateView()}));e.addEventListener("change",function(){return c.updateModel()});
+e.addEventListener("blur",function(){return c.updateModel()});e.title="Homogeneous transformation matrix";e.rows=3;a=document.createElement("button");a.textContent="Reset to identity";a.addEventListener("click",function(){return c.transform.reset()});d.appendChild(a);c.updateView();return c}p(b,a);c(b,[{key:"updateView",value:function(){if(this.visible){var a=this.transform.changed.count;if(this.modelGeneration!==a){for(var b="",c=this.transform.transform,d=0;3>d;++d){0!==d&&(b+="\n");for(var e=0;4>
+e;++e){var f=c[4*e+d];0!==e&&(b+=" ");b+=Object(n.a)(f)}}this.textArea.value=b;this.modelGeneration=a}}}},{key:"updateModel",value:function(){var a=this.textArea.value.split(/[\s,\[\]\(\)\{\}]/).filter(function(a){return 0<a.length});if(12===a.length){for(var b=[],c=0;12>c;++c){var d=parseFloat(a[c]);if(Number.isNaN(d))return!1;b[c]=d}a=this.transform.transform;a[3]=a[7]=a[10]=0;a[15]=1;for(c=0;4>c;++c)for(d=0;3>d;++d)a[4*c+d]=b[c+4*d];this.transform.changed.dispatch();return!0}return!1}}]);return b}(h.b)},
+function(h,f){},function(h,f,a){(function(a){function f(b,c){function d(b){if(!e.parentNode)return a.off(document,"mousemove",d);e.style.top=Math.max(0,b.clientY-e.offsetHeight-5)+"px";e.style.left=b.clientX+5+"px"}var e=document.createElement("div");e.className="CodeMirror-lint-tooltip";e.appendChild(c.cloneNode(!0));document.body.appendChild(e);a.on(document,"mousemove",d);d(b);null!=e.style.opacity&&(e.style.opacity=1);return e}function h(a){a.parentNode&&(null==a.style.opacity&&a.parentNode&&
+a.parentNode.removeChild(a),a.style.opacity=0,setTimeout(function(){a.parentNode&&a.parentNode.removeChild(a)},600))}function c(b,c,d){function e(){a.off(d,"mouseout",e);g&&(h(g),g=null)}var g=f(b,c),k=setInterval(function(){if(g)for(var a=d;;a=a.parentNode){a&&11==a.nodeType&&(a=a.host);if(a==document.body)return;if(!a){e();break}}if(!g)return clearInterval(k)},400);a.on(d,"mouseout",e)}function b(a,b,d){this.marked=[];this.options=b;this.timeout=null;this.hasGutter=d;this.onMouseOver=function(b){var d=
+b.target||b.srcElement;if(/\bCodeMirror-lint-mark-/.test(d.className)){d=d.getBoundingClientRect();var e=a.findMarksAt(a.coordsChar({left:(d.left+d.right)/2,top:(d.top+d.bottom)/2},"client"));d=[];for(var k=0;k<e.length;++k){var f=e[k].__annotation;f&&d.push(f)}if(d.length){e=b.target||b.srcElement;k=document.createDocumentFragment();for(f=0;f<d.length;f++)k.appendChild(g(d[f]));c(b,k,e)}}};this.waitingFor=0}function d(a){var b=a.state.lint;b.hasGutter&&a.clearGutter("CodeMirror-lint-markers");for(a=
+0;a<b.marked.length;++a)b.marked[a].clear();b.marked.length=0}function e(b,d,e,g){var k=document.createElement("div"),f=k;k.className="CodeMirror-lint-marker-"+d;e&&(f=k.appendChild(document.createElement("div")),f.className="CodeMirror-lint-marker-multiple");if(0!=g)a.on(f,"mouseover",function(a){c(a,b,f)});return k}function g(a){var b=a.severity;b||(b="error");var c=document.createElement("div");c.className="CodeMirror-lint-message-"+b;"undefined"!=typeof a.messageHTML?c.innerHTML=a.messageHTML:
+c.appendChild(document.createTextNode(a.message));return c}function l(b,c,d){function e(){k=-1;b.off("change",e)}var g=b.state.lint,k=++g.waitingFor;b.on("change",e);c(b.getValue(),function(c,d){b.off("change",e);g.waitingFor==k&&(d&&c instanceof a&&(c=d),t(b,c))},d,b)}function k(b){var c=b.state.lint.options,d=c.options||c,e=c.getAnnotations||b.getHelper(a.Pos(0,0),"lint");e&&(c.async||e.async?l(b,e,d):(c=e(b.getValue(),d,b))&&(c.then?c.then(function(a){t(b,a)}):t(b,c)))}function t(a,b){d(a);for(var c=
+a.state.lint,k=c.options,f=[],l=0;l<b.length;++l){var h=b[l],m=h.from.line;(f[m]||(f[m]=[])).push(h)}for(l=0;l<f.length;++l)if(h=f[l]){m=null;for(var r=c.hasGutter&&document.createDocumentFragment(),n=0;n<h.length;++n){var t=h[n],p=t.severity;p||(p="error");"error"!=m&&(m=p);k.formatAnnotation&&(t=k.formatAnnotation(t));c.hasGutter&&r.appendChild(g(t));t.to&&c.marked.push(a.markText(t.from,t.to,{className:"CodeMirror-lint-mark-"+p,__annotation:t}))}c.hasGutter&&a.setGutterMarker(l,"CodeMirror-lint-markers",
+e(r,m,1<h.length,c.options.tooltips))}if(k.onUpdateLinting)k.onUpdateLinting(b,f,a)}function m(a){var b=a.state.lint;b&&(clearTimeout(b.timeout),b.timeout=setTimeout(function(){k(a)},b.options.delay||500))}a.defineOption("lint",!1,function(c,e,g){g&&g!=a.Init&&(d(c),!1!==c.state.lint.options.lintOnChange&&c.off("change",m),a.off(c.getWrapperElement(),"mouseover",c.state.lint.onMouseOver),clearTimeout(c.state.lint.timeout),delete c.state.lint);if(e){var f=c.getOption("gutters");g=!1;for(var l=0;l<
+f.length;++l)"CodeMirror-lint-markers"==f[l]&&(g=!0);f=c.state;e instanceof Function?e={getAnnotations:e}:e&&!0!==e||(e={});g=f.lint=new b(c,e,g);if(!1!==g.options.lintOnChange)c.on("change",m);if(0!=g.options.tooltips&&"gutter"!=g.options.tooltips)a.on(c.getWrapperElement(),"mouseover",g.onMouseOver);k(c)}});a.defineExtension("performLint",function(){this.state.lint&&k(this)})})(a(48))},function(h,f){},function(h,f){h.exports=function(a){function f(a){var b={};a=a.split(" ");for(var c=0;c<a.length;++c)b[a[c]]=
+!0;return b}a.defineMode("glsl",function(a,b){function c(a,b){var c=a.next();if(y[c]){var d=y[c](a,b);if(!1!==d)return d}if('"'==c||"'"==c)return b.tokenize=e(c),b.tokenize(a,b);if(/[\[\]{}\(\),;\:\.]/.test(c))return z=c,"bracket";if(/\d/.test(c))return a.eatWhile(/[\w\.]/),"number";if("/"==c){if(a.eat("*"))return b.tokenize=g,g(a,b);if(a.eat("/"))return a.skipToEnd(),"comment"}if("#"==c)return a.eatWhile(/[\S]+/),a.eatWhile(/[\s]+/),a.eatWhile(/[\S]+/),a.eatWhile(/[\s]+/),"comment";if(A.test(c))return a.eatWhile(A),
+"operator";a.eatWhile(/[\w\$_]/);a=a.current();return r.propertyIsEnumerable(a)?(q.propertyIsEnumerable(a)&&(z="newstatement"),"keyword"):p.propertyIsEnumerable(a)?"builtin":w.propertyIsEnumerable(a)?"atom":"word"}function e(a){return function(b,d){for(var e=!1,g,k=!1;null!=(g=b.next());){if(g==a&&!e){k=!0;break}e=!e&&"\\"==g}if(k||!e&&!x)d.tokenize=c;return"string"}}function g(a,b){for(var d=!1,e;e=a.next();){if("/"==e&&d){b.tokenize=c;break}d="*"==e}return"comment"}function l(a,b,c,d,e){this.indented=
+a;this.column=b;this.type=c;this.align=d;this.prev=e}function k(a,b,c){return a.context=new l(a.indented,b,c,null,a.context)}function t(a){var b=a.context.type;if(")"==b||"]"==b||"}"==b)a.indented=a.context.indented;return a.context=a.context.prev}var m=a.indentUnit,r=b.keywords||f(h),p=b.builtins||f(n),q=b.blockKeywords||f("case do else for if switch while struct"),w=b.atoms||f("null"),y=b.hooks||{},x=b.multiLineStrings,A=/[+\-*&%=<>!?|\/]/,z;return{startState:function(a){return{tokenize:null,context:new l((a||
+0)-m,0,"top",!1),indented:0,startOfLine:!0}},token:function(a,b){var d=b.context;a.sol()&&(null==d.align&&(d.align=!1),b.indented=a.indentation(),b.startOfLine=!0);if(a.eatSpace())return null;z=null;var e=(b.tokenize||c)(a,b);if("comment"==e||"meta"==e)return e;null==d.align&&(d.align=!0);if(";"!=z&&":"!=z||"statement"!=d.type)if("{"==z)k(b,a.column(),"}");else if("["==z)k(b,a.column(),"]");else if("("==z)k(b,a.column(),")");else if("}"==z){for(;"statement"==d.type;)d=t(b);for("}"==d.type&&(d=t(b));"statement"==
+d.type;)d=t(b)}else z==d.type?t(b):("}"==d.type||"top"==d.type||"statement"==d.type&&"newstatement"==z)&&k(b,a.column(),"statement");else t(b);b.startOfLine=!1;return e},indent:function(a,b){if(a.tokenize!=c&&null!=a.tokenize)return 0;b=b&&b.charAt(0);a=a.context;var d=b==a.type;return"statement"==a.type?a.indented+("{"==b?0:m):a.align?a.column+(d?0:1):a.indented+(d?0:m)},electricChars:"{}"}});var h="attribute const uniform varying break continue do for while if else in out inout float int void bool true false lowp mediump highp precision invariant discard return mat2 mat3 mat4 vec2 vec3 vec4 ivec2 ivec3 ivec4 bvec2 bvec3 bvec4 sampler2D samplerCube struct gl_FragCoord gl_FragColor",
+n="radians degrees sin cos tan asin acos atan pow exp log exp2 log2 sqrt inversesqrt abs sign floor ceil fract mod min max clamp mix step smoothstep length distance dot cross normalize faceforward reflect refract matrixCompMult lessThan lessThanEqual greaterThan greaterThanEqual equal notEqual any all not dFdx dFdy fwidth texture2D texture2DProj texture2DLod texture2DProjLod textureCube textureCubeLod require export";a.defineMIME("text/x-glsl",{name:"glsl",keywords:f(h),builtins:f(n),blockKeywords:f("case do else for if switch while struct"),
+atoms:f("null"),hooks:{"#":function(a,b){if(!b.startOfLine)return!1;a.skipToEnd();return"meta"}}})}},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+
+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a,b,c,d){d=void 0===d?{}:d;return e.a.forPromise(new Promise(function(e){e(a.getVectorGraphicsSource(b,c,d))}),{initialMessage:"Retrieving metadata for vector graphics source "+c+".",delay:!0,errorPrefix:"Error retrieving metadata for vector graphics source "+c+": "})}Object.defineProperty(f,"__esModule",
+{value:!0});a.d(f,"VectorGraphicsUserLayer",function(){return x});h=a(18);f=a(27);var b=a(155),d=a(295),e=a(31),g=a(56),l=a(173),k=a(174),t=a(2),m=a(4),r=a(81),u=a(40),v=a(296),w=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),y=function E(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,
+b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return E(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};a(171);a(172);var x=function(a){function e(a,f){q(this,e);var h=p(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,a,f));h.opacity=Object(g.a)(.5);h.lineWidth=Object(l.a)(10);h.color=Object(k.a)(t.s.fromValues(1,1,1));h.opacity.restoreState(f.opacity);h.lineWidth.restoreState(f.linewidth);h.color.restoreState(f.color);h.lineWidth.changed.add(function(){h.specificationChanged.dispatch()});
+h.color.changed.add(function(){h.specificationChanged.dispatch()});h.vectorGraphicsLayerType=Object(m.m)(f.type,b.b);f=h.vectorGraphicsPath=Object(m.y)(f.source);var r=0;void 0!==f&&(++r,h.vectorGraphicsLayerType===b.b.LINE&&c(a.dataSourceProvider,a.chunkManager,f).then(function(a){h.wasDisposed||(a=h.renderLayer=new d.a(a,{opacity:h.opacity,lineWidth:h.lineWidth,color:h.color,sourceOptions:{}}),h.addRenderLayer(a),0===--r&&(h.isReady=!0))}));h.tabs.add("rendering",{label:"Rendering",order:-100,getter:function(){return new A(h)}});
+h.tabs.default="rendering";return h}n(e,a);w(e,[{key:"toJSON",value:function(){var a=y(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"toJSON",this).call(this);a.type=this.getLayerType();a.source=this.vectorGraphicsPath;a.opacity=this.opacity.toJSON();a.linewidth=this.lineWidth.toJSON();a.color=this.color.toJSON();return a}},{key:"getLayerType",value:function(){return b.b[this.vectorGraphicsLayerType].toLowerCase()}}]);return e}(h.i),A=function(a){function b(a){q(this,b);var c=p(this,(b.__proto__||
+Object.getPrototypeOf(b)).call(this));c.layer=a;c.opacityWidget=c.registerDisposer(new r.a(c.layer.opacity));c.lineWidthWidget=c.registerDisposer(new r.a(c.layer.lineWidth,{min:0,max:50,step:1}));c.colorWidget=c.registerDisposer(new z(c.layer.color));a=c.element;a.classList.add("image-dropdown");var d=c.opacityWidget,e=c.lineWidthWidget,g=c.colorWidget,k=document.createElement("div");k.className="image-dropdown-top-row";d.promptElement.textContent="Opacity";e.promptElement.textContent="Line Width";
+g.promptElement.textContent="Color";d=document.createElement("div");d.style.flex="1";e=document.createElement("a");g=document.createElement("button");g.type="button";g.textContent="?";g.className="help-link";e.appendChild(g);e.title="Documentation on vector graphics layer rendering";e.target="_blank";e.href="https://github.com/google/neuroglancer/blob/master/src/neuroglancer/sliceview/vectorgraphics_layer_rendering.md";k.appendChild(d);k.appendChild(e);a.appendChild(k);a.appendChild(c.opacityWidget.element);
+a.appendChild(c.lineWidthWidget.element);a.appendChild(c.colorWidget.element);return c}n(b,a);return b}(u.b),z=function(a){function b(a){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,a))}n(b,a);w(b,[{key:"verifyValue",value:function(a){a=Object(m.n)(a);a/=255;return 0>a?0:1<a?1:a}},{key:"updateInput",value:function(){this.inputx.valueAsNumber=Math.round(255*this.model.value[0]);this.inputy.valueAsNumber=Math.round(255*this.model.value[1]);this.inputz.valueAsNumber=Math.round(255*
+this.model.value[2])}}]);return b}(v.a);Object(f.e)("line",x)},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?
+Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return m});var n=a(30);h=a(156);var c=a(56),b=a(173),d=a(174),e=a(2),g=a(20),l=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),k=function u(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=
+Object.getPrototypeOf(a),null!==a)return u(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},t=e.k.create(),m=function(a){function f(a,k){var l=void 0===k?{}:k;k=void 0===l.opacity?Object(c.a)(.5):l.opacity;var h=void 0===l.lineWidth?Object(b.a)(10):l.lineWidth,m=void 0===l.color?Object(d.a)(e.s.fromValues(255,255,255)):l.color;l=void 0===l.sourceOptions?{}:l.sourceOptions;if(!(this instanceof f))throw new TypeError("Cannot call a class as a function");var n=q(this,
+(f.__proto__||Object.getPrototypeOf(f)).call(this,a,{sourceOptions:l}));n.opacity=k;n.registerDisposer(k.changed.add(function(){n.redrawNeeded.dispatch()}));n.lineWidth=h;n.registerDisposer(h.changed.add(function(){n.redrawNeeded.dispatch()}));n.color=m;n.registerDisposer(m.changed.add(function(){n.redrawNeeded.dispatch()}));a=n.gl;k=new Float32Array([1,0,0,1,1,0,0,1]);n.vertexIndexBuffer=n.registerDisposer(g.a.fromData(a,k,a.ARRAY_BUFFER,a.STATIC_DRAW));k=new Float32Array([1,1,-1,-1]);n.normalDirectionBuffer=
+n.registerDisposer(g.a.fromData(a,k,a.ARRAY_BUFFER,a.STATIC_DRAW));return n}p(f,a);l(f,[{key:"getShaderKey",value:function(){return"vectorgraphics.VectorGraphicsLineRenderLayer"}},{key:"defineShader",value:function(a){k(f.prototype.__proto__||Object.getPrototypeOf(f.prototype),"defineShader",this).call(this,a);a.addUniform("highp float","uOpacity");a.addUniform("highp float","ulineWidth");a.addUniform("highp vec3","uColor");a.addVarying("vec3","vNormal");a.addAttribute("highp float","aNormalDirection");
+a.addAttribute("highp vec2","aVertexIndex");a.addAttribute("highp vec3","aVertexFirst");a.addAttribute("highp vec3","aVertexSecond");a.addUniform("highp mat4","uProjection");a.setFragmentMain("\nfloat distance = length(vNormal);\n\nfloat antialiasing = 0.5;\n\nif (distance >= 1.0 - antialiasing) {\n  emitRGBA(vec4(uColor, (distance - 1.0) / -antialiasing ));\n}\nelse if (distance < 1.0 - antialiasing) {\n  emitRGB(uColor);\n}\n");a.setVertexMain("\nvec3 direction = vec3(0., 0., 0.);\ndirection.z = aNormalDirection;\n\nvec3 difference = aVertexSecond - aVertexFirst;\ndifference.z = 0.;\n\nvec3 normal = cross(difference, direction);\nnormal = normalize(normal);\nvNormal = normal;\n\nvec4 delta = vec4(normal * ulineWidth, 0.0);\nvec4 pos = vec4(aVertexFirst * aVertexIndex.x + aVertexSecond * aVertexIndex.y, 1.0);\n\ngl_Position = uProjection * (pos + delta);\n")}},
+{key:"beginSlice",value:function(a){k(f.prototype.__proto__||Object.getPrototypeOf(f.prototype),"beginSlice",this).call(this,a);a=this.gl;var b=this.shader;a.uniform1f(b.uniform("uOpacity"),this.opacity.value);a.uniform1f(b.uniform("ulineWidth"),this.lineWidth.value);a.uniform3fv(b.uniform("uColor"),this.color.value);this.vertexIndexBuffer.bindToVertexAttrib(b.attribute("aVertexIndex"),2);this.normalDirectionBuffer.bindToVertexAttrib(b.attribute("aNormalDirection"),1);return b}},{key:"endSlice",value:function(a){var b=
+this.gl;b.disableVertexAttribArray(a.attribute("aVertexIndex"));b.disableVertexAttribArray(a.attribute("aNormalDirection"));b.disableVertexAttribArray(a.attribute("aVertexFirst"));b.disableVertexAttribArray(a.attribute("aVertexSecond"))}},{key:"draw",value:function(a){var b=a.visibleLayers.get(this);if(0!==b.length){var c=this.gl,d=this.beginSlice(a);if(void 0===d)console.log("error: shader undefined");else{b=$jscomp.makeIterator(b);for(var g=b.next();!g.done;g=b.next()){g=g.value;var k=g.chunkLayout,
+f=g.source,l=f.spec.voxelSize;g=f.chunks;var h=t;e.k.identity(h);f.vectorGraphicsCoordinatesInVoxels&&e.k.scale(h,h,l);e.k.multiply(h,k.transform,h);c.uniformMatrix4fv(d.uniform("uProjection"),!1,e.k.multiply(t,a.dataToDevice,h));if(k=a.visibleChunks.get(k))for(k=$jscomp.makeIterator(k),f=k.next();!f.done;f=k.next())if((f=g.get(f.value))&&f.state===n.d.GPU_MEMORY){l=f.numPoints/2;h=d.attribute("aVertexFirst");f.vertexBuffer.bindToVertexAttrib(h,3,WebGL2RenderingContext.FLOAT,!1,24,0);c.vertexAttribDivisor(h,
+1);var m=d.attribute("aVertexSecond");f.vertexBuffer.bindToVertexAttrib(m,3,WebGL2RenderingContext.FLOAT,!1,24,12);c.vertexAttribDivisor(m,1);c.drawArraysInstanced(c.TRIANGLE_STRIP,0,4,l);c.vertexAttribDivisor(h,0);c.vertexAttribDivisor(m,0)}}this.endSlice(d)}}}}]);return f}(h.a)},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&
+null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return g});h=a(1);var n=a(2),c=a(4),b=a(7),d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,
+d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),e=function k(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return k(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};a(297);var g=function(a){function g(a){if(!(this instanceof g))throw new TypeError("Cannot call a class as a function");var c=q(this,(g.__proto__||Object.getPrototypeOf(g)).call(this));
+c.model=a;c.promptElement=document.createElement("span");c.element=document.createElement("label");c.inputx=document.createElement("input");c.inputy=document.createElement("input");c.inputz=document.createElement("input");c.valueEntered=new b.b;a=c.inputx;var d=c.inputy,e=c.inputz,f=c.element,k=c.promptElement;f.className="vec3-input-row";k.className="vec3-input-label";f.appendChild(k);f.appendChild(a);f.appendChild(d);f.appendChild(e);a.type=d.type=e.type="number";c.updateInput();f=function(){c.model.value=
+c.getVec3Values()};c.registerEventListener(a,"change",f);c.registerEventListener(d,"change",f);c.registerEventListener(e,"change",f);c.model.changed.add(function(){c.updateInput()});return c}p(g,a);d(g,[{key:"getVec3Values",value:function(){var a=n.s.create();a[0]=this.verifyValue(this.inputx.valueAsNumber);a[1]=this.verifyValue(this.inputy.valueAsNumber);a[2]=this.verifyValue(this.inputz.valueAsNumber);return a}},{key:"verifyValue",value:function(a){return Object(c.n)(a)}},{key:"updateInput",value:function(){this.inputx.valueAsNumber=
+this.model.value[0];this.inputy.valueAsNumber=this.model.value[1];this.inputz.valueAsNumber=this.model.value[2]}},{key:"disposed",value:function(){var a=this.inputx,b=this.inputy,c=this.inputz,d=this.element;a.parentElement&&a.parentElement.removeChild(a);b.parentElement&&b.parentElement.removeChild(b);c.parentElement&&c.parentElement.removeChild(c);d.parentElement&&d.parentElement.removeChild(d);e(g.prototype.__proto__||Object.getPrototypeOf(g.prototype),"disposed",this).call(this)}}]);return g}(h.a)},
+function(h,f){},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return g});var p=a(299),n=a(4),c=a(7),b=a(14);h=a(15);var d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=
+d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),e=function m(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return m(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};f=this&&this.__decorate||function(a,b,c,d){var e=arguments.length,g=3>e?b:null===d?d=Object.getOwnPropertyDescriptor(b,
+c):d,f;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)g=Reflect.decorate(a,b,c,d);else for(var k=a.length-1;0<=k;k--)if(f=a[k])g=(3>e?f(g):3<e?f(b,c,g):f(b,c))||g;return 3<e&&g&&Object.defineProperty(b,c,g),g};var g=function(a){function g(){if(!(this instanceof g))throw new TypeError("Cannot call a class as a function");var a=(g.__proto__||Object.getPrototypeOf(g)).apply(this,arguments);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
+a=!a||"object"!==typeof a&&"function"!==typeof a?this:a;a.disjointSets=new p.a;a.changed=new c.a;return a}q(g,a);d(g,[{key:"disposed",value:function(){this.changed=this.disjointSets=void 0;e(g.prototype.__proto__||Object.getPrototypeOf(g.prototype),"disposed",this).call(this)}},{key:"link",value:function(a,b){if(this.disjointSets.link(a,b)){var c=this.rpc;c&&c.invoke("DisjointUint64Sets.add",{id:this.rpcId,al:a.low,ah:a.high,bl:b.low,bh:b.high});this.changed.dispatch()}}},{key:"get",value:function(a){return this.disjointSets.get(a)}},
+{key:"clear",value:function(){if(this.disjointSets.clear()){var a=this.rpc;a&&a.invoke("DisjointUint64Sets.clear",{id:this.rpcId});this.changed.dispatch()}}},{key:"setElements",value:function(a){return this.disjointSets.setElements(a)}},{key:"toJSON",value:function(){return this.disjointSets.toJSON()}},{key:"restoreState",value:function(a){var c=this;this.clear();if(void 0!==a){var d=[new b.a,new b.a];Object(n.a)(a,function(a){Object(n.a)(a,function(a,b){d[b%2].parseString(String(a),10);0!==b&&c.link(d[0],
+d[1])})})}}},{key:"size",get:function(){return this.disjointSets.size}}],[{key:"makeWithCounterpart",value:function(a){var b=new this;b.initializeCounterpart(a);return b}}]);return g}(h.c);g=f([Object(h.f)("DisjointUint64Sets")],g);var l=new b.a,k=new b.a;Object(h.e)("DisjointUint64Sets.add",function(a){var b=this.get(a.id);l.low=a.al;l.high=a.ah;k.low=a.bl;k.high=a.bh;b.disjointSets.link(l,k)&&b.changed.dispatch()});Object(h.e)("DisjointUint64Sets.clear",function(a){a=this.get(a.id);a.disjointSets.clear()&&
+a.changed.dispatch()})},function(h,f,a){function q(a){for(var b=a,c=a[d];c!==a;)a=c,c=a[d];for(a=b[d];c!==a;)b[d]=c,b=a,a=b[d];return c}function p(a){function b(b,f){for(;;)switch(c){case 0:g=!0,d=a;case 1:if(!g&&d===a){c=3;break}c=4;return{value:d,done:!1};case 4:if(void 0===f){c=5;break}c=-1;throw f;case 5:d=d[e];case 2:g=!1;c=1;break;case 3:c=-1;default:return{value:void 0,done:!0}}}var c=0,d,g,f={next:function(a){return b(a,void 0)},throw:function(a){return b(void 0,a)},return:function(a){throw Error("Not yet implemented");
+}};$jscomp.initSymbolIterator();f[Symbol.iterator]=function(){return this};return f}a.d(f,"a",function(){return k});var n=a(14),c=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();$jscomp.initSymbol();var b=Symbol("disjoint_sets:rank");$jscomp.initSymbol();var d=Symbol("disjoint_sets:parent");$jscomp.initSymbol();
+var e=Symbol("disjoint_sets:next");$jscomp.initSymbol();var g=Symbol("disjoint_sets:prev");$jscomp.initSymbol();var l=Symbol("disjoint_sets:min"),k=function(){function a(){if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");this.map=new Map;this.generation=0}$jscomp.initSymbol();$jscomp.initSymbolIterator();c(a,[{key:"get",value:function(a){var b=this.map.get(a.toString());return void 0===b?a:q(b)[l]}},{key:"isMinElement",value:function(a){var b=this.get(a);return b===
+a||n.a.equal(b,a)}},{key:"makeSet",value:function(a){var c=a.toString(),f=this.map,k=f.get(c);return void 0===k?(a=k=a.clone(),a[d]=a,a[b]=0,a[e]=a[g]=a,k[l]=k,f.set(c,k),k):q(k)}},{key:"link",value:function(a,c){a=this.makeSet(a);c=this.makeSet(c);if(a===c)return!1;this.generation++;var f=a;var k=c,h=f[b],m=k[b];h>m?k[d]=f:(f[d]=k,h===m&&(k[b]=m+1),f=k);k=a;h=c;m=k[g];var r=h[g];h[g]=m;m[e]=h;k[g]=r;r[e]=k;a=a[l];c=c[l];f[l]=n.a.less(a,c)?a:c;return!0}},{key:"setElements",value:function(a){function b(b,
+l){for(;;)switch(c){case 0:f=a.toString();g=k.map.get(f);if(void 0!==g){c=1;break}c=3;return{value:a,done:!1};case 3:if(void 0===l){c=4;break}c=-1;throw l;case 4:c=2;break;case 1:e=$jscomp.makeIterator(p(g));case 5:if((d=e.next(b)).done){c=6;break}c=7;return{value:d.value,done:!1};case 7:if(void 0===l){c=8;break}c=-1;throw l;case 8:c=5;break;case 6:case 2:c=-1;default:return{value:void 0,done:!0}}}var c=0,d,e,g,f,k=this,l={next:function(a){return b(a,void 0)},throw:function(a){return b(void 0,a)},
+return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();l[Symbol.iterator]=function(){return this};return l}},{key:"clear",value:function(){var a=this.map;if(0===a.size)return!1;++this.generation;a.clear();return!0}},{key:"mappings",value:function(a){function b(b,k){for(;;)switch(c){case 0:a=void 0===a?Array(2):a,g=$jscomp.makeIterator(f.map.values()),e=g.next();case 1:if(e.done){c=3;break}d=e.value;a[0]=d;a[1]=q(d)[l];c=4;return{value:a,done:!1};case 4:if(void 0===k){c=
+5;break}c=-1;throw k;case 5:case 2:e=g.next();c=1;break;case 3:c=-1;default:return{value:void 0,done:!0}}}var c=0,d,e,g,f=this,k={next:function(a){return b(a,void 0)},throw:function(a){return b(void 0,a)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();k[Symbol.iterator]=function(){return this};return k}},{key:Symbol.iterator,value:function(){return this.mappings()}},{key:"toJSON",value:function(){for(var a=[],b=$jscomp.makeIterator(this.map.values()),c=b.next();!c.done;c=
+b.next()){var e=c.value;if(e[d]===e){c=[];e=$jscomp.makeIterator(p(e));for(var g=e.next();!g.done;g=e.next())c.push(g.value);c.sort(n.a.compare);a.push(c)}}a.sort(function(a,b){return n.a.compare(a[0],b[0])});return a.map(function(a){return a.map(function(a){return a.toString()})})}},{key:"size",get:function(){return this.map.size}}]);return a}()},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);
+a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return d});var p=a(65),n=a(7);h=a(15);var c=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),b=function l(a,b,
+c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return l(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};f=this&&this.__decorate||function(a,b,c,d){var e=arguments.length,f=3>e?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d,k;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)f=Reflect.decorate(a,b,c,d);else for(var l=a.length-1;0<=l;l--)if(k=a[l])f=(3>e?
+k(f):3<e?k(b,c,f):k(b,c))||f;return 3<e&&f&&Object.defineProperty(b,c,f),f};var d=e=function(a){function d(){if(!(this instanceof d))throw new TypeError("Cannot call a class as a function");var a=(d.__proto__||Object.getPrototypeOf(d)).apply(this,arguments);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");a=!a||"object"!==typeof a&&"function"!==typeof a?this:a;a.hashTable=new p.b;a.changed=new n.b;return a}q(d,a);$jscomp.initSymbol();$jscomp.initSymbolIterator();
+c(d,[{key:"disposed",value:function(){b(d.prototype.__proto__||Object.getPrototypeOf(d.prototype),"disposed",this).call(this);this.changed=this.hashTable=void 0}},{key:"add_",value:function(a){return this.hashTable.add(a)}},{key:"add",value:function(a){if(this.add_(a)){var b=this.rpc;b&&b.invoke("Uint64Set.add",{id:this.rpcId,value:a});this.changed.dispatch(a,!0)}}},{key:"has",value:function(a){return this.hashTable.has(a)}},{key:Symbol.iterator,value:function(){return this.hashTable.keys()}},{key:"delete_",
+value:function(a){return this.hashTable.delete(a)}},{key:"delete",value:function(a){if(this.delete_(a)){var b=this.rpc;b&&b.invoke("Uint64Set.delete",{id:this.rpcId,value:a});this.changed.dispatch(a,!1)}}},{key:"clear",value:function(){if(this.hashTable.clear()){var a=this.rpc;a&&a.invoke("Uint64Set.clear",{id:this.rpcId});this.changed.dispatch(null,!1)}}},{key:"toJSON",value:function(){for(var a=[],b=$jscomp.makeIterator(this),c=b.next();!c.done;c=b.next())a.push(c.value.toString());a.sort();return a}},
+{key:"size",get:function(){return this.hashTable.size}}],[{key:"makeWithCounterpart",value:function(a){var b=new e;b.initializeCounterpart(a);return b}}]);return d}(h.c);d=e=f([Object(h.f)("Uint64Set")],d);Object(h.e)("Uint64Set.add",function(a){var b=this.get(a.id);b.add_(a.value)&&b.changed.dispatch()});Object(h.e)("Uint64Set.delete",function(a){var b=this.get(a.id);b.delete_(a.value)&&b.changed.dispatch()});Object(h.e)("Uint64Set.clear",function(a){a=this.get(a.id);a.hashTable.clear()&&a.changed.dispatch()});
+var e},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=
+b)}a.d(f,"a",function(){return d});h=a(1);f=a(14);var n=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),c=function g(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return g(a,b,c)}else{if("value"in d)return d.value;b=
+d.get;return void 0===b?void 0:b.call(c)}};a(45);a(302);var b=new f.a,d=function(a){function d(a){if(!(this instanceof d))throw new TypeError("Cannot call a class as a function");var b=q(this,(d.__proto__||Object.getPrototypeOf(d)).call(this));b.displayState=a;b.element=document.createElement("div");b.clearButton=document.createElement("button");b.itemContainer=document.createElement("span");b.items=new Map;var c=b.element,g=b.clearButton,f=b.itemContainer;c.className="segment-set-widget neuroglancer-noselect";
+g.className="clear-button";g.title="Remove all segment IDs";b.registerEventListener(g,"click",function(){b.visibleSegments.clear()});f.className="item-container";c.appendChild(f);f.appendChild(g);b.registerDisposer(a.visibleSegments.changed.add(function(a,c){b.handleSetChanged(a,c)}));b.registerDisposer(a.segmentColorHash.changed.add(function(){b.handleColorChanged()}));a=$jscomp.makeIterator(a.visibleSegments);for(c=a.next();!c.done;c=a.next())b.addElement(c.value.toString());b.updateClearButtonVisibility();
+return b}p(d,a);n(d,[{key:"updateClearButtonVisibility",value:function(){this.clearButton.style.display=0<this.displayState.visibleSegments.size?"":"none"}},{key:"handleSetChanged",value:function(a,b){this.updateClearButtonVisibility();var c=this.items;if(null===a){a=this.itemContainer;for(b=this.clearButton;;){var d=a.lastElementChild;if(d===b)break;a.removeChild(d)}c.clear()}else b?this.addElement(a.toString()):(a=a.toString(),b=c.get(a),b.parentElement.removeChild(b),c.delete(a))}},{key:"addElement",
+value:function(a){var c=document.createElement("button");c.className="segment-button";c.textContent=a;c.title="Remove segment ID "+a;var d=this;c.addEventListener("click",function(){b.tryParseString(this.textContent);d.visibleSegments.delete(b)});c.addEventListener("mouseenter",function(){b.tryParseString(this.textContent);d.segmentSelectionState.set(b)});c.addEventListener("mouseleave",function(){b.tryParseString(this.textContent);d.segmentSelectionState.set(null)});this.setItemColor(c);this.itemContainer.appendChild(c);
+this.items.set(a,c)}},{key:"setItemColor",value:function(a){b.tryParseString(a.textContent);a.style.backgroundColor=this.segmentColorHash.computeCssColor(b)}},{key:"handleColorChanged",value:function(){var a=this;this.items.forEach(function(b){a.setItemColor(b)})}},{key:"disposed",value:function(){var a=this.element,b=a.parentElement;b&&b.removeChild(a);c(d.prototype.__proto__||Object.getPrototypeOf(d.prototype),"disposed",this).call(this)}},{key:"visibleSegments",get:function(){return this.displayState.visibleSegments}},
+{key:"segmentColorHash",get:function(){return this.displayState.segmentColorHash}},{key:"segmentSelectionState",get:function(){return this.displayState.segmentSelectionState}}]);return d}(h.a)},function(h,f){},function(h,f){},function(h,f){},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+
+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function n(a,c){void 0!==c&&Object(w.a)(c,function(c,d){a.add({type:b.c.POINT,id:""+d,point:Object(w.k)(c)})})}function c(a){a=a.layer;return null===a||a instanceof k.SegmentationUserLayer?!0:!1}Object.defineProperty(f,"__esModule",{value:!0});a.d(f,"AnnotationUserLayer",function(){return z});var b=a(28),d=a(72),e=
+a(58),g=a(18);h=a(27);var l=a(57),k=a(64),t=a(31),m=a(35),r=a(9),u=a(107);f=a(110);var v=a(2),w=a(4),y=a(307),x=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),A=function E(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==
+a)return E(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};a(308);var z=function(a){function f(a,k){if(!(this instanceof f))throw new TypeError("Cannot call a class as a function");var h=q(this,(f.__proto__||Object.getPrototypeOf(f)).call(this,a,k));h.localAnnotations=h.registerDisposer(new b.d);h.voxelSize=new l.h;h.linkedSegmentationLayer=h.registerDisposer(new g.b(h.manager.rootLayers.addRef(),c));h.filterBySegmentation=new m.b(!1);var r=h.sourceUrl=k.source;
+h.linkedSegmentationLayer.restoreState(k.linkedSegmentationLayer);h.filterBySegmentation.restoreState(k.filterBySegmentation);if(void 0===r){h.isReady=!0;h.voxelSize.restoreState(k.voxelSize);h.localAnnotations.restoreState(k.annotations);n(h.localAnnotations,k.points);var p=!1;k=function(){!h.voxelSize.valid&&a.voxelSize.valid&&(v.s.copy(h.voxelSize.size,a.voxelSize.size),h.voxelSize.setValid());if(h.voxelSize.valid&&!1===p){var b=new e.a;h.registerDisposer(Object(e.b)(b,h.transform,function(a,b){var c=
+v.k.fromScaling(v.k.create(),h.voxelSize.size);v.k.multiply(a,b,c)}));h.annotationLayerState.value=new d.b(Object.assign({transform:b,source:h.localAnnotations.addRef()},h.getAnnotationRenderOptions()));p=!0}};h.registerDisposer(h.localAnnotations.changed.add(h.specificationChanged.dispatch));h.registerDisposer(h.voxelSize.changed.add(h.specificationChanged.dispatch));h.registerDisposer(h.filterBySegmentation.changed.add(h.specificationChanged.dispatch));h.registerDisposer(h.voxelSize.changed.add(k));
+h.registerDisposer(h.manager.voxelSize.changed.add(k));k()}else t.a.forPromise(h.manager.dataSourceProvider.getAnnotationSource(h.manager.chunkManager,r),{initialMessage:"Retrieving metadata for volume "+r+".",delay:!0,errorPrefix:"Error retrieving metadata for volume "+r+": "}).then(function(a){h.wasDisposed||(h.annotationLayerState.value=new d.b(Object.assign({transform:h.transform,source:a},h.getAnnotationRenderOptions())),h.isReady=!0)});h.tabs.default="annotations";return h}p(f,a);x(f,[{key:"getAnnotationRenderOptions",
+value:function(){var a=this,b=new r.f(void 0),c=function(){var c=a.linkedSegmentationLayer;if(void 0===c.layerName)c=null;else a:{c=c.layer;if(void 0!==c&&(c=c.layer,null!==c&&c instanceof k.SegmentationUserLayer)){c=c.displayState;break a}c=void 0}b.value=c};this.registerDisposer(this.linkedSegmentationLayer.changed.add(c));c();return Object.assign({segmentationState:b,filterBySegmentation:this.filterBySegmentation},Object(u.b)(this))}},{key:"initializeAnnotationLayerViewTab",value:function(a){var b=
+a.registerDisposer(new y.a(this.linkedSegmentationLayer));b.element.insertBefore(document.createTextNode("Linked segmentation: "),b.element.firstChild);a.element.appendChild(b.element);b=this.registerDisposer(new m.c(a.annotationLayer.filterBySegmentation));var c=document.createElement("label");c.textContent="Filter by segmentation: ";c.appendChild(b.element);a.element.appendChild(c);a.registerDisposer(new m.a(this.registerDisposer(Object(r.g)(function(a){return void 0!==a},a.annotationLayer.segmentationState)),
+c))}},{key:"toJSON",value:function(){var a=A(f.prototype.__proto__||Object.getPrototypeOf(f.prototype),"toJSON",this).call(this);a.type="annotation";a.source=this.sourceUrl;void 0===this.sourceUrl&&(a.annotations=this.localAnnotations.toJSON(),a.voxelSize=this.voxelSize.toJSON());a.linkedSegmentationLayer=this.linkedSegmentationLayer.toJSON();a.filterBySegmentation=this.filterBySegmentation.toJSON();return a}}]);return f}(Object(u.a)(Object(f.a)(g.i)));Object(h.e)("annotation",z);Object(h.e)("pointAnnotation",
+z)},function(h,f,a){a.d(f,"a",function(){return c});var q=a(4),p=a(7),n=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,g){c&&a(b.prototype,c);g&&a(b,g);return b}}(),c=function(){function a(b,c,g){g=void 0===g?c:g;if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");this.enumType=b;this.value_=c;this.defaultValue=g;this.changed=
+new p.a}n(a,[{key:"reset",value:function(){this.value=this.defaultValue}},{key:"restoreState",value:function(a){this.value=Object(q.m)(a,this.enumType)}},{key:"toJSON",value:function(){return this.enumType[this.value_].toLowerCase()}},{key:"value",set:function(a){this.value_!==a&&(this.value_=a,this.changed.dispatch())},get:function(){return this.value_}}]);return a}()},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||
+"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return d});h=a(10);var n=a.n(h);h=a(1);var c=a(8),b=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];
+d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),d=function(a){function d(a){if(!(this instanceof d))throw new TypeError("Cannot call a class as a function");var b=q(this,(d.__proto__||Object.getPrototypeOf(d)).call(this));b.ref=a;b.element=document.createElement("label");b.selectElement=document.createElement("select");b.registerDisposer(a);a=b.selectElement;b.element.appendChild(a);
+b.updateView();b.registerEventListener(a,"change",function(){return b.updateModel()});b.registerDisposer(b.ref.changed.add(n()(function(){return b.updateView()},0)));return b}p(d,a);b(d,[{key:"updateModel",value:function(){this.ref.layerName=this.selectElement.value||void 0}},{key:"updateView",value:function(){var a=this.selectElement,b=this.ref,d=b.filter;Object(c.a)(a);var e=document.createElement("option");a.appendChild(e);e=$jscomp.makeIterator(this.ref.layerManager.managedLayers);for(var g=e.next();!g.done;g=
+e.next()){var f=g.value;d(f)&&(g=document.createElement("option"),f=f.name,g.textContent=f,g.value=f,a.appendChild(g))}a.value=b.layerName||""}}]);return d}(h.a)},function(h,f){},function(h,f,a){Object.defineProperty(f,"__esModule",{value:!0});a.d(f,"getNgPatchableObj",function(){return c});var q=a(178),p=a(18),n=a(179);a.d(f,"createNehubaViewer",function(){return n.b});a.d(f,"NehubaViewer",function(){return n.a});a.d(f,"layoutEventType",function(){return n.c});a.d(f,"perspectiveRenderEventType",
+function(){return n.d});a.d(f,"quat",function(){return n.e});a.d(f,"sliceRenderEventType",function(){return n.f});a.d(f,"vec3",function(){return n.g});a.d(f,"vec4",function(){return n.h});var c=function(){return{UrlHashBinding:q.a,LayerManager:p.a}}},function(h,f,a){function q(a){return a.map(function(a){return{name:a.name,value:a.layer}}).filter(function(a){return!!a.value}).map(function(a){return{name:a.name,userLayer:a.value}})}function p(a){return a.map(function(a){var b=a.layer.userLayer,c=b.getValueAt(a.mouse.position,
+a.mouse),d=b.volumePath;d||(d=b.parameters.meshSourceUrl);return{value:0===c?0:c?c:null,layer:{name:a.layer.name,url:d?d:void 0}}})}f.b=function(a,b){return w.create(a,b)};a.d(f,"a",function(){return w});var n=a(14),c=a(106),b=a(64),d=a(311),e=a(359),g=a(193),l=a(121),k=a(179),t=a(122),m=a(123),r=a(363),u=a(194);a.n(u);a(647);var v=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,
+d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),w=function(){function a(d,e,f){var l=this;if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");this.errorHandler=f;this.onError=function(a){l.errorHandler&&(a instanceof Error?l.errorHandler(a):l.errorHandler(Error(a)))};this.ngviewer=d;this._config=e;var h=d.navigationState;this.navigationState={position:{inRealSpace:Object(r.a)(h.position,function(a){return k.g.clone(a.spatialCoordinates)}),inVoxels:Object(r.a)(h.position,
+function(a){var b=k.g.create();if(a.getVoxelCoordinates(b)){for(a=0;3>a;++a)b[a]=Math.floor(b[a]);return b}return null},{share:!1}).notNull().publishReplay(1).refCount()},orientation:Object(r.a)(h.pose.orientation,function(a){return k.e.clone(a.orientation)}),sliceZoom:Object(r.a)({s:h.zoomFactor,r:h},function(a){return a.value}),perspectiveZoom:Object(r.a)({s:d.perspectiveNavigationState.zoomFactor,r:d.perspectiveNavigationState},function(a){return a.value}),perspectiveOrientation:Object(r.a)(d.perspectiveNavigationState.pose.orientation,
+function(a){return k.e.clone(a.orientation)}),full:Object(r.a)(h,function(a){return{position:k.g.clone(a.position.spatialCoordinates),orientation:k.e.clone(a.pose.orientation.orientation),zoom:a.zoomFactor.value}}),get all(){var a=this.perspectiveZoom.combineLatest(this.perspectiveOrientation,function(a,b){return{perspectiveZoom:a,perspectiveOrientation:b}});return this.full.combineLatest(a,function(a,b){return Object.assign({},a,b)}).publishReplay(1).refCount()}};e=Object(r.a)({s:d.mouseState,r:d},
+function(a){return a.active?k.g.clone(a.position):null});this.mousePosition={inRealSpace:e,inVoxels:e.map(function(a){if(a){a=h.pose.position.voxelSize.voxelFromSpatial(k.g.create(),a);for(var b=0;3>b;++b)a[b]=Math.round(a[b])}return a}).publishReplay(1).refCount()};e=d.layerManager;e=Object(r.a)({s:{changed:e.layersChanged,layerManager:e},r:e},function(a){return a.layerManager}).concatMap(function(a){return u.Observable.from(a.managedLayers)});this._createdSegmentationUserLayers=e.map(function(a){return a.layer}).notNull().filter(function(a){return a instanceof
+b.SegmentationUserLayer}).map(function(a){return a});this.createdSegmentationUserLayers.subscribe(function(a){l.config.disableSegmentSelection&&Object(g.d)(a)});this.createdSegmentationUserLayers.subscribe(function(a){l.config.disableSegmentHighlighting&&Object(g.c)(a)});this.createdSegmentationUserLayers.subscribe(function(a){l.config.enableMeshLoadingControl&&(a=a.displayState,a.visibleSegments instanceof m.b||(a.visibleSegments=new m.b(a.visibleSegments)))});e=e.let(q).filter(function(a){return a.userLayer instanceof
+b.SegmentationUserLayer}).map(function(a){return{name:a.name,layer:a.userLayer}}).unseen(function(a){return a.layer}).flatMap(function(a){var b=a.name,c=a.layer.volumePath;return Object(r.a)(a.layer.displayState.segmentSelectionState,function(a){return{segment:a.hasSelectedSegment?l.segmentToNumber(a.selectedSegment):null,layer:{name:b,url:c}}})}).publishReplay(1).refCount();f=Object(r.a)(d.layerSelectedValues,function(a){return a}).concatMap(function(a){return u.Observable.from(a.layerManager.managedLayers).filter(function(a){return a.visible}).let(q).map(function(b){return{mouse:a.mouseState,
+layer:b}})});d=f.filter(function(a){return a.layer.userLayer instanceof c.ImageUserLayer}).let(p).map(function(a){return Object.assign({},a,{layer:Object.assign({},a.layer,{url:a.layer.url})})});f=f.let(p);this.mouseOver={segment:e,image:d,layer:f}}v(a,[{key:"addMouseOverSegmentCallback",value:function(a){var b=this.mouseOver.segment.subscribe(function(b){return a(b.segment,b.layer)},this.onError);return function(){return b.unsubscribe()}}},{key:"addMouseEnterSegmentCallback",value:function(a){var b=
 this.mouseOver.segment.filter(function(a){return null!==a.segment}).subscribe(function(b){return a(b.segment,b.layer)},this.onError);return function(){return b.unsubscribe()}}},{key:"addMouseLeaveSegmentsCallback",value:function(a){var b=this.mouseOver.segment.filter(function(a){return null===a.segment}).subscribe(function(){return a()},this.onError);return function(){return b.unsubscribe()}}},{key:"addNavigationStateCallbackInRealSpaceCoordinates",value:function(a){var b=this.navigationState.position.inRealSpace.subscribe(function(b){return a(b)},
 this.onError);return function(){return b.unsubscribe()}}},{key:"addNavigationStateCallbackInVoxelCoordinates",value:function(a){var b=this.navigationState.position.inVoxels.subscribe(function(b){return a(b)},this.onError);return function(){return b.unsubscribe()}}},{key:"addMousePositionCallbackInRealSpaceCoordinates",value:function(a){var b=this.mousePosition.inRealSpace.subscribe(function(b){return a(b)},this.onError);return function(){return b.unsubscribe()}}},{key:"addMousePositionCallbackInVoxelCoordinates",
-value:function(a){var b=this.mousePosition.inVoxels.subscribe(function(b){return a(b)},this.onError);return function(){return b.unsubscribe()}}},{key:"setPosition",value:function(a,b){var c=this.ngviewer.navigationState.pose.position;b?(k.g.copy(c.spatialCoordinates,a),c.markSpatialCoordinatesChanged()):c.setVoxelCoordinates(a)}},{key:"showSegment",value:function(a,b){this.getSingleSegmentation(b).displayState.visibleSegments.add(new m.a(a))}},{key:"hideSegment",value:function(a,b){this.getSingleSegmentation(b).displayState.visibleSegments.delete(new m.a(a))}},
-{key:"getShownSegmentsNow",value:function(a){return Array.from(this.getSingleSegmentation(a).displayState.visibleSegments,this.segmentToNumber)}},{key:"getShownSegmentsObservable",value:function(a){var b=this;a=this.getSingleSegmentation(a);return Object(l.a)({s:a.displayState.visibleSegments,r:a},function(a){return Array.from(a,b.segmentToNumber)})}},{key:"setSegmentColor",value:function(a,b,c){this.checkRGB(b);this.getSingleSegmentationColors(c).setSegmentColor(a,b.red,b.green,b.blue)}},{key:"unsetSegmentColor",
-value:function(a,b){this.getSingleSegmentationColors(b).unsetSegmentColor(a)}},{key:"clearCustomSegmentColors",value:function(a){this.getSingleSegmentationColors(a).clearCustomSegmentColors()}},{key:"batchAddAndUpdateSegmentColors",value:function(a,b){this.getSingleSegmentationColors(b).batchUpdate(a)}},{key:"setMeshesToLoad",value:function(a,b){b=this.getSingleSegmentation(b).displayState.visibleSegments;b instanceof r.b?b.setMeshesToLoad(a):this.throwError("visibleSegments property is not wrapped by nehuba. Maybe mesh loading control is not enabled in config (enableMeshLoadingControl?: boolean) ")}},
-{key:"relayout",value:function(){this.ngviewer.layout.container.component.changed.dispatch()}},{key:"redraw",value:function(){this.ngviewer.display.scheduleRedraw()}},{key:"dispose",value:function(){this.ngviewer.dispose();this.ngviewer.display.container[q.b]=void 0}},{key:"applyInitialNgState",value:function(){a.restoreInitialState(this.ngviewer,this.config)}},{key:"getSingleSegmentationColors",value:function(a){a=this.getSingleSegmentation(a).displayState.segmentColorHash;if(a instanceof t.a)return a;
-throw Error("Looks like neuroglancer was not patched and hooked to support custom segment colors. Are you sure you enabled it by `config.globals.useCustomSegmentColors: true` or similar?");}},{key:"getSingleSegmentation",value:function(a){var c=this.ngviewer.layerManager.managedLayers.filter(function(b){return!a||!a.name||b.name===a.name}).map(function(a){return a.layer}).filter(function(a){return!!a}).filter(function(a){return a instanceof b.SegmentationUserLayer}).map(function(a){return a}).filter(function(b){return!a||
-!a.url||b.volumePath===a.url});0===c.length&&this.throwError("No parcellation found");1<c.length&&this.throwError("Ambiguous request. Multiple parcellations found");return c[0]}},{key:"segmentToNumber",value:function(a){0!==a.high&&this.throwError("Segment id number does not fit into 32 bit integer "+a.toString(10));return a.low}},{key:"throwError",value:function(a){a=Error(a);var b=this.errorHandler;b&&b(a);throw a;}},{key:"checkRGB",value:function(a){this.checkRGBValue(a.red,"red");this.checkRGBValue(a.green,
-"green");this.checkRGBValue(a.blue,"blue")}},{key:"checkRGBValue",value:function(a,b){Number.isInteger(a)||this.throwError("Provided color value "+a+" for "+b+" channel is not an integer (0 to 255).");(0>a||255<a)&&this.throwError("Provided color value "+a+" for "+b+" channel is not in expected range of 0 to 255.")}},{key:"config",get:function(){return this._config},set:function(a){this._config=a;this.ngviewer.display.container[q.b]=this._config}},{key:"createdSegmentationUserLayers",get:function(){return this._createdSegmentationUserLayers.unseen()}}],
-[{key:"create",value:function(b,c){b=b||{};var e=document.getElementById("neuroglancer-container");if(e[q.b])throw b=Error("Viewer is already created in this container: "+e),c&&c(b),b;e[q.b]=b;Object(f.a)(b);Object(h.b)(e,b);e=Object(d.a)();Object(h.a)(e,b);0===e.layerManager.managedLayers.length&&a.restoreInitialState(e,b);return new a(e,b,c)}},{key:"restoreInitialState",value:function(a,b){(b=b.dataset&&b.dataset.initialNgState)&&a.state.restoreState(b)}}]);return a}()},function(g,e,a){e.a=function(){var a=
-window.viewer=Object(p.a)();Object(m.a)(a.inputEventBindings);a.registerDisposer(new c.a(a.state)).updateFromUrlHash();Object(n.a)(a);Object(n.b)(a);return a};var p=a(280),n=a(311),m=a(312),c=a(154)},function(g,e,a){e.a=function(a){Object(c.a)();Object(c.b)();try{var b=new n.a(document.getElementById("neuroglancer-container"));return new m.a(b,a)}catch(f){throw p.a.showMessage("Error: "+f.message),f;}};a(282);var p=a(40),n=a(130),m=a(158),c=a(310);a(281)},function(g,e){},function(g,e,a){a(283);a(284)},
-function(g,e,a){function p(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function n(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function m(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,
-configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}g=a(156);var c=a(19);e=a(28);var b=a(1),d=a(3),f=a(16),h=a(102),q=a(18),k=function z(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return z(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},t=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;
-d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),r=function(a){function b(a,c,d,f){p(this,b);var e=n(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));e.chunkDataSize=c;e.channelStride=c[0]*c[1]*c[2];Object(h.e)(e,a,d,c[0],c[1],c[2]*f);return e}m(b,a);t(b,null,[{key:"get",value:function(a,c,f,e){return a.memoize.get("sliceview.UncompressedTextureLayout:"+Object(d.q)(c)+","+(f+","+e),function(){return new b(a,
-c,f,e)})}}]);return b}(b.a),l=function(a){function b(a,c,d,f){p(this,b);a=n(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,f));a.dataType=c;a.numChannels=d;Object(h.c)(a,c);a.textureAccessHelper=new h.a("chunkData");return a}m(b,a);t(b,[{key:"defineShader",value:function(a){k(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"defineShader",this).call(this,a);var c=this.textureAccessHelper;c.defineShader(a);a.addFragmentCode(c.getAccessor("readVolumeData","uVolumeChunkSampler",this.dataType));
-1<this.numChannels?(a.addUniform("highp float","uChannelStride"),a.addFragmentCode("\nfloat getChannelOffset(int channelIndex) {\n  return float(channelIndex) * uChannelStride;\n}\n")):a.addFragmentCode("float getChannelOffset(int channelIndex) { return 0.0; }");a.addFragmentCode("\nfloat getIndexIntoChunk (int channelIndex) {\n  vec3 chunkDataPosition = getPositionWithinChunk();\n  return chunkDataPosition.x + uChunkDataSize.x * (chunkDataPosition.y + uChunkDataSize.y * chunkDataPosition.z) + getChannelOffset(channelIndex);\n}\n");
-c=Object(q.a)(this.dataType);a.addFragmentCode("\n"+c+" getDataValue (int channelIndex) {\n  return readVolumeData(getIndexIntoChunk(channelIndex));\n}\n")}},{key:"setupTextureLayout",value:function(a,b,c){1<this.numChannels&&a.uniform1f(b.uniform("uChannelStride"),c.channelStride);this.textureAccessHelper.setupTextureLayout(a,b,c)}},{key:"getTextureLayout",value:function(a,b){return r.get(a,b,this.texelsPerElement,this.numChannels)}},{key:"setTextureData",value:function(a,b,c){Object(h.f)(a,b,this,
-c)}}],[{key:"get",value:function(a,c,d){var f="sliceview.UncompressedChunkFormat:"+c+":"+d;return a.memoize.get(f,function(){return new b(a,c,d,f)})}}]);return b}(g.a),u=function(a){function b(){p(this,b);return n(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}m(b,a);t(b,[{key:"setTextureData",value:function(a){var b=this.source,c=b.chunkFormatHandler,d=c.chunkFormat,f;this.textureLayout=this.chunkDataSize===b.spec.chunkDataSize?f=c.textureLayout.addRef():f=d.getTextureLayout(a,
-this.chunkDataSize);this.chunkFormat.setTextureData(a,f,this.data)}},{key:"getChannelValueAt",value:function(a,b){var d=this.chunkDataSize;b=a[0]+d[0]*(a[1]+d[1]*(a[2]+d[2]*b));d=this.chunkFormat.dataType;a=this.data;switch(d){case c.a.UINT8:case c.a.FLOAT32:case c.a.UINT16:case c.a.UINT32:return a[b];case c.a.UINT64:return b*=2,new f.a(a[b],a[b+1])}throw Error("Invalid data type: "+d);}}]);return b}(g.b),A=function(a){function b(a,c){p(this,b);var d=n(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));
-d.chunkFormat=d.registerDisposer(l.get(a,c.dataType,c.numChannels));d.textureLayout=d.registerDisposer(d.chunkFormat.getTextureLayout(a,c.chunkDataSize));return d}m(b,a);t(b,[{key:"getChunk",value:function(a,b){return new u(a,b)}}]);return b}(b.a);Object(e.c)(function(a,b){return null==b.compressedSegmentationBlockSize?new A(a,b):null})},function(g,e,a){function p(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function n(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
-return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function m(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}var c=a(285),b=a(286);g=a(156);var d=a(19);e=a(28);var f=a(1),h=a(3),q=a(16),k=a(102),t=a(18),r=function v(a,b,c){null===a&&(a=Function.prototype);
-var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return v(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},l=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),u=function(a){function b(a,c,d,f){p(this,b);var e=n(this,(b.__proto__||
-Object.getPrototypeOf(b)).call(this));e.chunkDataSize=c;e.subchunkSize=d;Object(k.d)(e,a,1,f);a=e.subchunkGridSize=h.p.create();for(f=0;3>f;++f)a[f]=Math.ceil(c[f]/d[f]);return e}m(b,a);l(b,null,[{key:"get",value:function(a,c,d,f){return a.memoize.get("sliceview.CompressedSegmentationTextureLayout:"+Object(h.q)(c)+","+(Object(h.q)(d)+","+f),function(){return new b(a,c,d,f)})}}]);return b}(f.a),A=Object(k.c)(new k.b,d.a.UINT32),y=function(a){function b(a,c,d,f){p(this,b);f=n(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,
-f));f.dataType=a;f.subchunkSize=c;f.numChannels=d;f.textureAccessHelper=new k.a("chunkData");return f}m(b,a);l(b,[{key:"defineShader",value:function(a){r(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"defineShader",this).call(this,a);var c=this.textureAccessHelper;c.defineShader(a);var f=function(a){return"compressedSegmentationChunkFormat_"+a};a.addUniform("highp vec3","uSubchunkGridSize");a.addUniform("highp vec3","uSubchunkSize");a.addFragmentCode(t.f);var e=this.dataType,h=Object(t.a)(e);
-e===d.a.UINT64&&a.addFragmentCode(t.l);a.addFragmentCode(c.getAccessor(f("readTextureValue"),"uVolumeChunkSampler",d.a.UINT32));a.addFragmentCode(t.o);a.addFragmentCode(t.n);c="\nfloat "+f("getChannelOffset")+"(int channelIndex) {\n  if (channelIndex == 0) {\n    return "+this.numChannels+".0;\n  }\n  vec4 v = "+f("readTextureValue")+"(float(channelIndex)).value;\n  return uintleToFloat(v.xyz);\n}\n"+h+" getDataValue (int channelIndex) {\n  vec3 chunkPosition = getPositionWithinChunk();\n\n  // TODO: maybe premultiply this and store as uniform.\n  vec3 subchunkGridPosition = floor(chunkPosition / uSubchunkSize);\n  float subchunkGridOffset = getFortranOrderIndex(subchunkGridPosition, uSubchunkGridSize);\n\n  float channelOffset = "+
-f("getChannelOffset")+"(channelIndex);\n\n  // TODO: Maybe just combine this offset into subchunkGridStrides.\n  float subchunkHeaderOffset = subchunkGridOffset * 2.0 + channelOffset;\n\n  vec4 subchunkHeader0 = "+f("readTextureValue")+"(subchunkHeaderOffset).value;\n  vec4 subchunkHeader1 = "+f("readTextureValue")+"(subchunkHeaderOffset + 1.0).value;\n\n  float outputValueOffset = uintleToFloat(subchunkHeader0.xyz) + channelOffset;\n  float encodingBits = unnormalizeUint8(subchunkHeader0[3]);\n  if (encodingBits > 0.0) {\n    vec3 subchunkPosition = floor(min(chunkPosition - subchunkGridPosition * uSubchunkSize, uSubchunkSize - 1.0));\n    float subchunkOffset = getFortranOrderIndex(subchunkPosition, uSubchunkSize);\n    highp float encodedValueBaseOffset = uintleToFloat(subchunkHeader1.xyz) + channelOffset;\n    highp float encodedValueOffset = floor(encodedValueBaseOffset + subchunkOffset * encodingBits / 32.0);\n    vec4 encodedValue = "+
-f("readTextureValue")+"(encodedValueOffset).value;\n    float wordOffset = mod(subchunkOffset * encodingBits, 32.0);\n    // If the value is in the first byte, then 0 <= wordOffset < 8.\n    // We need to mod by 2**encodedBits\n    float wordShifter = pow(2.0, -wordOffset);\n    float encodedValueMod = pow(2.0, encodingBits);\n    float encodedValueShifted;\n    if (wordOffset < 16.0) {\n      encodedValueShifted = dot(unnormalizeUint8(encodedValue.xy), vec2(1.0, 256.0));\n    } else {\n      encodedValueShifted = dot(unnormalizeUint8(encodedValue.zw), vec2(256.0 * 256.0, 256.0 * 256.0 * 256.0));\n    }\n    encodedValueShifted = floor(encodedValueShifted * wordShifter);\n    float decodedValue = mod(encodedValueShifted, encodedValueMod);\n    outputValueOffset += decodedValue * "+
-(this.dataType===d.a.UINT64?"2.0":"1.0")+";\n  }\n  "+h+" result;\n";c=e===d.a.UINT64?c+("\n  result.low = "+f("readTextureValue")+"(outputValueOffset).value;\n  result.high = "+f("readTextureValue")+"(outputValueOffset+1.0).value;\n"):c+("\n  result.value = "+f("readTextureValue")+"(outputValueOffset).value;\n");a.addFragmentCode(c+"\n  return result;\n}\n")}},{key:"setupTextureLayout",value:function(a,b,c){a.uniform3fv(b.uniform("uSubchunkGridSize"),c.subchunkGridSize);this.textureAccessHelper.setupTextureLayout(a,
-b,c)}},{key:"setTextureData",value:function(a,b,c){Object(k.f)(a,b,A,c)}},{key:"getTextureLayout",value:function(a,b,c){return u.get(a,b,this.subchunkSize,c)}},{key:"beginSource",value:function(a,c){r(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"beginSource",this).call(this,a,c);a.uniform3fv(c.uniform("uSubchunkSize"),this.subchunkSize)}}],[{key:"get",value:function(a,c,d,f){var e="sliceview.CompressedSegmentationChunkFormat:"+c+":"+f,g=e+":"+Object(h.q)(d);return a.memoize.get(g,function(){return new b(c,
-d,f,e)})}}]);return b}(g.a),z=function(a){function f(){p(this,f);return n(this,(f.__proto__||Object.getPrototypeOf(f)).apply(this,arguments))}m(f,a);l(f,[{key:"setTextureData",value:function(a){var b=this.data,c=this.chunkFormat,d=this.textureLayout=c.getTextureLayout(a,this.chunkDataSize,b.length);c.setTextureData(a,d,b)}},{key:"getChannelValueAt",value:function(a,f){var e=this.chunkDataSize,h=this.chunkFormat,g=this.data;f=g[f];if(h.dataType===d.a.UINT64){var k=new q.a;Object(b.a)(k,g,f,e,h.subchunkSize,
-a);return k}return Object(c.a)(g,f,e,h.subchunkSize,a)}}]);return f}(g.b),B=function(a){function b(a,c){p(this,b);var f=n(this,(b.__proto__||Object.getPrototypeOf(b)).call(this)),e=c.dataType;if(e!==d.a.UINT64&&e!==d.a.UINT32)throw Error("Unsupported compressed segmentation data type: "+d.a[e]);f.chunkFormat=f.registerDisposer(y.get(a,c.dataType,c.compressedSegmentationBlockSize,c.numChannels));return f}m(b,a);l(b,[{key:"getChunk",value:function(a,b){return new z(a,b)}}]);return b}(f.a);Object(e.c)(function(a,
-b){return null!=b.compressedSegmentationBlockSize?new B(a,b):null})},function(g,e,a){e.a=function(a,e,c,b,d){e=Object(p.a)(a,e,c,b,d,1)+e;return a[e]};var p=a(157)},function(g,e,a){e.a=function(a,e,c,b,d,f){c=Object(p.a)(e,c,b,d,f,2)+c;a.low=e[c];a.high=e[c+1];return a};var p=a(157)},function(g,e,a){a.d(e,"a",function(){return c});var p=a(6),n=a(7),m=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,
-d.key,d)}}return function(b,c,e){c&&a(b.prototype,c);e&&a(b,e);return b}}(),c=function(){function a(b,c,e){e=void 0===e?c:e;if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");this.enumType=b;this.value_=c;this.defaultValue=e;this.changed=new n.a}m(a,[{key:"reset",value:function(){this.value=this.defaultValue}},{key:"restoreState",value:function(a){this.value=Object(p.n)(a,this.enumType)}},{key:"toJSON",value:function(){return this.enumType[this.value_].toLowerCase()}},
-{key:"value",set:function(a){this.value_!==a&&(this.value_=a,this.changed.dispatch())},get:function(){return this.value_}}]);return a}()},function(g,e){},function(g,e,a){function p(a,c){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!c||"object"!==typeof c&&"function"!==typeof c?a:c}function n(a,c){if("function"!==typeof c&&null!==c)throw new TypeError("Super expression must either be null or a function, not "+typeof c);a.prototype=Object.create(c&&
-c.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});c&&(Object.setPrototypeOf?Object.setPrototypeOf(a,c):a.__proto__=c)}function m(a){return a.startsWith("key")?a.substring(3):a.startsWith("digit")||a.startsWith("arrow")?a.substring(5):a}a.d(e,"a",function(){return c});g=a(45);a(290);var c=function(a){function b(a){function c(a,b){for(var f=$jscomp.makeIterator(a.parents),e=f.next();!e.done;e=f.next())e=e.value,void 0!==e.label?d(e.label,e):c(e,b);a=$jscomp.makeIterator(a.bindings.entries());
-for(f=a.next();!f.done;f=a.next()){e=$jscomp.makeIterator(f.value);f=e.next().value;e=e.next().value;var h=f.indexOf(":");f=f.substring(h+1);b.set(f,e.action)}}function d(a,b){l.has(b)||(a={label:a,entries:new Map},c(b,a.entries),l.set(b,a))}if(!(this instanceof b))throw new TypeError("Cannot call a class as a function");var f=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this)),e=f.content;e.classList.add("describe-key-bindings");var g=document.createElement("div");g.classList.add("describe-key-bindings-container");
-var l=new Map;a=$jscomp.makeIterator(a);for(var n=a.next();!n.done;n=a.next()){var A=$jscomp.makeIterator(n.value);n=A.next().value;A=A.next().value;d(n,A)}a=$jscomp.makeIterator(l.values());for(n=a.next();!n.done;n=a.next()){A=n.value;n=document.createElement("h2");n.textContent=A.label;g.appendChild(n);n=document.createElement("div");n.className="dl";A=$jscomp.makeIterator(A.entries);for(var y=A.next();!y.done;y=A.next()){var z=$jscomp.makeIterator(y.value);y=z.next().value;z=z.next().value;var B=
-document.createElement("div"),x=document.createElement("div");x.className="definition-outer-container";B.className="definition-container";var v=document.createElement("div");v.className="dt";v.textContent=y.split("+").map(m).join("+");y=document.createElement("div");y.className="dd";y.textContent=z;B.appendChild(v);B.appendChild(y);n.appendChild(x);x.appendChild(B)}g.appendChild(n)}e.appendChild(g);return f}n(b,a);return b}(g.a)},function(g,e){},function(g,e,a){function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
-return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function m(a){var b=document.createElement("div");b.textContent=a.value;return b}e.b=function(a){var b=document.createElement("div");
-b.className="autocomplete-completion-with-description";b.textContent=a.value;var c=document.createElement("div");c.className="autocomplete-completion-description";c.textContent=a.description||"";b.appendChild(c);return b};a.d(e,"a",function(){return z});g=a(24);var c=a.n(g),b=a(26);g=a(1);var d=a(9),f=a(292),h=a(51),q=a(293),k=a(294),t=a(7),r=a(161),l=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,
-d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),u=function x(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return x(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};a(295);$jscomp.initSymbol();var A=Symbol("autocompleteIndex"),y=h.a.fromObject({arrowdown:{action:"cycle-next-active-completion"},arrowup:{action:"cycle-prev-active-completion"},tab:{action:"choose-active-completion-or-prefix",
-preventDefault:!1},enter:{action:"choose-active-completion",preventDefault:!1},escape:{action:"cancel",preventDefault:!1,stopPropagation:!1}}),z=function(a){function e(a){if(!(this instanceof e))throw new TypeError("Cannot call a class as a function");var d=p(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));d.inputChanged=new t.b;d.prevInputValue="";d.completionsVisible=!1;d.activeCompletionPromise=null;d.activeCompletionCancellationToken=void 0;d.hasFocus=!1;d.completionResult=null;d.dropdownContentsStale=
-!0;d.updateHintScrollPositionTimer=null;d.completionElements=null;d.hasResultForDropdown=!1;d.commonPrefix="";d.activeIndex=-1;d.dropdownStyleStale=!0;d.completer=a.completer;a=void 0===a.delay?200:a.delay;var f=d.scheduleUpdateCompletions=c()(function(){var a=d.activeCompletionCancellationToken=new b.b,c=d.activeCompletionPromise=d.completer(d.value,a);null!==c&&c.then(function(a){d.activeCompletionPromise===c&&(d.setCompletions(a),d.activeCompletionPromise=null)})},a);d.registerDisposer(function(){f.cancel()});
-a=d.element=document.createElement("div");a.className="autocomplete";var g=document.createElement("div");g.className="autocomplete-dropdown-wrapper";var k=d.dropdownElement=document.createElement("div");k.className="autocomplete-dropdown";var l=d.promptElement=document.createElement("label");l.className="autocomplete-prompt";var q=d.inputWrapperElement=document.createElement("div");q.className="autocomplete-input-wrapper";a.appendChild(l);var m=d.inputElement=document.createElement("input");m.type=
-"text";m.autocomplete="off";m.spellcheck=!1;m.className="autocomplete-input";Object(r.a)(l,m);l=d.hintElement=document.createElement("input");l.type="text";l.spellcheck=!1;l.className="autocomplete-hint";l.disabled=!0;q.appendChild(l);q.appendChild(m);g.appendChild(q);g.appendChild(k);a.appendChild(g);d.registerInputHandler();d.handleInputChanged("");d.registerEventListener(d.inputElement,"focus",function(){d.hasFocus||(d.hasFocus=!0,d.dropdownStyleStale=!0,d.updateDropdown())});d.registerEventListener(d.inputElement,
+value:function(a){var b=this.mousePosition.inVoxels.subscribe(function(b){return a(b)},this.onError);return function(){return b.unsubscribe()}}},{key:"setPosition",value:function(a,b){var c=this.ngviewer.navigationState.pose.position;b?(k.g.copy(c.spatialCoordinates,a),c.markSpatialCoordinatesChanged()):c.setVoxelCoordinates(a)}},{key:"showSegment",value:function(a,b){this.getSingleSegmentation(b).displayState.visibleSegments.add(new n.a(a))}},{key:"hideSegment",value:function(a,b){this.getSingleSegmentation(b).displayState.visibleSegments.delete(new n.a(a))}},
+{key:"getShownSegmentsNow",value:function(a){return Array.from(this.getSingleSegmentation(a).displayState.visibleSegments,this.segmentToNumber)}},{key:"getShownSegmentsObservable",value:function(a){var b=this;a=this.getSingleSegmentation(a);return Object(r.a)({s:a.displayState.visibleSegments,r:a},function(a){return Array.from(a,b.segmentToNumber)})}},{key:"setSegmentColor",value:function(a,b,c){this.checkRGB(b);this.getSingleSegmentationColors(c).setSegmentColor(a,b.red,b.green,b.blue)}},{key:"unsetSegmentColor",
+value:function(a,b){this.getSingleSegmentationColors(b).unsetSegmentColor(a)}},{key:"clearCustomSegmentColors",value:function(a){this.getSingleSegmentationColors(a).clearCustomSegmentColors()}},{key:"batchAddAndUpdateSegmentColors",value:function(a,b){this.getSingleSegmentationColors(b).batchUpdate(a)}},{key:"setMeshesToLoad",value:function(a,b){b=this.getSingleSegmentation(b).displayState.visibleSegments;b instanceof m.b?b.setMeshesToLoad(a):this.throwError("visibleSegments property is not wrapped by nehuba. Maybe mesh loading control is not enabled in config (enableMeshLoadingControl?: boolean) ")}},
+{key:"relayout",value:function(){this.ngviewer.layout.container.component.changed.dispatch()}},{key:"redraw",value:function(){this.ngviewer.display.scheduleRedraw()}},{key:"dispose",value:function(){this.ngviewer.dispose();this.ngviewer.display.container[l.b]=void 0}},{key:"applyInitialNgState",value:function(){a.restoreInitialState(this.ngviewer,this.config)}},{key:"hideNeuroglancerUI",value:function(){this.ngviewer.uiConfiguration.showUIControls.value=!1}},{key:"showNeuroglancerUI",value:function(){this.ngviewer.uiConfiguration.showUIControls.value=
+!0}},{key:"restoreState",value:function(b){a.restoreViewerState(this.ngviewer,b,this.config)}},{key:"getSingleSegmentationColors",value:function(a){a=this.getSingleSegmentation(a).displayState.segmentColorHash;if(a instanceof t.a)return a;throw Error("Looks like neuroglancer was not patched and hooked to support custom segment colors. Are you sure you enabled it by `config.globals.useCustomSegmentColors: true` or similar?");}},{key:"getSingleSegmentation",value:function(a){var c=this.ngviewer.layerManager.managedLayers.filter(function(b){return!a||
+!a.name||b.name===a.name}).map(function(a){return a.layer}).filter(function(a){return!!a}).filter(function(a){return a instanceof b.SegmentationUserLayer}).map(function(a){return a}).filter(function(b){return!a||!a.url||b.volumePath===a.url});0===c.length&&this.throwError("No parcellation found");1<c.length&&this.throwError("Ambiguous request. Multiple parcellations found");return c[0]}},{key:"segmentToNumber",value:function(a){0!==a.high&&this.throwError("Segment id number does not fit into 32 bit integer "+
+a.toString(10));return a.low}},{key:"throwError",value:function(a){a=Error(a);var b=this.errorHandler;b&&b(a);throw a;}},{key:"checkRGB",value:function(a){this.checkRGBValue(a.red,"red");this.checkRGBValue(a.green,"green");this.checkRGBValue(a.blue,"blue")}},{key:"checkRGBValue",value:function(a,b){Number.isInteger(a)||this.throwError("Provided color value "+a+" for "+b+" channel is not an integer (0 to 255).");(0>a||255<a)&&this.throwError("Provided color value "+a+" for "+b+" channel is not in expected range of 0 to 255.")}},
+{key:"crossSectionBackground",get:function(){return this.ngviewer.crossSectionBackgroundColor.value},set:function(a){this.ngviewer.crossSectionBackgroundColor.value=a}},{key:"config",get:function(){return this._config},set:function(a){this._config=a;this.ngviewer.display.container[l.b]=this._config}},{key:"createdSegmentationUserLayers",get:function(){return this._createdSegmentationUserLayers.unseen()}}],[{key:"create",value:function(b,c){b=b||{};var f=document.getElementById("neuroglancer-container");
+if(f[l.b])throw b=Error("Viewer is already created in this container: "+f),c&&c(b),b;f[l.b]=b;Object(e.a)(b);Object(g.b)(f,b);f=Object(d.a)();b.hideNeuroglancerUI&&(f.uiConfiguration.showUIControls.value=!1);this.setCrossSectionBackgroundFromConfig(f,b);Object(g.a)(f,b);0===f.layerManager.managedLayers.length&&a.restoreInitialState(f,b);return new a(f,b,c)}},{key:"setCrossSectionBackgroundFromConfig",value:function(a,b){if(b=b.dataset&&b.dataset.imageBackground||b.crossSectionBackground)a.crossSectionBackgroundColor.value=
+b}},{key:"restoreInitialState",value:function(a,b){var c=b.dataset&&b.dataset.initialNgState;c&&this.restoreViewerState(a,c,b)}},{key:"restoreViewerState",value:function(b,c,d){b.state.reset();b.state.restoreState(c);c.crossSectionBackgroundColor||a.setCrossSectionBackgroundFromConfig(b,d)}}]);return a}()},function(h,f,a){f.a=function(){var a=window.viewer=Object(c.a)();Object(n.a)(a.inputEventBindings);var e=a.registerDisposer(new b.a(a.state));a.registerDisposer(e.parseError.changed.add(function(){var a=
+e.parseError.value;void 0!==a&&((new q.a).setErrorMessage("Error parsing state: "+a.message),console.log("Error parsing state",a));e.parseError}));e.updateFromUrlHash();Object(p.a)(a);Object(p.b)(a);return a};var q=a(31),p=a(312),n=a(313),c=a(314),b=a(178)},function(h,f,a){f.a=function(a){a.registerEventListener(document,"copy",function(b){if(!Object(q.a)(b)){var c=Object(n.b)(a.state).value;b.clipboardData.setData("text/plain",JSON.stringify(c,void 0,"  "));b.preventDefault()}})};f.b=function(a){a.registerEventListener(document,
+"paste",function(b){if(!Object(q.a)(b)){var c=b.clipboardData.getData("text/plain").match(/^[\[\]{}()\s,]*(\d+(?:\.\d+)?)[,\s]+(\d+(?:\.\d+)?)[,\s]+(\d+(?:\.\d+)?)[\[\]{}()\s,]*$/);c=null!==c?p.s.fromValues(parseFloat(c[1]),parseFloat(c[2]),parseFloat(c[3])):void 0;void 0!==c&&a.navigationState.position.setVoxelCoordinates(c);b.preventDefault()}})};var q=a(180),p=a(2),n=a(66)},function(h,f,a){function q(){if(void 0===d){var a=new b.a;a.set("keyl","recolor");a.set("keyx","clear-segments");a.set("keys",
+"toggle-show-slices");a.set("keyb","toggle-scale-bar");a.set("shift+keyb","toggle-default-annotations");a.set("keya","toggle-axis-lines");a.set("keyo","toggle-orthographic-projection");for(var c=1;9>=c;++c)a.set("digit"+c,"toggle-layer-"+c),a.set("control+digit"+c,"select-layer-"+c);a.set("keyn","add-layer");a.set("keyh","help");a.set("space","toggle-layout");a.set("shift+space","toggle-layout-alternative");d=a}return d}function p(){void 0===e&&(e=b.a.fromObject({arrowleft:"x-",arrowright:"x+",arrowup:"y-",
+arrowdown:"y+",comma:"z-",period:"z+",keyz:"snap","control+equal":"zoom-in","control+shift+equal":"zoom-in","control+minus":"zoom-out",keyr:"rotate-relative-z-",keye:"rotate-relative-z+","shift+arrowdown":"rotate-relative-x-","shift+arrowup":"rotate-relative-x+","shift+arrowleft":"rotate-relative-y-","shift+arrowright":"rotate-relative-y+","at:control+wheel":{action:"zoom-via-wheel",preventDefault:!0},"at:wheel":{action:"z+1-via-wheel",preventDefault:!0},"at:shift+wheel":{action:"z+10-via-wheel",
+preventDefault:!0},"at:dblclick0":"select","at:control+mousedown0":"annotate","at:mousedown2":"move-to-mouse-position","at:control+mousedown2":"select-annotation"},{label:"All Data Panels"}));return e}function n(){void 0===g&&(g=b.a.fromObject({"at:mousedown0":{action:"rotate-via-mouse-drag",stopPropagation:!0},"at:shift+mousedown0":{action:"translate-via-mouse-drag",stopPropagation:!0}},{parents:[[p(),Number.NEGATIVE_INFINITY]]}));return g}function c(){void 0===l&&(l=b.a.fromObject({"at:mousedown0":{action:"translate-via-mouse-drag",
+stopPropagation:!0},"at:shift+mousedown0":{action:"rotate-via-mouse-drag",stopPropagation:!0}},{parents:[[p(),Number.NEGATIVE_INFINITY]]}));return l}f.a=function(a){a.global.addParent(q(),Number.NEGATIVE_INFINITY);a.sliceView.addParent(c(),Number.NEGATIVE_INFINITY);a.perspectiveView.addParent(n(),Number.NEGATIVE_INFINITY)};var b=a(25),d,e,g,l},function(h,f,a){f.a=function(a){Object(c.a)();Object(c.b)();try{var b=new p.a(document.getElementById("neuroglancer-container"));return new n.a(b,a)}catch(e){throw q.a.showMessage("Error: "+
+e.message),e;}};a(316);var q=a(31),p=a(147),n=a(321),c=a(358);a(315)},function(h,f){},function(h,f,a){a(317);a(318)},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+
+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}h=a(181);var c=a(26);f=a(33);var b=a(1),d=a(2),e=a(14),g=a(116),l=a(21),k=function y(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return y(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},
+t=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),m=function(a){function b(a,c,d,e){q(this,b);var f=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));f.chunkDataSize=c;f.channelStride=c[0]*c[1]*c[2];Object(g.e)(f,a,d,c[0],c[1],c[2]*e);return f}n(b,a);t(b,null,[{key:"get",value:function(a,c,e,g){return a.memoize.get("sliceview.UncompressedTextureLayout:"+
+Object(d.t)(c)+","+(e+","+g),function(){return new b(a,c,e,g)})}}]);return b}(b.a),r=function(a){function b(a,c,d,e){q(this,b);a=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,e));a.dataType=c;a.numChannels=d;Object(g.c)(a,c);a.textureAccessHelper=new g.a("chunkData");return a}n(b,a);t(b,[{key:"defineShader",value:function(a){k(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"defineShader",this).call(this,a);var c=this.textureAccessHelper;c.defineShader(a);a.addFragmentCode(c.getAccessor("readVolumeData",
+"uVolumeChunkSampler",this.dataType));1<this.numChannels?(a.addUniform("highp float","uChannelStride"),a.addFragmentCode("\nfloat getChannelOffset(int channelIndex) {\n  return float(channelIndex) * uChannelStride;\n}\n")):a.addFragmentCode("float getChannelOffset(int channelIndex) { return 0.0; }");a.addFragmentCode("\nfloat getIndexIntoChunk (int channelIndex) {\n  vec3 chunkDataPosition = getPositionWithinChunk();\n  return chunkDataPosition.x + uChunkDataSize.x * (chunkDataPosition.y + uChunkDataSize.y * chunkDataPosition.z) + getChannelOffset(channelIndex);\n}\n");
+c=Object(l.a)(this.dataType);a.addFragmentCode("\n"+c+" getDataValue (int channelIndex) {\n  return readVolumeData(getIndexIntoChunk(channelIndex));\n}\n")}},{key:"setupTextureLayout",value:function(a,b,c){1<this.numChannels&&a.uniform1f(b.uniform("uChannelStride"),c.channelStride);this.textureAccessHelper.setupTextureLayout(a,b,c)}},{key:"getTextureLayout",value:function(a,b){return m.get(a,b,this.texelsPerElement,this.numChannels)}},{key:"setTextureData",value:function(a,b,c){Object(g.f)(a,b,this,
+c)}}],[{key:"get",value:function(a,c,d){var e="sliceview.UncompressedChunkFormat:"+c+":"+d;return a.memoize.get(e,function(){return new b(a,c,d,e)})}}]);return b}(h.a),u=function(a){function b(){q(this,b);return p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}n(b,a);t(b,[{key:"setTextureData",value:function(a){var b=this.source,c=b.chunkFormatHandler,d=c.chunkFormat,e;this.textureLayout=this.chunkDataSize===b.spec.chunkDataSize?e=c.textureLayout.addRef():e=d.getTextureLayout(a,
+this.chunkDataSize);this.chunkFormat.setTextureData(a,e,this.data)}},{key:"getChannelValueAt",value:function(a,b){var d=this.chunkDataSize;b=a[0]+d[0]*(a[1]+d[1]*(a[2]+d[2]*b));d=this.chunkFormat.dataType;a=this.data;switch(d){case c.a.UINT8:case c.a.FLOAT32:case c.a.UINT16:case c.a.UINT32:return a[b];case c.a.UINT64:return b*=2,new e.a(a[b],a[b+1])}throw Error("Invalid data type: "+d);}}]);return b}(h.b),v=function(a){function b(a,c){q(this,b);var d=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));
+d.chunkFormat=d.registerDisposer(r.get(a,c.dataType,c.numChannels));d.textureLayout=d.registerDisposer(d.chunkFormat.getTextureLayout(a,c.chunkDataSize));return d}n(b,a);t(b,[{key:"getChunk",value:function(a,b){return new u(a,b)}}]);return b}(b.a);Object(f.c)(function(a,b){return null==b.compressedSegmentationBlockSize?new v(a,b):null})},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
+return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}var c=a(319),b=a(320);h=a(181);var d=a(26);f=a(33);var e=a(1),g=a(2),l=a(14),k=a(116),t=a(21),m=function z(a,b,c){null===a&&(a=Function.prototype);
+var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return z(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},r=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),u=function(a){function b(a,c,d,e){q(this,b);var f=p(this,(b.__proto__||
+Object.getPrototypeOf(b)).call(this));f.chunkDataSize=c;f.subchunkSize=d;Object(k.d)(f,a,1,e);a=f.subchunkGridSize=g.s.create();for(e=0;3>e;++e)a[e]=Math.ceil(c[e]/d[e]);return f}n(b,a);r(b,null,[{key:"get",value:function(a,c,d,e){return a.memoize.get("sliceview.CompressedSegmentationTextureLayout:"+Object(g.t)(c)+","+(Object(g.t)(d)+","+e),function(){return new b(a,c,d,e)})}}]);return b}(e.a),v=Object(k.c)(new k.b,d.a.UINT32),w=function(a){function b(a,c,d,e){q(this,b);e=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,
+e));e.dataType=a;e.subchunkSize=c;e.numChannels=d;e.textureAccessHelper=new k.a("chunkData");return e}n(b,a);r(b,[{key:"defineShader",value:function(a){m(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"defineShader",this).call(this,a);var c=this.textureAccessHelper;c.defineShader(a);var e=function(a){return"compressedSegmentationChunkFormat_"+a};a.addUniform("highp vec3","uSubchunkGridSize");a.addUniform("highp vec3","uSubchunkSize");a.addFragmentCode(t.g);var g=this.dataType,f=Object(t.a)(g);
+g===d.a.UINT64&&a.addFragmentCode(t.n);a.addFragmentCode(c.getAccessor(e("readTextureValue"),"uVolumeChunkSampler",d.a.UINT32));a.addFragmentCode(t.q);a.addFragmentCode(t.p);c="\nfloat "+e("getChannelOffset")+"(int channelIndex) {\n  if (channelIndex == 0) {\n    return "+this.numChannels+".0;\n  }\n  vec4 v = "+e("readTextureValue")+"(float(channelIndex)).value;\n  return uintleToFloat(v.xyz);\n}\n"+f+" getDataValue (int channelIndex) {\n  vec3 chunkPosition = getPositionWithinChunk();\n\n  // TODO: maybe premultiply this and store as uniform.\n  vec3 subchunkGridPosition = floor(chunkPosition / uSubchunkSize);\n  float subchunkGridOffset = getFortranOrderIndex(subchunkGridPosition, uSubchunkGridSize);\n\n  float channelOffset = "+
+e("getChannelOffset")+"(channelIndex);\n\n  // TODO: Maybe just combine this offset into subchunkGridStrides.\n  float subchunkHeaderOffset = subchunkGridOffset * 2.0 + channelOffset;\n\n  vec4 subchunkHeader0 = "+e("readTextureValue")+"(subchunkHeaderOffset).value;\n  vec4 subchunkHeader1 = "+e("readTextureValue")+"(subchunkHeaderOffset + 1.0).value;\n\n  float outputValueOffset = uintleToFloat(subchunkHeader0.xyz) + channelOffset;\n  float encodingBits = unnormalizeUint8(subchunkHeader0[3]);\n  if (encodingBits > 0.0) {\n    vec3 subchunkPosition = floor(min(chunkPosition - subchunkGridPosition * uSubchunkSize, uSubchunkSize - 1.0));\n    float subchunkOffset = getFortranOrderIndex(subchunkPosition, uSubchunkSize);\n    highp float encodedValueBaseOffset = uintleToFloat(subchunkHeader1.xyz) + channelOffset;\n    highp float encodedValueOffset = floor(encodedValueBaseOffset + subchunkOffset * encodingBits / 32.0);\n    vec4 encodedValue = "+
+e("readTextureValue")+"(encodedValueOffset).value;\n    float wordOffset = mod(subchunkOffset * encodingBits, 32.0);\n    // If the value is in the first byte, then 0 <= wordOffset < 8.\n    // We need to mod by 2**encodedBits\n    float wordShifter = pow(2.0, -wordOffset);\n    float encodedValueMod = pow(2.0, encodingBits);\n    float encodedValueShifted;\n    if (wordOffset < 16.0) {\n      encodedValueShifted = dot(unnormalizeUint8(encodedValue.xy), vec2(1.0, 256.0));\n    } else {\n      encodedValueShifted = dot(unnormalizeUint8(encodedValue.zw), vec2(256.0 * 256.0, 256.0 * 256.0 * 256.0));\n    }\n    encodedValueShifted = floor(encodedValueShifted * wordShifter);\n    float decodedValue = mod(encodedValueShifted, encodedValueMod);\n    outputValueOffset += decodedValue * "+
+(this.dataType===d.a.UINT64?"2.0":"1.0")+";\n  }\n  "+f+" result;\n";c=g===d.a.UINT64?c+("\n  result.low = "+e("readTextureValue")+"(outputValueOffset).value;\n  result.high = "+e("readTextureValue")+"(outputValueOffset+1.0).value;\n"):c+("\n  result.value = "+e("readTextureValue")+"(outputValueOffset).value;\n");a.addFragmentCode(c+"\n  return result;\n}\n")}},{key:"setupTextureLayout",value:function(a,b,c){a.uniform3fv(b.uniform("uSubchunkGridSize"),c.subchunkGridSize);this.textureAccessHelper.setupTextureLayout(a,
+b,c)}},{key:"setTextureData",value:function(a,b,c){Object(k.f)(a,b,v,c)}},{key:"getTextureLayout",value:function(a,b,c){return u.get(a,b,this.subchunkSize,c)}},{key:"beginSource",value:function(a,c){m(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"beginSource",this).call(this,a,c);a.uniform3fv(c.uniform("uSubchunkSize"),this.subchunkSize)}}],[{key:"get",value:function(a,c,d,e){var f="sliceview.CompressedSegmentationChunkFormat:"+c+":"+e,k=f+":"+Object(g.t)(d);return a.memoize.get(k,function(){return new b(c,
+d,e,f)})}}]);return b}(h.a),y=function(a){function e(){q(this,e);return p(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}n(e,a);r(e,[{key:"setTextureData",value:function(a){var b=this.data,c=this.chunkFormat,d=this.textureLayout=c.getTextureLayout(a,this.chunkDataSize,b.length);c.setTextureData(a,d,b)}},{key:"getChannelValueAt",value:function(a,e){var g=this.chunkDataSize,f=this.chunkFormat,k=this.data;e=k[e];if(f.dataType===d.a.UINT64){var h=new l.a;Object(b.a)(h,k,e,g,f.subchunkSize,
+a);return h}return Object(c.a)(k,e,g,f.subchunkSize,a)}}]);return e}(h.b),x=function(a){function b(a,c){q(this,b);var e=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this)),g=c.dataType;if(g!==d.a.UINT64&&g!==d.a.UINT32)throw Error("Unsupported compressed segmentation data type: "+d.a[g]);e.chunkFormat=e.registerDisposer(w.get(a,c.dataType,c.compressedSegmentationBlockSize,c.numChannels));return e}n(b,a);r(b,[{key:"getChunk",value:function(a,b){return new y(a,b)}}]);return b}(e.a);Object(f.c)(function(a,
+b){return null!=b.compressedSegmentationBlockSize?new x(a,b):null})},function(h,f,a){f.a=function(a,f,c,b,d){f=Object(q.a)(a,f,c,b,d,1)+f;return a[f]};var q=a(182)},function(h,f,a){f.a=function(a,f,c,b,d,e){c=Object(q.a)(f,c,b,d,e,2)+c;a.low=f[c];a.high=f[c+1];return a};var q=a(182)},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
+return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a,b){for(var c=$jscomp.makeIterator(X),d=c.next();!d.done;d=c.next()){d=d.value;var e=b[d];void 0!==e&&(a[d].value=e)}}
+function b(a){var b=new z.a,c=b.element;c.classList.add("neuroglancer-viewer-context-menu");var d=function(a,d){a=b.registerDisposer(new Z.a(d,{label:a}));a.element.classList.add("neuroglancer-viewer-context-menu-limit-widget");c.appendChild(a.element)};d("GPU memory limit",a.chunkQueueManager.capacities.gpuMemory.sizeLimit);d("System memory limit",a.chunkQueueManager.capacities.systemMemory.sizeLimit);d("Concurrent chunk requests",a.chunkQueueManager.capacities.download.itemLimit);d=function(a,d){var e=
+document.createElement("label");e.textContent=a;a=b.registerDisposer(new x.c(d));e.appendChild(a.element);c.appendChild(e)};d("Show axis lines",a.showAxisLines);d("Show scale bar",a.showScaleBar);d("Show cross sections in 3-d",a.showPerspectiveSliceViews);d("Show default annotations",a.showDefaultAnnotations);return b}a.d(f,"a",function(){return Za});h=a(10);var d=a.n(h),e=a(23),g=a(150);h=a(82);var l=a(41),k=a(324),t=a(18),m=a(185),r=a(333),u=a(27),v=a(57),w=a(47),y=a(31),x=a(35),A=a(9),z=a(188),
+D=a(342),E=a(344),G=a(189),C=a(348),B=a(79),F=a(164);f=a(1);var L=a(8),I=a(25),O=a(2),M=a(60),P=a(7),N=a(66),S=a(29),U=a(354),Z=a(356),H=a(120),Q=a(53),aa=a(109),ba=a(15),ka=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();a(357);a(45);a(83);var fa=function(a){function b(a){q(this,b);var c=p(this,(b.__proto__||
+Object.getPrototypeOf(b)).call(this));c.gl=a;c.worker=new Worker("chunk_worker.bundle.js");c.chunkQueueManager=c.registerDisposer(new e.d(new ba.a(c.worker),c.gl,{gpuMemory:new e.a({defaultItemLimit:1E6,defaultSizeLimit:1E9}),systemMemory:new e.a({defaultItemLimit:1E7,defaultSizeLimit:2E9}),download:new e.a({defaultItemLimit:32,defaultSizeLimit:Number.POSITIVE_INFINITY})}));c.chunkManager=c.registerDisposer(new e.c(c.chunkQueueManager));c.chunkQueueManager.registerDisposer(function(){return c.worker.terminate()});
+return c}n(b,a);ka(b,[{key:"rpc",get:function(){return this.chunkQueueManager.rpc}}]);return b}(f.a);(function(a){function b(){q(this,b);var a=p(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments));a.global=new M.a;return a}n(b,a);return b})(h.b);var R=["showHelpButton","showEditStateButton","showLayerPanel","showLocation","showAnnotationToolStatus"],X=[].concat(["showUIControls","showPanelBorders"],$jscomp.arrayFromIterable(R)),Ka=function(a){function b(){q(this,b);var a=p(this,(b.__proto__||
+Object.getPrototypeOf(b)).apply(this,arguments));a.showUIControls=new x.b(!0);a.showPanelBorders=new x.b(!0);return a}n(b,a);return b}(function Wb(){q(this,Wb);this.showHelpButton=new x.b(!0);this.showEditStateButton=new x.b(!0);this.showLayerPanel=new x.b(!0);this.showLocation=new x.b(!0);this.showAnnotationToolStatus=new x.b(!0)}),Ba={showLayerDialog:!0,resetStateWhenEmpty:!0},Za=function(a){function e(a,b){b=void 0===b?{}:b;q(this,e);var f=p(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));
+f.display=a;f.navigationState=f.registerDisposer(new v.e);f.perspectiveNavigationState=new v.e(new v.g(f.navigationState.position),1);f.mouseState=new t.e;f.layerManager=f.registerDisposer(new t.a);f.selectedLayer=f.registerDisposer(new t.h(f.layerManager.addRef()));f.showAxisLines=new x.b(!0,!0);f.showScaleBar=new x.b(!0,!0);f.showPerspectiveSliceViews=new x.b(!0,!0);f.visibleLayerRoles=Object(t.k)();f.showDefaultAnnotations=new x.b(!0,!0);f.crossSectionBackgroundColor=new F.a(O.s.fromValues(.5,
+.5,.5));f.scaleBarOptions=new Q.c;f.layerSelectedValues=f.registerDisposer(new t.c(f.layerManager,f.mouseState));f.resetInitiated=new P.a;f.state=new N.a;f.uiControlVisibility={};f.visible=!0;var k=b,h=void 0===k.dataContext?new fa(a.gl):k.dataContext,n=void 0===k.visibility?new S.b(S.b.VISIBLE):k.visibility,r=void 0===k.inputEventBindings?{global:new M.a,sliceView:new M.a,perspectiveView:new M.a}:k.inputEventBindings,z=void 0===k.element?a.makeCanvasOverlayElement():k.element,y=void 0===k.dataSourceProvider?
+Object(l.a)({credentialsManager:g.a}):k.dataSourceProvider;k=void 0===k.uiConfiguration?new Ka:k.uiConfiguration;f.visibility=n;f.inputEventBindings=r;f.element=z;f.dataSourceProvider=y;f.uiConfiguration=k;f.registerDisposer(function(){return Object(L.b)(f.element)});f.dataContext=f.registerDisposer(h);c(k,b);h=Object.assign({},Ba,b);b=h.resetStateWhenEmpty;h=h.showLayerDialog;n=$jscomp.makeIterator(R);for(r=n.next();!r.done;r=n.next())r=r.value,f.uiControlVisibility[r]=f.makeUiControlVisibilityState(r);
+f.registerDisposer(f.uiConfiguration.showPanelBorders.changed.add(function(){f.updateShowBorders();f.display.onResize()}));f.showLayerDialog=h;f.resetStateWhenEmpty=b;f.layerSpecification=new u.c(f.dataSourceProvider,f.layerManager,f.chunkManager,f.layerSelectedValues,f.navigationState.voxelSize);f.registerDisposer(a.updateStarted.add(function(){f.onUpdateDisplay()}));f.registerDisposer(a.updateFinished.add(function(){f.onUpdateDisplayFinished()}));f.showDefaultAnnotations.changed.add(function(){f.showDefaultAnnotations.value?
+f.visibleLayerRoles.add(t.g.DEFAULT_ANNOTATION):f.visibleLayerRoles.delete(t.g.DEFAULT_ANNOTATION)});b=f.state;b.add("layers",f.layerSpecification);b.add("navigation",f.navigationState);b.add("showAxisLines",f.showAxisLines);b.add("showScaleBar",f.showScaleBar);b.add("showDefaultAnnotations",f.showDefaultAnnotations);b.add("perspectiveOrientation",f.perspectiveNavigationState.pose.orientation);b.add("perspectiveZoom",f.perspectiveNavigationState.zoomFactor);b.add("showSlices",f.showPerspectiveSliceViews);
+b.add("gpuMemoryLimit",f.dataContext.chunkQueueManager.capacities.gpuMemory.sizeLimit);b.add("systemMemoryLimit",f.dataContext.chunkQueueManager.capacities.systemMemory.sizeLimit);b.add("concurrentDownloads",f.dataContext.chunkQueueManager.capacities.download.itemLimit);b.add("selectedLayer",f.selectedLayer);b.add("crossSectionBackgroundColor",f.crossSectionBackgroundColor);f.registerDisposer(f.navigationState.changed.add(function(){f.handleNavigationStateChanged()}));f.layerManager.initializePosition(f.navigationState.position);
+f.registerDisposer(f.layerSpecification.voxelCoordinatesSet.add(function(a){f.navigationState.position.setVoxelCoordinates(a)}));f.registerDisposer(f.layerSpecification.spatialCoordinatesSet.add(function(a){var b=f.navigationState.position;O.s.copy(b.spatialCoordinates,a);b.markSpatialCoordinatesChanged()}));h=f.registerCancellable(d()(function(){!f.wasDisposed&&0===f.layerManager.managedLayers.length&&f.resetStateWhenEmpty&&(f.navigationState.reset(),f.perspectiveNavigationState.pose.orientation.reset(),
+f.perspectiveNavigationState.zoomFactor.reset(),f.resetInitiated.dispatch(),!w.b&&f.showLayerDialog&&f.visibility.visible&&new m.a(f.layerSpecification))}));f.layerManager.layersChanged.add(h);h();f.registerDisposer(f.dataContext.chunkQueueManager.visibleChunksChanged.add(function(){f.layerSelectedValues.handleLayerChange()}));f.registerDisposer(f.dataContext.chunkQueueManager.visibleChunksChanged.add(function(){f.visible&&a.scheduleRedraw()}));f.makeUI();f.updateShowBorders();b.add("layout",f.layout);
+f.registerActionListeners();f.registerEventActionBindings();f.registerDisposer(Object(G.a)(z,f.navigationState.position));f.registerDisposer(new E.a(f.mouseState,f.layerManager,f.navigationState.voxelSize));return f}n(e,a);ka(e,[{key:"makeUiControlVisibilityState",value:function(a){return this.registerDisposer(Object(A.g)(function(a,b){return a&&b},this.uiConfiguration.showUIControls,this.uiConfiguration[a]))}},{key:"updateShowBorders",value:function(){var a=this.element;this.uiConfiguration.showPanelBorders.value?
+a.classList.add("neuroglancer-show-panel-borders"):a.classList.remove("neuroglancer-show-panel-borders")}},{key:"makeUI",value:function(){var a=this,c=this.element;c.classList.add("neuroglancer-viewer");c.classList.add("neuroglancer-noselect");c.style.display="flex";c.style.flexDirection="column";var d=document.createElement("div");d.title="Right click for settings";d.classList.add("neuroglancer-viewer-top-row");(this.contextMenu=this.registerDisposer(b(this))).registerParent(d);d.style.display="flex";
+d.style.flexDirection="row";d.style.alignItems="stretch";var e=this.registerDisposer(new H.c(document.createElement("div"),this.navigationState.voxelSize));this.registerDisposer(new x.a(this.uiControlVisibility.showLocation,e.element));d.appendChild(e.element);e=this.registerDisposer(new H.b(this.navigationState.position));this.registerDisposer(new x.a(this.uiControlVisibility.showLocation,e.element));d.appendChild(e.element);e=this.registerDisposer(new H.a(document.createElement("div"),this.mouseState,
+this.navigationState.voxelSize));e.element.style.flex="1";e.element.style.alignSelf="center";this.registerDisposer(new x.a(this.uiControlVisibility.showLocation,e.element));d.appendChild(e.element);e=this.registerDisposer(new U.a(this.selectedLayer));d.appendChild(e.element);this.registerDisposer(new x.a(this.uiControlVisibility.showAnnotationToolStatus,e.element));e=Object(aa.a)("{}","Edit JSON state");this.registerEventListener(e,"click",function(){a.editJsonState()});this.registerDisposer(new x.a(this.uiControlVisibility.showEditStateButton,
+e));d.appendChild(e);e=Object(aa.a)("?","Help");this.registerEventListener(e,"click",function(){a.showHelpDialog()});this.registerDisposer(new x.a(this.uiControlVisibility.showHelpButton,e));d.appendChild(e);this.registerDisposer(new x.a(Object(A.g)(function(a){for(var b=[],c=0;c<arguments.length;++c)b[c-0]=arguments[c];return b.reduce(function(a,b){return a||b},!1)},this.uiControlVisibility.showHelpButton,this.uiControlVisibility.showEditStateButton,this.uiControlVisibility.showLocation,this.uiControlVisibility.showAnnotationToolStatus),
+d));c.appendChild(d);d=document.createElement("div");d.style.display="flex";d.style.flex="1";d.style.flexDirection="row";this.layout=this.registerDisposer(new r.a(this,"4panel"));d.appendChild(this.layout.element);d.appendChild(this.registerDisposer(new D.a(this.selectedLayer.addRef())).element);this.registerDisposer(this.selectedLayer.changed.add(function(){return a.display.onResize()}));c.appendChild(d);this.display.onResize();d=function(){var b=a.visibility.visible;b!==a.visible&&(c.style.visibility=
+b?"inherit":"hidden",a.visible=b)};d();this.registerDisposer(this.visibility.changed.add(d))}},{key:"registerEventActionBindings",value:function(){var a=this.element;this.registerDisposer(new M.b(a,this.inputEventMap));this.registerDisposer(new B.a(a))}},{key:"bindAction",value:function(a,b){this.registerDisposer(Object(I.c)(this.element,a,b))}},{key:"registerActionListeners",value:function(){for(var a=this,b={},c=$jscomp.makeIterator(["recolor","clear-segments"]),d=c.next();!d.done;b={action:b.action},
+d=c.next())b.action=d.value,this.bindAction(b.action,function(b){return function(){a.layerManager.invokeAction(b.action)}}(b));b={};c=$jscomp.makeIterator(["select"]);for(d=c.next();!d.done;b={action$321:b.action$321},d=c.next())b.action$321=d.value,this.bindAction(b.action$321,function(b){return function(){a.mouseState.updateUnconditionally();a.layerManager.invokeAction(b.action$321)}}(b));this.bindAction("help",function(){return a.showHelpDialog()});for(d={i:1};9>=d.i;d={i:d.i},++d.i)this.bindAction("toggle-layer-"+
+d.i,function(b){return function(){var c=b.i-1,d=a.layerManager.managedLayers;c<d.length&&(c=d[c],c.setVisible(!c.visible))}}(d)),this.bindAction("select-layer-"+d.i,function(b){return function(){var c=b.i-1,d=a.layerManager.managedLayers;c<d.length&&(a.selectedLayer.layer=d[c],a.selectedLayer.visible=!0)}}(d));this.bindAction("annotate",function(){var b=a.selectedLayer.layer;if(void 0===b)y.a.showTemporaryMessage("The annotate command requires a layer to be selected.");else{var c=b.layer;null===c||
+void 0===c.tool.value?y.a.showTemporaryMessage("The selected layer ("+JSON.stringify(b.name)+") does not have an active annotation tool."):c.tool.value.trigger(a.mouseState)}});this.bindAction("toggle-axis-lines",function(){return a.showAxisLines.toggle()});this.bindAction("toggle-scale-bar",function(){return a.showScaleBar.toggle()});this.bindAction("toggle-default-annotations",function(){return a.showDefaultAnnotations.toggle()});this.bindAction("toggle-show-slices",function(){return a.showPerspectiveSliceViews.toggle()})}},
+{key:"showHelpDialog",value:function(){var a=this.inputEventBindings;new k.a([["Global",a.global],["Slice View",a.sliceView],["Perspective View",a.perspectiveView]])}},{key:"editJsonState",value:function(){new C.a(this)}},{key:"onUpdateDisplay",value:function(){this.visible&&(this.dataContext.chunkQueueManager.chunkUpdateDeadline=null)}},{key:"onUpdateDisplayFinished",value:function(){this.visible&&this.mouseState.updateIfStale()}},{key:"handleNavigationStateChanged",value:function(){if(this.visible){var a=
+this.dataContext.chunkQueueManager;null===a.chunkUpdateDeadline&&(a.chunkUpdateDeadline=Date.now()+10)}this.mouseState.stale=!0}},{key:"chunkManager",get:function(){return this.dataContext.chunkManager}},{key:"chunkQueueManager",get:function(){return this.dataContext.chunkQueueManager}},{key:"inputEventMap",get:function(){return this.inputEventBindings.global}},{key:"gl",get:function(){return this.display.gl}}]);return e}(f.a)},function(h,f,a){f.c="perspective_view/PerspectiveView";f.a="perspective_view/addLayer";
+f.b="perspective_view/removeLayer"},function(h,f){},function(h,f,a){function q(a,c){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!c||"object"!==typeof c&&"function"!==typeof c?a:c}function p(a,c){if("function"!==typeof c&&null!==c)throw new TypeError("Super expression must either be null or a function, not "+typeof c);a.prototype=Object.create(c&&c.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});c&&(Object.setPrototypeOf?
+Object.setPrototypeOf(a,c):a.__proto__=c)}function n(a){return a.startsWith("key")?a.substring(3):a.startsWith("digit")||a.startsWith("arrow")?a.substring(5):a}a.d(f,"a",function(){return c});h=a(47);a(325);var c=function(a){function b(a){function c(a,b){for(var e=$jscomp.makeIterator(a.parents),g=e.next();!g.done;g=e.next())g=g.value,void 0!==g.label?d(g.label,g):c(g,b);a=$jscomp.makeIterator(a.bindings.entries());for(e=a.next();!e.done;e=a.next()){g=$jscomp.makeIterator(e.value);e=g.next().value;
+g=g.next().value;var f=e.indexOf(":");e=e.substring(f+1);b.set(e,g.action)}}function d(a,b){r.has(b)||(a={label:a,entries:new Map},c(b,a.entries),r.set(b,a))}if(!(this instanceof b))throw new TypeError("Cannot call a class as a function");var e=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this)),f=e.content;f.classList.add("describe-key-bindings");var h=document.createElement("div");h.classList.add("describe-key-bindings-container");var r=new Map;a=$jscomp.makeIterator(a);for(var p=a.next();!p.done;p=
+a.next()){var v=$jscomp.makeIterator(p.value);p=v.next().value;v=v.next().value;d(p,v)}a=$jscomp.makeIterator(r.values());for(p=a.next();!p.done;p=a.next()){v=p.value;p=document.createElement("h2");p.textContent=v.label;h.appendChild(p);p=document.createElement("div");p.className="dl";v=$jscomp.makeIterator(v.entries);for(var w=v.next();!w.done;w=v.next()){var y=$jscomp.makeIterator(w.value);w=y.next().value;y=y.next().value;var x=document.createElement("div"),A=document.createElement("div");A.className=
+"definition-outer-container";x.className="definition-container";var z=document.createElement("div");z.className="dt";z.textContent=w.split("+").map(n).join("+");w=document.createElement("div");w.className="dd";w.textContent=y;x.appendChild(z);x.appendChild(w);p.appendChild(A);A.appendChild(x)}h.appendChild(p)}f.appendChild(h);return e}p(b,a);return b}(h.a)},function(h,f){},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||
+"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function n(a){var b=document.createElement("div");b.textContent=a.value;return b}f.b=function(a){var b=document.createElement("div");b.className=
+"autocomplete-completion-with-description";b.textContent=a.value;var c=document.createElement("div");c.className="autocomplete-completion-description";c.textContent=a.description||"";b.appendChild(c);return b};a.d(f,"a",function(){return y});h=a(10);var c=a.n(h),b=a(32);h=a(1);var d=a(8),e=a(327),g=a(60),l=a(328),k=a(329),t=a(7),m=a(186),r=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,
+d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),u=function A(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return A(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};a(330);$jscomp.initSymbol();var v=Symbol("autocompleteIndex"),w=g.a.fromObject({arrowdown:{action:"cycle-next-active-completion"},arrowup:{action:"cycle-prev-active-completion"},tab:{action:"choose-active-completion-or-prefix",
+preventDefault:!1},enter:{action:"choose-active-completion",preventDefault:!1},escape:{action:"cancel",preventDefault:!1,stopPropagation:!1}}),y=function(a){function f(a){if(!(this instanceof f))throw new TypeError("Cannot call a class as a function");var d=q(this,(f.__proto__||Object.getPrototypeOf(f)).call(this));d.inputChanged=new t.b;d.prevInputValue="";d.completionsVisible=!1;d.activeCompletionPromise=null;d.activeCompletionCancellationToken=void 0;d.hasFocus=!1;d.completionResult=null;d.dropdownContentsStale=
+!0;d.updateHintScrollPositionTimer=null;d.completionElements=null;d.hasResultForDropdown=!1;d.commonPrefix="";d.activeIndex=-1;d.dropdownStyleStale=!0;d.completer=a.completer;a=void 0===a.delay?200:a.delay;var e=d.scheduleUpdateCompletions=c()(function(){var a=d.activeCompletionCancellationToken=new b.b,c=d.activeCompletionPromise=d.completer(d.value,a);null!==c&&c.then(function(a){d.activeCompletionPromise===c&&(d.setCompletions(a),d.activeCompletionPromise=null)})},a);d.registerDisposer(function(){e.cancel()});
+a=d.element=document.createElement("div");a.className="autocomplete";var k=document.createElement("div");k.className="autocomplete-dropdown-wrapper";var l=d.dropdownElement=document.createElement("div");l.className="autocomplete-dropdown";var h=d.promptElement=document.createElement("label");h.className="autocomplete-prompt";var n=d.inputWrapperElement=document.createElement("div");n.className="autocomplete-input-wrapper";a.appendChild(h);var r=d.inputElement=document.createElement("input");r.type=
+"text";r.autocomplete="off";r.spellcheck=!1;r.className="autocomplete-input";Object(m.a)(h,r);h=d.hintElement=document.createElement("input");h.type="text";h.spellcheck=!1;h.className="autocomplete-hint";h.disabled=!0;n.appendChild(h);n.appendChild(r);k.appendChild(n);k.appendChild(l);a.appendChild(k);d.registerInputHandler();d.handleInputChanged("");d.registerEventListener(d.inputElement,"focus",function(){d.hasFocus||(d.hasFocus=!0,d.dropdownStyleStale=!0,d.updateDropdown())});d.registerEventListener(d.inputElement,
 "blur",function(){d.hasFocus&&(d.hasFocus=!1,d.updateDropdown())});d.registerEventListener(a.ownerDocument.defaultView,"resize",function(){d.dropdownStyleStale=!0});d.registerEventListener(a.ownerDocument.defaultView,"scroll",function(){d.dropdownStyleStale=!0});d.registerEventListener(d.dropdownElement,"mousedown",d.handleDropdownMousedown.bind(d));d.registerEventListener(d.inputElement,"keydown",function(){d.hintScrollPositionMayBeStale()});d.registerEventListener(d.inputElement,"mousemove",function(a){0!==
-a.buttons&&d.hintScrollPositionMayBeStale()});d.registerDisposer(new h.b(m,y)).allShortcutsAreGlobal=!0;Object(h.c)(m,"cycle-next-active-completion",function(){d.cycleActiveCompletion(1)});Object(h.c)(m,"cycle-prev-active-completion",function(){d.cycleActiveCompletion(-1)});Object(h.c)(m,"choose-active-completion-or-prefix",function(a){d.selectActiveCompletion(!0)&&a.preventDefault()});Object(h.c)(m,"choose-active-completion",function(a){d.selectActiveCompletion(!1)&&a.preventDefault()});Object(h.c)(m,
-"cancel",function(a){a.stopPropagation();d.cancel()&&(a.detail.preventDefault(),a.detail.stopPropagation())});return d}n(e,a);l(e,[{key:"hintScrollPositionMayBeStale",value:function(){""!==this.hintElement.value&&this.scheduleUpdateHintScrollPosition()}},{key:"handleDropdownMousedown",value:function(a){this.inputElement.focus();for(var b=this.dropdownElement,c=a.target;c instanceof HTMLElement;c=c.parentElement){var d=c[A];if(void 0!==d){this.selectCompletion(d);break}if(c===b)break}a.preventDefault()}},
+a.buttons&&d.hintScrollPositionMayBeStale()});d.registerDisposer(new g.b(r,w)).allShortcutsAreGlobal=!0;Object(g.c)(r,"cycle-next-active-completion",function(){d.cycleActiveCompletion(1)});Object(g.c)(r,"cycle-prev-active-completion",function(){d.cycleActiveCompletion(-1)});Object(g.c)(r,"choose-active-completion-or-prefix",function(a){d.selectActiveCompletion(!0)&&a.preventDefault()});Object(g.c)(r,"choose-active-completion",function(a){d.selectActiveCompletion(!1)&&a.preventDefault()});Object(g.c)(r,
+"cancel",function(a){a.stopPropagation();d.cancel()&&(a.detail.preventDefault(),a.detail.stopPropagation())});return d}p(f,a);r(f,[{key:"hintScrollPositionMayBeStale",value:function(){""!==this.hintElement.value&&this.scheduleUpdateHintScrollPosition()}},{key:"handleDropdownMousedown",value:function(a){this.inputElement.focus();for(var b=this.dropdownElement,c=a.target;c instanceof HTMLElement;c=c.parentElement){var d=c[v];if(void 0!==d){this.selectCompletion(d);break}if(c===b)break}a.preventDefault()}},
 {key:"cycleActiveCompletion",value:function(a){if(null!==this.completionResult){var b=this.activeIndex,c=this.completionResult.completions.length;this.setActiveIndex(-1===b?0<a?0:c-1:(b+a+c)%c)}}},{key:"registerInputHandler",value:function(){for(var a=this,b=function(b){b=a.inputElement.value;b!==a.prevInputValue&&(a.prevInputValue=b,a.handleInputChanged(b))},c=$jscomp.makeIterator(["input"]),d=c.next();!d.done;d=c.next())this.registerEventListener(this.inputElement,d.value,b,!1)}},{key:"shouldShowDropdown",
-value:function(){return null!==this.completionResult&&this.hasFocus?this.hasResultForDropdown:!1}},{key:"updateDropdownStyle",value:function(){Object(f.a)(this.dropdownElement,this.inputElement,{horizontal:!1});this.dropdownStyleStale=!1}},{key:"updateDropdown",value:function(){if(this.shouldShowDropdown()){var a=this.dropdownElement,b=this.activeIndex;if(this.dropdownContentsStale){var c=this.completionResult,d=void 0===c.makeElement?m:c.makeElement;this.completionElements=c.completions.map(function(f,
-e){f=d.call(c,f);f[A]=e;f.classList.add("autocomplete-completion");b===e&&f.classList.add("autocomplete-completion-active");a.appendChild(f);return f});this.dropdownContentsStale=!1}this.dropdownStyleStale&&this.updateDropdownStyle();this.completionsVisible||(a.style.display="block",this.completionsVisible=!0);-1!==b&&Object(k.a)(this.completionElements[b])}else this.completionsVisible&&(this.dropdownElement.style.display="none",this.completionsVisible=!1)}},{key:"setCompletions",value:function(a){this.clearCompletions();
-var b=a.completions;0!==b.length&&(this.completionResult=a,1===b.length?(b=b[0],a.showSingleResult?this.hasResultForDropdown=!0:b.value.startsWith(this.prevInputValue)?this.hasResultForDropdown=!1:this.hasResultForDropdown=!0,a.selectSingleResult?this.setActiveIndex(0):this.setHintValue(this.getCompletedValueByIndex(0))):(this.hasResultForDropdown=!0,b=Object(q.a)(function(){function b(b,h){for(;;)switch(c){case 0:e=$jscomp.makeIterator(a.completions),f=e.next();case 1:if(f.done){c=3;break}d=f.value;
-c=4;return{value:d.value,done:!1};case 4:if(void 0===h){c=5;break}c=-1;throw h;case 5:case 2:f=e.next();c=1;break;case 3:c=-1;default:return{value:void 0,done:!0}}}var c=0,d,f,e,h={next:function(a){return b(a,void 0)},throw:function(a){return b(void 0,a)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();h[Symbol.iterator]=function(){return this};return h}()),b=this.getCompletedValue(b),b.startsWith(this.prevInputValue)&&(this.commonPrefix=b,this.setHintValue(b))),
+value:function(){return null!==this.completionResult&&this.hasFocus?this.hasResultForDropdown:!1}},{key:"updateDropdownStyle",value:function(){Object(e.a)(this.dropdownElement,this.inputElement,{horizontal:!1});this.dropdownStyleStale=!1}},{key:"updateDropdown",value:function(){if(this.shouldShowDropdown()){var a=this.dropdownElement,b=this.activeIndex;if(this.dropdownContentsStale){var c=this.completionResult,d=void 0===c.makeElement?n:c.makeElement;this.completionElements=c.completions.map(function(e,
+g){e=d.call(c,e);e[v]=g;e.classList.add("autocomplete-completion");b===g&&e.classList.add("autocomplete-completion-active");a.appendChild(e);return e});this.dropdownContentsStale=!1}this.dropdownStyleStale&&this.updateDropdownStyle();this.completionsVisible||(a.style.display="block",this.completionsVisible=!0);-1!==b&&Object(k.a)(this.completionElements[b])}else this.completionsVisible&&(this.dropdownElement.style.display="none",this.completionsVisible=!1)}},{key:"setCompletions",value:function(a){this.clearCompletions();
+var b=a.completions;0!==b.length&&(this.completionResult=a,1===b.length?(b=b[0],a.showSingleResult?this.hasResultForDropdown=!0:b.value.startsWith(this.prevInputValue)?this.hasResultForDropdown=!1:this.hasResultForDropdown=!0,a.selectSingleResult?this.setActiveIndex(0):this.setHintValue(this.getCompletedValueByIndex(0))):(this.hasResultForDropdown=!0,b=Object(l.a)(function(){function b(b,f){for(;;)switch(c){case 0:g=$jscomp.makeIterator(a.completions),e=g.next();case 1:if(e.done){c=3;break}d=e.value;
+c=4;return{value:d.value,done:!1};case 4:if(void 0===f){c=5;break}c=-1;throw f;case 5:case 2:e=g.next();c=1;break;case 3:c=-1;default:return{value:void 0,done:!0}}}var c=0,d,e,g,f={next:function(a){return b(a,void 0)},throw:function(a){return b(void 0,a)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();f[Symbol.iterator]=function(){return this};return f}()),b=this.getCompletedValue(b),b.startsWith(this.prevInputValue)&&(this.commonPrefix=b,this.setHintValue(b))),
 this.updateDropdown())}},{key:"scheduleUpdateHintScrollPosition",value:function(){var a=this;null===this.updateHintScrollPositionTimer&&(this.updateHintScrollPositionTimer=setTimeout(function(){a.updateHintScrollPosition()},0))}},{key:"setHintValue",value:function(a){var b=this.prevInputValue;a!==b&&a.startsWith(b)||(a="");this.hintElement.value=a;this.scheduleUpdateHintScrollPosition()}},{key:"setActiveIndex",value:function(a){if(!this.dropdownContentsStale){var b=this.activeIndex;-1!==b&&this.completionElements[b].classList.remove("autocomplete-completion-active");
 -1!==a&&(b=this.completionElements[a],b.classList.add("autocomplete-completion-active"),Object(k.a)(b))}-1!==a&&this.setHintValue(this.getCompletedValueByIndex(a));this.activeIndex=a}},{key:"getCompletedValueByIndex",value:function(a){return this.getCompletedValue(this.completionResult.completions[a].value)}},{key:"getCompletedValue",value:function(a){return this.prevInputValue.substring(0,this.completionResult.offset)+a}},{key:"selectActiveCompletion",value:function(a){var b=this.activeIndex;if(-1===
 b){if(!a)return!1;a=this.completionResult;if(null!==a&&1===a.completions.length)b=0;else return a=this.commonPrefix,a.length>this.value.length?(this.value=a,!0):!1}a=this.getCompletedValueByIndex(b);if(this.value===a)return!1;this.value=a;return!0}},{key:"selectCompletion",value:function(a){this.value=this.getCompletedValueByIndex(a)}},{key:"cancel",value:function(){return!1}},{key:"updateHintScrollPosition",value:function(){this.updateHintScrollPositionTimer=null;this.hintElement.scrollLeft=this.inputElement.scrollLeft}},
 {key:"cancelActiveCompletion",value:function(){var a=this.activeCompletionCancellationToken;void 0!==a&&a.cancel();this.activeCompletionCancellationToken=void 0;this.activeCompletionPromise=null}},{key:"handleInputChanged",value:function(a){this.cancelActiveCompletion();this.hintElement.value="";this.clearCompletions();this.inputChanged.dispatch(a);this.scheduleUpdateCompletions()}},{key:"clearCompletions",value:function(){null!==this.completionResult&&(this.activeIndex=-1,this.completionElements=
-this.completionResult=null,this.dropdownStyleStale=this.dropdownContentsStale=!0,this.commonPrefix="",Object(d.a)(this.dropdownElement),this.updateDropdown())}},{key:"disposed",value:function(){Object(d.b)(this.element);this.cancelActiveCompletion();null!==this.updateHintScrollPositionTimer&&(clearTimeout(this.updateHintScrollPositionTimer),this.updateHintScrollPositionTimer=null);u(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"disposed",this).call(this)}},{key:"disabled",get:function(){return this.inputElement.disabled},
-set:function(a){this.inputElement.disabled=a}},{key:"value",get:function(){return this.prevInputValue},set:function(a){a!==this.prevInputValue&&(this.prevInputValue=this.inputElement.value=a,this.handleInputChanged(a))}}]);return e}(g.a)},function(g,e,a){e.a=function(a,e,g){var c=void 0===g?{}:g,b=void 0===c.horizontal?!1:c.horizontal,d=void 0===c.vertical?!0:c.vertical,f=void 0===c.topMargin?6:c.topMargin,h=void 0===c.bottomMargin?6:c.bottomMargin,q=void 0===c.leftMargin?6:c.leftMargin,k=void 0===
-c.rightMargin?6:c.rightMargin;g=void 0===c.maxHeight?!0:c.maxHeight;c=void 0===c.maxWidth?!0:c.maxWidth;e=e.getBoundingClientRect();if(b){b=e.right;var m=a.ownerDocument.documentElement.clientHeight-e.left;b>m?(a.style.left="",a.style.right="0",c&&(a.style.maxWidth=b-q+"px")):(a.style.right="",a.style.left="0",c&&(a.style.maxWidth=m-k+"px"))}d&&(d=e.top-f,h=a.ownerDocument.documentElement.clientHeight-e.bottom-h,d>3*h?(a.style.top="",a.style.bottom="100%",g&&(a.style.maxHeight=d+"px")):(a.style.top=
-"100%",a.style.bottom="",g&&(a.style.maxHeight=h+"px")))}},function(g,e,a){e.a=function(a){$jscomp.initSymbol();$jscomp.initSymbolIterator();a=a[Symbol.iterator]();var e=a.next(),g=e.value;if(e.done)return"";for(e=g.length;0<e;){var c=a.next(),b=c.value;if(c.done)break;for(c=0;c<e&&g.charCodeAt(c)===b.charCodeAt(c);++c);e=c}return g.substring(0,e)}},function(g,e,a){e.a=function(a){var e=a.parentElement,g=a.offsetLeft-e.clientLeft,c=a.offsetTop-e.clientTop,b=e.scrollLeft,d=e.scrollTop;c=Math.max(0,
-c+a.offsetHeight-(d+e.clientHeight))||Math.min(0,c-d);e.scrollLeft+=Math.max(0,g+a.offsetWidth-(b+e.clientWidth))||Math.min(0,g-b);e.scrollTop+=c}},function(g,e){},function(g,e,a){e.a=function(){var a=document.createElement("button");a.type="submit";a.className="hidden-submit-button";a.style.margin="0";a.style.border="0";a.style.padding="0";a.style.width="0";a.style.height="0";a.style.overflow="hidden";a.tabIndex=-1;return a}},function(g,e){},function(g,e,a){function p(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");
-}function n(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function m(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a,b,c){var d=
-Object(k.c)(a,"dragenter",function(b){void 0!==Object(q.c)(b)&&a.classList.add("neuroglancer-drag-over")}),e=Object(k.c)(a,"dragleave",function(){a.classList.remove("neuroglancer-drag-over")}),h=Object(k.c)(a,"dragover",function(a){Object(f.c)(a)?(Object(r.e)(a,Object(f.b)(a,b)),a.stopPropagation(),a.preventDefault()):void 0!==Object(q.c)(a)&&(Object(q.f)(a,b,!0),a.stopPropagation(),a.preventDefault())}),g=Object(k.c)(a,"drop",function(d){a.classList.remove("neuroglancer-drag-over");if(Object(f.c)(d)){d.stopPropagation();
-try{var e=JSON.parse(d.dataTransfer.getData(f.d))}catch(P){return}var h=Object(q.b)(d,b,!1,!1,!0);if(void 0!==h&&h.finalize(d)){d.preventDefault();d.dataTransfer.dropEffect=Object(r.c)();Object(q.a)(d);var g=c();h=$jscomp.makeIterator(h.layers.keys());for(d=h.next();!d.done;d=h.next())g.layerSpecification.add(d.value);try{g.restoreState(e)}catch(P){}}}else if(g=Object(q.b)(d,b,"copy"===Object(r.c)(),!1,!0),void 0!==g&&g.finalize(d))for(d.preventDefault(),d.dataTransfer.dropEffect=Object(r.c)(),Object(q.a)(d),
-e=c(),g=$jscomp.makeIterator(g.layers.keys()),d=g.next();!d.done;d=g.next())e.layerSpecification.add(d.value)});return function(){g();h();e();d()}}function b(a,b){var c=document.createElement("div");c.style.flex="1";c.style.width="0px";if("string"===typeof b){if(void 0!==a.parent)throw Error("Invalid layout component specification: "+JSON.stringify(b));return new x(c,b,a.viewer)}Object(l.u)(b);var d=Object(l.w)(b,"type",l.B);switch(d){case "row":case "column":return new v(c,d,Object(l.w)(b,"children",
-function(b){b=Object(l.a)(b,function(a){return a});if(void 0===a.parent&&0===b.length)throw Error("Stack layout requires at least one child.");return b}),a);case "viewer":d=a.viewer;var e=new h.a(d.layerSpecification.addRef());c=new f.a(c,{display:d.display,navigationState:d.navigationState.addRef(),perspectiveNavigationState:d.perspectiveNavigationState.addRef(),mouseState:d.mouseState,showAxisLines:d.showAxisLines,showScaleBar:d.showScaleBar,showPerspectiveSliceViews:d.showPerspectiveSliceViews,
-layerSpecification:e,inputEventBindings:d.inputEventBindings,visibility:d.visibility},{showLayerPanel:d.options.showLayerPanel,showViewerMenu:!0});try{c.restoreState(b)}catch(O){throw c.dispose(),O;}return c}throw Error("Invalid layout component specification: "+JSON.stringify(b));}a.d(e,"a",function(){return E});g=a(24);var d=a.n(g),f=a(299),h=a(20),q=a(105),k=a(1),t=a(9),r=a(106),l=a(6),u=a(7),A=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=
-!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),y=function C(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return C(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};a(307);$jscomp.initSymbol();var z=Symbol("layoutComponentContainer"),B=function(a){function e(a,b,d){p(this,e);var f=n(this,
-(e.__proto__||Object.getPrototypeOf(e)).call(this));f.viewer=a;f.parent=d;f.changed=new u.a;f.element=document.createElement("div");var h=f.element;h.style.display="flex";h.style.flex="1";h.style.position="relative";h.style.alignItems="stretch";h.foo="hello";h[z]=f;f.setSpecification(b);var g=[];a=function(a){var b=document.createElement("div");b.className="neuroglancer-layout-split-drop-zone";b.style[a]="0";switch(a){case "left":case "right":var d="row";b.style.width="10px";b.style.height="100%";
-break;case "top":case "bottom":d="column",b.style.height="10px",b.style.width="100%"}b.style.display="none";g.push({element:b,direction:d,orientation:a});h.appendChild(b);f.registerDisposer(c(b,f.viewer.layerSpecification,function(){return f.split(a).newContainer.component}))};a("left");a("right");a("top");a("bottom");var k=!1;f.registerEventListener(h,"dragenter",function(a){if(!k&&void 0!==Object(q.c)(a)){k=!0;a=$jscomp.makeIterator(g);for(var b=a.next();!b.done;b=a.next()){var c=b.value;b=c.element;
-var e=c.direction;c=c.orientation;if(void 0===d||e!==d.direction||("left"!==c&&"top"!==c||d.get(0)===f)&&("bottom"!==c&&"right"!==c||d.get(d.length-1)===f))c=f.component,c instanceof v&&c.direction===e||(b.style.display="block")}}},!0);f.registerEventListener(h,"drop",function(a){if(k){k=!1;a=$jscomp.makeIterator(g);for(var b=a.next();!b.done;b=a.next())b.value.element.style.display="none"}});f.registerEventListener(h,"dragleave",function(a){a=a.relatedTarget;if(k&&!(a instanceof HTMLElement&&f.element.contains(a))){k=
-!1;a=$jscomp.makeIterator(g);for(var b=a.next();!b.done;b=a.next())b.value.element.style.display="none"}},!0);return f}m(e,a);A(e,[{key:"unsetComponent",value:function(){var a=this.componentValue;void 0!==a&&(a.changed.remove(this.changed.dispatch),this.element.removeChild(a.element),a.dispose())}},{key:"setComponent",value:function(a){var b=this;this.unsetComponent();this.componentValue=a;a.changed.add(this.changed.dispatch);this.element.appendChild(a.element);if(a instanceof f.a){var c=a.layerManager,
-e=a.registerCancellable(d()(function(){0===c.managedLayers.length&&b.dispose()},0));a.registerDisposer(c.layersChanged.add(function(){0===c.managedLayers.length&&e()}));e()}else if(a instanceof v){var h=a.registerCancellable(d()(function(){var c=a.length;if(0===c&&void 0!==b.parent)b.dispose();else if(1===c){c=a.get(0).component;if(void 0===b.parent&&c instanceof f.a){var d=c.layout.name;c.viewerNavigationState.copyToParent();var e=new Set(c.layerManager.managedLayers),h=c.layerSpecification;h.rootLayers.filter(function(a){return e.has(a)});
-h.rootLayers.managedLayers=Array.from(c.layerManager.managedLayers);h.rootLayers.layersChanged.dispatch()}else d=c.toJSON();b.setSpecification(d)}},0));a.registerDisposer(a.changed.add(function(){2>a.length&&h()}));h()}}},{key:"toJSON",value:function(){return this.component.toJSON()}},{key:"setSpecification",value:function(a){this.setComponent(b(this,a))}},{key:"disposed",value:function(){this.unsetComponent();this.componentValue=void 0;y(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),
-"disposed",this).call(this)}},{key:"split",value:function(a){var b={type:"viewer"},c=this.parent;if(void 0!==c){if("left"===a&&"row"===c.direction||"top"===a&&"column"===c.direction)return{newContainer:c.insertChild(b,this),existingContainer:this};if("right"===a&&"row"===c.direction||"bottom"===a&&"column"===c.direction)return{newContainer:c.insertChild(b),existingContainer:this}}c=this.component;c=c instanceof x?c.layerGroupViewer.toJSON():c.toJSON();var d="left"===a||"right"===a?"row":"column";
-switch(a){case "left":case "top":var f={type:d,children:[b,c]};var e=0;break;case "right":case "bottom":f={type:d,children:[c,b]},e=1}this.setSpecification(f);a=this.component;return{newContainer:a.get(e),existingContainer:a.get(1-e)}}},{key:"component",get:function(){return this.componentValue}}],[{key:"getFromElement",value:function(a){return a[z]}}]);return e}(k.a),x=function(a){function b(a,c,d){p(this,b);var e=n(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));e.element=a;e.layerGroupViewer=
-e.registerDisposer(new f.a(a,{display:d.display,navigationState:d.navigationState.addRef(),perspectiveNavigationState:d.perspectiveNavigationState.addRef(),mouseState:d.mouseState,showAxisLines:d.showAxisLines,showScaleBar:d.showScaleBar,showPerspectiveSliceViews:d.showPerspectiveSliceViews,layerSpecification:d.layerSpecification.addRef(),inputEventBindings:d.inputEventBindings,visibility:d.visibility},{showLayerPanel:d.options.showLayerPanel,showViewerMenu:!1}));e.layerGroupViewer.layout.name=c;
-return e}m(b,a);A(b,[{key:"toJSON",value:function(){return this.layerGroupViewer.layout.name}},{key:"changed",get:function(){return this.layerGroupViewer.layout.changed}}]);return b}(k.a),v=function(a){function b(a,c,d,f){p(this,b);var e=n(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));e.element=a;e.direction=c;e.container=f;e.changed=new u.a;a.classList.add("neuroglancer-stack-layout");a.classList.add("neuroglancer-stack-layout-"+c);a.style.display="flex";a.style.flexDirection=c;a.appendChild(e.makeDropPlaceholder(e));
-a=$jscomp.makeIterator(d);for(c=a.next();!c.done;c=a.next())e.insertChild(c.value);return e}m(b,a);$jscomp.initSymbol();$jscomp.initSymbolIterator();A(b,[{key:"makeDropPlaceholder",value:function(a){var b=this,d=document.createElement("div");d.className="neuroglancer-stack-layout-drop-placeholder";a.registerDisposer(c(d,this.viewer.layerSpecification,function(){var a=d.nextElementSibling,c;null!==a&&(c=B.getFromElement(a));return b.insertChild({type:"viewer",layers:[]},c).component}));a.registerDisposer(function(){Object(t.b)(d)});
-return d}},{key:"get",value:function(a){return B.getFromElement(this.element.children[2*a+1])}},{key:"insertChild",value:function(a,b){var c=this,d=new B(this.viewer,a,this);a=this.makeDropPlaceholder(d);d.element.classList.add("neuroglancer-stack-layout-child");d.registerDisposer(d.changed.add(this.changed.dispatch));d.registerDisposer(function(){c.element.removeChild(d.element);c.changed.dispatch()});b=void 0!==b?b.element:null;this.element.insertBefore(d.element,b);this.element.insertBefore(a,
-b);this.changed.dispatch();return d}},{key:"disposed",value:function(){this.clear();y(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"disposed",this).call(this)}},{key:"clear",value:function(){for(;0!==this.length;)this.get(0).dispose()}},{key:Symbol.iterator,value:function(){function a(a,h){for(;;)switch(b){case 0:f=e,d=f.length,c=0;case 1:if(!(c<d)){b=3;break}b=4;return{value:e.get(c),done:!1};case 4:if(void 0===h){b=5;break}b=-1;throw h;case 5:case 2:++c;b=1;break;case 3:b=-1;default:return{value:void 0,
-done:!0}}}var b=0,c,d,f,e=this,h={next:function(b){return a(b,void 0)},throw:function(b){return a(void 0,b)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();h[Symbol.iterator]=function(){return this};return h}},{key:"toJSON",value:function(){return{type:this.direction,children:Array.from(this).map(function(a){return a.toJSON()})}}},{key:"length",get:function(){return(this.element.childElementCount-1)/2}},{key:"viewer",get:function(){return this.container.viewer}}]);
-return b}(k.a),E=function(a){function b(a,c){p(this,b);var d=n(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));d.viewer=a;d.defaultSpecification=c;d.container=d.registerDisposer(new B(d.viewer,d.defaultSpecification,void 0));return d}m(b,a);A(b,[{key:"reset",value:function(){this.container.setSpecification(this.defaultSpecification)}},{key:"restoreState",value:function(a){this.container.setSpecification(a)}},{key:"disposed",value:function(){y(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),
-"disposed",this).call(this)}},{key:"toJSON",value:function(){var a=this.container.toJSON();if(a!==this.defaultSpecification)return a}},{key:"changed",get:function(){return this.container.changed}},{key:"element",get:function(){return this.container.element}}]);return b}(k.a)},function(g,e,a){function p(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function n(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||
-"object"!==typeof b&&"function"!==typeof b?a:b}function m(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a,b){a=new q.a(a);var c=a.element;c.classList.add("neuroglancer-layer-group-viewer-context-menu");var d=document.createElement("button");
-d.textContent="Remove layer group";c.appendChild(d);a.registerEventListener(d,"click",function(){b.layerSpecification.layerManager.clear()});d=b.viewerNavigationState;d=$jscomp.makeIterator([["Position",d.position.link],["Cross-section orientation",d.crossSectionOrientation.link],["Cross-section zoom",d.crossSectionZoom.link],["Perspective orientation",d.perspectiveOrientation.link],["Perspective zoom",d.perspectiveZoom.link]]);for(var f=d.next();!f.done;f=d.next()){var e=$jscomp.makeIterator(f.value);
-f=e.next().value;e=e.next().value;e=a.registerDisposer(new y.a(e));var h=document.createElement("label");h.style.display="flex";h.style.flexDirection="row";h.style.whiteSpace="nowrap";h.textContent=f;h.appendChild(e.element);c.appendChild(h)}return a}e.c=function(a){return-1!==a.dataTransfer.types.indexOf("neuroglancer-layer-group-viewer")};e.b=function(a,b){if(a.shiftKey)return"copy";if(a.ctrlKey)return"move";a=x&&x.viewer.layerSpecification.rootLayers===b.rootLayers?x.viewer:void 0;return void 0!==
-a?"move":"copy"};a.d(e,"a",function(){return E});var b=a(71),d=a(300),f=a(20),h=a(55),q=a(104),k=a(105),t=a(164),r=a(64);g=a(1);var l=a(9),u=a(22),A=a(70),y=a(305),z=function C(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return C(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},B=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||
-!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();a(306);e.d="neuroglancer-layer-group-viewer";var x,v=function(a){function b(a){p(this,b);var c=n(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.position=new h.b(a.navigationState.position.addRef());c.crossSectionOrientation=new h.a(a.navigationState.pose.orientation.addRef());c.crossSectionZoom=new h.c(a.navigationState.zoomFactor.addRef());
-c.navigationState=c.registerDisposer(new h.e(new h.g(c.position.value,c.crossSectionOrientation.value),c.crossSectionZoom.value));c.perspectiveOrientation=new h.a(a.perspectiveNavigationState.pose.orientation.addRef());c.perspectiveZoom=new h.c(a.perspectiveNavigationState.zoomFactor.addRef());c.perspectiveNavigationState=c.registerDisposer(new h.e(new h.g(c.position.value.addRef(),c.perspectiveOrientation.value),c.perspectiveZoom.value));return c}m(b,a);B(b,[{key:"copyToParent",value:function(){for(var a=
-$jscomp.makeIterator([this.position,this.crossSectionOrientation,this.crossSectionZoom,this.perspectiveOrientation,this.perspectiveZoom]),b=a.next();!b.done;b=a.next())b.value.copyToPeer()}},{key:"register",value:function(a){a.add("position",this.position);a.add("crossSectionOrientation",this.crossSectionOrientation);a.add("crossSectionZoom",this.crossSectionZoom);a.add("perspectiveOrientation",this.perspectiveOrientation);a.add("perspectiveZoom",this.perspectiveZoom)}}]);return b}(g.a),E=function(a){function e(a,
-c,d){d=void 0===d?{}:d;p(this,e);var h=n(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));h.element=a;h.viewerState=c;h.state=new A.a;h.options=Object.assign({showLayerPanel:!0,showViewerMenu:!1},d);h.layerSpecification=h.registerDisposer(c.layerSpecification);h.viewerNavigationState=h.registerDisposer(new v(c));h.viewerNavigationState.register(h.state);h.layerSpecification instanceof f.a?h.state.add("layers",h.layerSpecification):h.state.add("layers",{changed:h.layerSpecification.changed,
-toJSON:function(){return h.layerSpecification.layerManager.managedLayers.map(function(a){return a.name})},reset:function(){throw Error("not implemented");},restoreState:function(){throw Error("not implemented");}});a.classList.add("neuroglancer-layer-group-viewer");h.registerDisposer(new r.a(a));h.layout=h.registerDisposer(new b.a(h,"xy"));h.state.add("layout",h.layout);h.registerActionBindings();h.registerDisposer(h.layerManager.useDirectly());h.registerDisposer(Object(t.a)(a,h.navigationState.position));
-h.makeUI();return h}m(e,a);B(e,[{key:"bindAction",value:function(a,b){this.registerDisposer(Object(u.c)(this.element,a,b))}},{key:"registerActionBindings",value:function(){var a=this;this.bindAction("add-layer",function(){a.layerPanel&&a.layerPanel.addLayerMenu()})}},{key:"toJSON",value:function(){return Object.assign({type:"viewer"},this.state.toJSON())}},{key:"reset",value:function(){this.state.reset()}},{key:"restoreState",value:function(a){this.state.restoreState(a)}},{key:"makeUI",value:function(){var a=
-this;this.element.style.flex="1";this.element.style.display="flex";this.element.style.flexDirection="column";var b=this.options;if(b.showLayerPanel){var f=this.layerPanel=this.registerDisposer(new d.a(this.display,this.layerSpecification,this.viewerNavigationState));b.showViewerMenu?(this.registerDisposer(c(f.element,this)),f.element.title="Right click for options, drag to move/copy layer group."):f.element.title="Drag to move/copy layer group.";f.element.draggable=!0;this.registerEventListener(f.element,
-"dragstart",function(b){Object(k.e)(b,{manager:a.layerSpecification,layers:a.layerManager.managedLayers});var c=function(){x&&x.viewer===a&&(x=void 0);a.unregisterDisposer(c)};x={viewer:a,disposer:c};a.registerDisposer(c);var d=a.toJSON();delete d.layers;b.dataTransfer.setData("neuroglancer-layer-group-viewer",JSON.stringify(d))});this.registerEventListener(f.element,"dragend",function(b){Object(k.a)(b);void 0!==x&&x.viewer===a&&x.disposer()});this.element.appendChild(f.element)}this.element.appendChild(this.layout.element)}},
-{key:"disposed",value:function(){Object(l.a)(this.element);z(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"disposed",this).call(this)}},{key:"perspectiveNavigationState",get:function(){return this.viewerNavigationState.perspectiveNavigationState}},{key:"navigationState",get:function(){return this.viewerNavigationState.navigationState}},{key:"display",get:function(){return this.viewerState.display}},{key:"layerManager",get:function(){return this.layerSpecification.layerManager}},{key:"chunkManager",
+this.completionResult=null,this.dropdownStyleStale=this.dropdownContentsStale=!0,this.commonPrefix="",Object(d.a)(this.dropdownElement),this.updateDropdown())}},{key:"disposed",value:function(){Object(d.b)(this.element);this.cancelActiveCompletion();null!==this.updateHintScrollPositionTimer&&(clearTimeout(this.updateHintScrollPositionTimer),this.updateHintScrollPositionTimer=null);u(f.prototype.__proto__||Object.getPrototypeOf(f.prototype),"disposed",this).call(this)}},{key:"disabled",get:function(){return this.inputElement.disabled},
+set:function(a){this.inputElement.disabled=a}},{key:"value",get:function(){return this.prevInputValue},set:function(a){a!==this.prevInputValue&&(this.prevInputValue=this.inputElement.value=a,this.handleInputChanged(a))}}]);return f}(h.a)},function(h,f,a){f.a=function(a,f,h){var c=void 0===h?{}:h,b=void 0===c.horizontal?!1:c.horizontal,d=void 0===c.vertical?!0:c.vertical,e=void 0===c.topMargin?6:c.topMargin,g=void 0===c.bottomMargin?6:c.bottomMargin,l=void 0===c.leftMargin?6:c.leftMargin,k=void 0===
+c.rightMargin?6:c.rightMargin;h=void 0===c.maxHeight?!0:c.maxHeight;c=void 0===c.maxWidth?!0:c.maxWidth;f=f.getBoundingClientRect();if(b){b=f.right;var n=a.ownerDocument.documentElement.clientHeight-f.left;b>n?(a.style.left="",a.style.right="0",c&&(a.style.maxWidth=b-l+"px")):(a.style.right="",a.style.left="0",c&&(a.style.maxWidth=n-k+"px"))}d&&(d=f.top-e,g=a.ownerDocument.documentElement.clientHeight-f.bottom-g,d>3*g?(a.style.top="",a.style.bottom="100%",h&&(a.style.maxHeight=d+"px")):(a.style.top=
+"100%",a.style.bottom="",h&&(a.style.maxHeight=g+"px")))}},function(h,f,a){f.a=function(a){$jscomp.initSymbol();$jscomp.initSymbolIterator();a=a[Symbol.iterator]();var f=a.next(),h=f.value;if(f.done)return"";for(f=h.length;0<f;){var c=a.next(),b=c.value;if(c.done)break;for(c=0;c<f&&h.charCodeAt(c)===b.charCodeAt(c);++c);f=c}return h.substring(0,f)}},function(h,f,a){f.a=function(a){var f=a.parentElement,h=a.offsetLeft-f.clientLeft,c=a.offsetTop-f.clientTop,b=f.scrollLeft,d=f.scrollTop;c=Math.max(0,
+c+a.offsetHeight-(d+f.clientHeight))||Math.min(0,c-d);f.scrollLeft+=Math.max(0,h+a.offsetWidth-(b+f.clientWidth))||Math.min(0,h-b);f.scrollTop+=c}},function(h,f){},function(h,f,a){f.a=function(){var a=document.createElement("button");a.type="submit";a.className="hidden-submit-button";a.style.margin="0";a.style.border="0";a.style.padding="0";a.style.width="0";a.style.height="0";a.style.overflow="hidden";a.tabIndex=-1;return a}},function(h,f){},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");
+}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a){return{mouseState:a.mouseState,
+showAxisLines:a.showAxisLines,showScaleBar:a.showScaleBar,scaleBarOptions:a.scaleBarOptions,showPerspectiveSliceViews:a.showPerspectiveSliceViews,inputEventBindings:a.inputEventBindings,visibility:a.visibility,selectedLayer:a.selectedLayer,visibleLayerRoles:a.visibleLayerRoles,navigationState:a.navigationState.addRef(),perspectiveNavigationState:a.perspectiveNavigationState.addRef(),crossSectionBackgroundColor:a.crossSectionBackgroundColor}}function b(a,b,c){var d=Object(t.c)(a,"dragenter",function(b){void 0!==
+Object(k.c)(b)&&a.classList.add("neuroglancer-drag-over")}),e=Object(t.c)(a,"dragleave",function(){a.classList.remove("neuroglancer-drag-over")}),f=Object(t.c)(a,"dragover",function(a){Object(g.c)(a)?(Object(r.e)(a,Object(g.b)(a,b)),a.stopPropagation(),a.preventDefault()):void 0!==Object(k.c)(a)&&(Object(k.f)(a,b,!0),a.stopPropagation(),a.preventDefault())}),l=Object(t.c)(a,"drop",function(d){a.classList.remove("neuroglancer-drag-over");if(Object(g.c)(d)){d.stopPropagation();try{var e=JSON.parse(d.dataTransfer.getData(g.d))}catch(U){return}var f=
+Object(k.b)(d,b,!1,!1,!0);if(void 0!==f&&f.finalize(d)){d.preventDefault();d.dataTransfer.dropEffect=Object(r.c)();Object(k.a)(d);var l=c();f=$jscomp.makeIterator(f.layers.keys());for(d=f.next();!d.done;d=f.next())l.layerSpecification.add(d.value);try{l.restoreState(e)}catch(U){}}}else if(e=Object(k.b)(d,b,"copy"===Object(r.c)(),!1,!0),void 0!==e&&e.finalize(d)){d.preventDefault();d.dataTransfer.dropEffect=Object(r.c)();Object(k.a)(d);l=c();f=$jscomp.makeIterator(e.layers.keys());for(d=f.next();!d.done;d=
+f.next())l.layerSpecification.add(d.value);try{l.layout.restoreState(e.layoutSpec)}catch(U){l.layout.reset()}}});return function(){l();f();e();d()}}function d(a,b){var d=document.createElement("div");d.style.flex="1";d.style.width="0px";if("string"===typeof b){if(void 0!==a.parent)throw Error("Invalid layout component specification: "+JSON.stringify(b));return new z(d,b,a.viewer)}Object(u.t)(b);var e=Object(u.v)(b,"type",u.A);switch(e){case "row":case "column":return new D(d,e,Object(u.v)(b,"children",
+function(b){b=Object(u.a)(b,function(a){return a});if(void 0===a.parent&&0===b.length)throw Error("Stack layout requires at least one child.");return b}),a);case "viewer":e=a.viewer;var f=new l.a(e.layerSpecification.addRef());d=new g.a(d,Object.assign({display:e.display,layerSpecification:f},c(e)),{showLayerPanel:e.uiControlVisibility.showLayerPanel,showViewerMenu:!0});try{d.restoreState(b)}catch(I){throw d.dispose(),I;}return d;default:return new z(d,b,a.viewer)}}a.d(f,"a",function(){return E});
+h=a(10);var e=a.n(h),g=a(334),l=a(27),k=a(118),t=a(1),m=a(8),r=a(119),u=a(4),v=a(7),w=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),y=function C(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return C(a,b,c)}else{if("value"in
+d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};a(341);$jscomp.initSymbol();var x=Symbol("layoutComponentContainer"),A=function(a){function c(a,d,e){q(this,c);var g=p(this,(c.__proto__||Object.getPrototypeOf(c)).call(this));g.viewer=a;g.parent=e;g.changed=new v.a;g.element=document.createElement("div");var f=g.element;f.style.display="flex";f.style.flex="1";f.style.position="relative";f.style.alignItems="stretch";f.foo="hello";f[x]=g;g.setSpecification(d);var l=[];a=function(a){var c=
+document.createElement("div");c.className="neuroglancer-layout-split-drop-zone";c.style[a]="0";switch(a){case "left":case "right":var d="row";c.style.width="10px";c.style.height="100%";break;case "top":case "bottom":d="column",c.style.height="10px",c.style.width="100%"}c.style.display="none";l.push({element:c,direction:d,orientation:a});f.appendChild(c);g.registerDisposer(b(c,g.viewer.layerSpecification,function(){return g.split(a).newContainer.component}))};a("left");a("right");a("top");a("bottom");
+var h=!1;g.registerEventListener(f,"dragenter",function(a){if(!h&&void 0!==Object(k.c)(a)){h=!0;a=$jscomp.makeIterator(l);for(var b=a.next();!b.done;b=a.next()){var c=b.value;b=c.element;var d=c.direction;c=c.orientation;if(void 0===e||d!==e.direction||("left"!==c&&"top"!==c||e.get(0)===g)&&("bottom"!==c&&"right"!==c||e.get(e.length-1)===g))c=g.component,c instanceof D&&c.direction===d||(b.style.display="block")}}},!0);g.registerEventListener(f,"drop",function(a){if(h){h=!1;a=$jscomp.makeIterator(l);
+for(var b=a.next();!b.done;b=a.next())b.value.element.style.display="none"}});g.registerEventListener(f,"dragleave",function(a){a=a.relatedTarget;if(h&&!(a instanceof HTMLElement&&g.element.contains(a))){h=!1;a=$jscomp.makeIterator(l);for(var b=a.next();!b.done;b=a.next())b.value.element.style.display="none"}},!0);return g}n(c,a);w(c,[{key:"unsetComponent",value:function(){var a=this.componentValue;void 0!==a&&(a.changed.remove(this.changed.dispatch),this.element.removeChild(a.element),a.dispose())}},
+{key:"setComponent",value:function(a){var b=this;this.unsetComponent();this.componentValue=a;a.changed.add(this.changed.dispatch);this.element.appendChild(a.element);if(a instanceof g.a){var c=a.layerManager,d=a.registerCancellable(e()(function(){0===c.managedLayers.length&&b.dispose()},0));a.registerDisposer(c.layersChanged.add(function(){0===c.managedLayers.length&&d()}));d()}else if(a instanceof D){var f=a.registerCancellable(e()(function(){var c=a.length;if(0===c&&void 0!==b.parent)b.dispose();
+else if(1===c){c=a.get(0).component;if(void 0===b.parent&&c instanceof g.a){var d=c.layout.specification.toJSON();c.viewerNavigationState.copyToParent();var e=new Set(c.layerManager.managedLayers),f=c.layerSpecification;f.rootLayers.filter(function(a){return e.has(a)});f.rootLayers.managedLayers=Array.from(c.layerManager.managedLayers);f.rootLayers.layersChanged.dispatch()}else d=c.toJSON();b.setSpecification(d)}},0));a.registerDisposer(a.changed.add(function(){2>a.length&&f()}));f()}this.changed.dispatch()}},
+{key:"toJSON",value:function(){return this.component.toJSON()}},{key:"setSpecification",value:function(a){this.setComponent(d(this,a))}},{key:"disposed",value:function(){this.unsetComponent();this.componentValue=void 0;y(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"disposed",this).call(this)}},{key:"split",value:function(a){var b={type:"viewer"},c=this.parent;if(void 0!==c){if("left"===a&&"row"===c.direction||"top"===a&&"column"===c.direction)return{newContainer:c.insertChild(b,this),
+existingContainer:this};if("right"===a&&"row"===c.direction||"bottom"===a&&"column"===c.direction)return{newContainer:c.insertChild(b),existingContainer:this}}c=this.component;c=c instanceof z?c.layerGroupViewer.toJSON():c.toJSON();var d="left"===a||"right"===a?"row":"column";switch(a){case "left":case "top":var e={type:d,children:[b,c]};var g=0;break;case "right":case "bottom":e={type:d,children:[c,b]},g=1}this.setSpecification(e);a=this.component;return{newContainer:a.get(g),existingContainer:a.get(1-
+g)}}},{key:"component",get:function(){return this.componentValue}}],[{key:"getFromElement",value:function(a){return a[x]}}]);return c}(t.a),z=function(a){function b(a,d,e){q(this,b);var f=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));f.element=a;f.layerGroupViewer=f.registerDisposer(new g.a(a,Object.assign({display:e.display,layerSpecification:e.layerSpecification.addRef()},c(e)),{showLayerPanel:e.uiControlVisibility.showLayerPanel,showViewerMenu:!1}));f.layerGroupViewer.layout.restoreState(d);
+return f}n(b,a);w(b,[{key:"toJSON",value:function(){return this.layerGroupViewer.layout.specification.toJSON()}},{key:"changed",get:function(){return this.layerGroupViewer.layout.changed}}]);return b}(t.a),D=function(a){function c(a,b,d,e){q(this,c);var g=p(this,(c.__proto__||Object.getPrototypeOf(c)).call(this));g.element=a;g.direction=b;g.container=e;g.changed=new v.a;a.classList.add("neuroglancer-stack-layout");a.classList.add("neuroglancer-stack-layout-"+b);a.style.display="flex";a.style.flexDirection=
+b;a.appendChild(g.makeDropPlaceholder(g));a=$jscomp.makeIterator(d);for(b=a.next();!b.done;b=a.next())g.insertChild(b.value);return g}n(c,a);$jscomp.initSymbol();$jscomp.initSymbolIterator();w(c,[{key:"makeDropPlaceholder",value:function(a){var c=this,d=document.createElement("div");d.className="neuroglancer-stack-layout-drop-placeholder";a.registerDisposer(b(d,this.viewer.layerSpecification,function(){var a=d.nextElementSibling,b;null!==a&&(b=A.getFromElement(a));return c.insertChild({type:"viewer",
+layers:[]},b).component}));a.registerDisposer(function(){Object(m.b)(d)});return d}},{key:"get",value:function(a){return A.getFromElement(this.element.children[2*a+1])}},{key:"insertChild",value:function(a,b){var c=this,d=new A(this.viewer,a,this);a=this.makeDropPlaceholder(d);d.element.classList.add("neuroglancer-stack-layout-child");d.registerDisposer(d.changed.add(this.changed.dispatch));d.registerDisposer(function(){c.element.removeChild(d.element);c.changed.dispatch()});b=void 0!==b?b.element:
+null;this.element.insertBefore(d.element,b);this.element.insertBefore(a,b);this.changed.dispatch();return d}},{key:"disposed",value:function(){this.clear();y(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"disposed",this).call(this)}},{key:"clear",value:function(){for(;0!==this.length;)this.get(0).dispose()}},{key:Symbol.iterator,value:function(){function a(a,f){for(;;)switch(b){case 0:e=g,d=e.length,c=0;case 1:if(!(c<d)){b=3;break}b=4;return{value:g.get(c),done:!1};case 4:if(void 0===
+f){b=5;break}b=-1;throw f;case 5:case 2:++c;b=1;break;case 3:b=-1;default:return{value:void 0,done:!0}}}var b=0,c,d,e,g=this,f={next:function(b){return a(b,void 0)},throw:function(b){return a(void 0,b)},return:function(a){throw Error("Not yet implemented");}};$jscomp.initSymbolIterator();f[Symbol.iterator]=function(){return this};return f}},{key:"toJSON",value:function(){return{type:this.direction,children:Array.from(this).map(function(a){return a.toJSON()})}}},{key:"length",get:function(){return(this.element.childElementCount-
+1)/2}},{key:"viewer",get:function(){return this.container.viewer}}]);return c}(t.a),E=function(a){function b(a,c){q(this,b);var d=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));d.viewer=a;d.defaultSpecification=c;d.container=d.registerDisposer(new A(d.viewer,d.defaultSpecification,void 0));return d}n(b,a);w(b,[{key:"reset",value:function(){this.container.setSpecification(this.defaultSpecification)}},{key:"restoreState",value:function(a){this.container.setSpecification(a)}},{key:"disposed",
+value:function(){y(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"disposed",this).call(this)}},{key:"toJSON",value:function(){return this.container.toJSON()}},{key:"changed",get:function(){return this.container.changed}},{key:"element",get:function(){return this.container.element}}]);return b}(t.a)},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
+return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a,b){a=new t.a(a);var c=a.element;c.classList.add("neuroglancer-layer-group-viewer-context-menu");var d=document.createElement("button");
+d.textContent="Remove layer group";c.appendChild(d);a.registerEventListener(d,"click",function(){b.layerSpecification.layerManager.clear()});d=b.viewerNavigationState;d=$jscomp.makeIterator([["Position",d.position.link],["Cross-section orientation",d.crossSectionOrientation.link],["Cross-section zoom",d.crossSectionZoom.link],["Perspective orientation",d.perspectiveOrientation.link],["Perspective zoom",d.perspectiveZoom.link]]);for(var e=d.next();!e.done;e=d.next()){var g=$jscomp.makeIterator(e.value);
+e=g.next().value;g=g.next().value;g=a.registerDisposer(new x.a(g));var f=document.createElement("label");f.style.display="flex";f.style.flexDirection="row";f.style.whiteSpace="nowrap";f.textContent=e;f.appendChild(g.element);c.appendChild(f)}return a}f.c=function(a){return-1!==a.dataTransfer.types.indexOf("neuroglancer-layer-group-viewer")};f.b=function(a,b){if(a.shiftKey)return"copy";if(a.ctrlKey)return"move";a=D&&D.viewer.layerSpecification.rootLayers===b.rootLayers?D.viewer:void 0;return void 0!==
+a?"move":"copy"};a.d(f,"a",function(){return G});h=a(10);var b=a.n(h),d=a(82),e=a(335),g=a(27),l=a(57),k=a(35),t=a(188),m=a(118),r=a(189),u=a(79);h=a(1);var v=a(8),w=a(25),y=a(66),x=a(339),A=function B(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return B(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},z=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];
+d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();a(340);f.d="neuroglancer-layer-group-viewer";var D,E=function(a){function b(a){q(this,b);var c=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.position=new l.b(a.navigationState.position.addRef());c.crossSectionOrientation=new l.a(a.navigationState.pose.orientation.addRef());c.crossSectionZoom=new l.c(a.navigationState.zoomFactor.addRef());
+c.navigationState=c.registerDisposer(new l.e(new l.g(c.position.value,c.crossSectionOrientation.value),c.crossSectionZoom.value));c.perspectiveOrientation=new l.a(a.perspectiveNavigationState.pose.orientation.addRef());c.perspectiveZoom=new l.c(a.perspectiveNavigationState.zoomFactor.addRef());c.perspectiveNavigationState=c.registerDisposer(new l.e(new l.g(c.position.value.addRef(),c.perspectiveOrientation.value),c.perspectiveZoom.value));return c}n(b,a);z(b,[{key:"copyToParent",value:function(){for(var a=
+$jscomp.makeIterator([this.position,this.crossSectionOrientation,this.crossSectionZoom,this.perspectiveOrientation,this.perspectiveZoom]),b=a.next();!b.done;b=a.next())b.value.copyToPeer()}},{key:"register",value:function(a){a.add("position",this.position);a.add("crossSectionOrientation",this.crossSectionOrientation);a.add("crossSectionZoom",this.crossSectionZoom);a.add("perspectiveOrientation",this.perspectiveOrientation);a.add("perspectiveZoom",this.perspectiveZoom)}}]);return b}(h.a),G=function(a){function f(a,
+c,e){e=void 0===e?{}:e;q(this,f);var l=p(this,(f.__proto__||Object.getPrototypeOf(f)).call(this));l.element=a;l.viewerState=c;l.state=new y.a;l.options=Object.assign({showLayerPanel:new k.b(!0),showViewerMenu:!1},e);l.layerSpecification=l.registerDisposer(c.layerSpecification);l.viewerNavigationState=l.registerDisposer(new E(c));l.viewerNavigationState.register(l.state);l.layerSpecification instanceof g.a?l.state.add("layers",l.layerSpecification):l.state.add("layers",{changed:l.layerSpecification.changed,
+toJSON:function(){return l.layerSpecification.layerManager.managedLayers.map(function(a){return a.name})},reset:function(){throw Error("not implemented");},restoreState:function(){throw Error("not implemented");}});a.classList.add("neuroglancer-layer-group-viewer");l.registerDisposer(new u.a(a));l.layout=l.registerDisposer(new d.a(l,"xy"));l.state.add("layout",l.layout);l.registerActionBindings();l.registerDisposer(l.layerManager.useDirectly());l.registerDisposer(Object(r.a)(a,l.navigationState.position));
+l.registerDisposer(l.options.showLayerPanel.changed.add(l.registerCancellable(b()(function(){return l.updateUI()},0))));l.makeUI();return l}n(f,a);z(f,[{key:"bindAction",value:function(a,b){this.registerDisposer(Object(w.c)(this.element,a,b))}},{key:"registerActionBindings",value:function(){var a=this;this.bindAction("add-layer",function(){a.layerPanel&&a.layerPanel.addLayerMenu()})}},{key:"toJSON",value:function(){return Object.assign({type:"viewer"},this.state.toJSON())}},{key:"reset",value:function(){this.state.reset()}},
+{key:"restoreState",value:function(a){this.state.restoreState(a)}},{key:"makeUI",value:function(){this.element.style.flex="1";this.element.style.display="flex";this.element.style.flexDirection="column";this.element.appendChild(this.layout.element);this.updateUI()}},{key:"updateUI",value:function(){var a=this,b=this.options,d=b.showLayerPanel.value;void 0===this.layerPanel||d?d&&void 0===this.layerPanel&&(d=this.layerPanel=new e.a(this.display,this.layerSpecification,this.viewerNavigationState,this.viewerState.selectedLayer,
+function(){return a.layout.toJSON()}),b.showViewerMenu?(d.registerDisposer(c(d.element,this)),d.element.title="Right click for options, drag to move/copy layer group."):d.element.title="Drag to move/copy layer group.",d.element.draggable=!0,this.registerEventListener(d.element,"dragstart",function(b){Object(m.e)(b,{manager:a.layerSpecification,layers:a.layerManager.managedLayers,layoutSpec:a.layout.toJSON()});var c=function(){D&&D.viewer===a&&(D=void 0);a.unregisterDisposer(c)};D={viewer:a,disposer:c};
+a.registerDisposer(c);var d=a.toJSON();delete d.layers;b.dataTransfer.setData("neuroglancer-layer-group-viewer",JSON.stringify(d))}),this.registerEventListener(d.element,"dragend",function(b){Object(m.a)(b);void 0!==D&&D.viewer===a&&D.disposer()}),this.element.insertBefore(d.element,this.element.firstChild)):(this.layerPanel.dispose(),this.layerPanel=void 0)}},{key:"disposed",value:function(){Object(v.a)(this.element);var a=this.layerPanel;void 0!==a&&(a.dispose(),this.layerPanel=void 0);A(f.prototype.__proto__||
+Object.getPrototypeOf(f.prototype),"disposed",this).call(this)}},{key:"perspectiveNavigationState",get:function(){return this.viewerNavigationState.perspectiveNavigationState}},{key:"navigationState",get:function(){return this.viewerNavigationState.navigationState}},{key:"display",get:function(){return this.viewerState.display}},{key:"selectedLayer",get:function(){return this.viewerState.selectedLayer}},{key:"layerManager",get:function(){return this.layerSpecification.layerManager}},{key:"chunkManager",
 get:function(){return this.layerSpecification.chunkManager}},{key:"mouseState",get:function(){return this.viewerState.mouseState}},{key:"showAxisLines",get:function(){return this.viewerState.showAxisLines}},{key:"showScaleBar",get:function(){return this.viewerState.showScaleBar}},{key:"showPerspectiveSliceViews",get:function(){return this.viewerState.showPerspectiveSliceViews}},{key:"inputEventBindings",get:function(){return this.viewerState.inputEventBindings}},{key:"visibility",get:function(){return this.viewerState.visibility}},
-{key:"changed",get:function(){return this.state.changed}}]);return e}(g.a)},function(g,e,a){function p(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function n(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function m(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=
-Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a,b){if("move"===a.method)return!1;a.manager.layerManager.filter(function(b){return!a.layers.has(b)});return void 0!==b&&a.layers.has(b)}function b(a,b,d){function f(b,f){var e=a.dropLayers,h=f?Object(k.d)(b,a.manager):Object(u.c)(),g=!0;if(void 0!==e&&(f&&Object(u.e)(b,h),!e.compatibleWithMethod(h)&&(a.dropLayers=void 0,c(e,
-d))))return;if(void 0===e){e=a.dropLayers=Object(k.b)(b,a.manager,"copy"===h,!0,!1);if(void 0===e)return;g="move"===e.method}if(void 0!==d&&e.layers.has(d))return e;if(g){var l=a.manager.layerManager,q=new Set,m=Number.POSITIVE_INFINITY;b=l.managedLayers=l.managedLayers.filter(function(a,b){return e.layers.has(a)?(m===Number.POSITIVE_INFINITY&&(m=b),q.add(a),!1):!0});void 0!==d?(f=b.indexOf(d),m<=f&&++f):f=b.length;h=$jscomp.makeIterator(e.layers.keys());for(g=h.next();!g.done;g=h.next())g=g.value,
-q.has(g)||e.layers.delete(g);b.splice.apply(b,[].concat([f,0],$jscomp.arrayFromIterable(e.layers.keys())));l.layersChanged.dispatch()}else for(void 0!==d&&(l=a.manager.layerManager.managedLayers.indexOf(d)),b=$jscomp.makeIterator(e.layers.keys()),f=b.next();!f.done;f=b.next())a.manager.add(f.value,l);return e}var e=Object(r.c)(b,"dragenter",function(a){void 0!==f(a,!0)&&a.preventDefault()}),h=Object(r.c)(b,"drop",function(b){b.preventDefault();var d=f(b,!1);void 0!==d&&(d.finalize(b)?(b.dataTransfer.dropEffect=
-Object(u.c)(),Object(k.a)("move"===d.method?void 0:b)):c(d));a.dropLayers=void 0}),g=Object(r.c)(b,"dragover",function(a){void 0!==f(a,!0)&&(a.preventDefault(),a.stopPropagation())});return function(){g();h();e()}}a.d(e,"a",function(){return x});var d=a(160),f=a(20),h=a(55),q=a(104),k=a(105),t=a(162),r=a(1),l=a(9),u=a(106),A=a(107),y=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,
-d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),z=function E(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return E(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}};a(36);a(304);a(72);var B=function(a){function c(a,e){p(this,c);var h=n(this,(c.__proto__||Object.getPrototypeOf(c)).call(this));h.layer=a;h.panel=e;var g=h.element=document.createElement("div");
-g.title="Right click for layer options, drag to move/copy.";g.className="neuroglancer-layer-item neuroglancer-noselect";var l=h.labelElement=document.createElement("span");l.className="neuroglancer-layer-item-label";var m=h.layerNumberElement=document.createElement("span");m.className="neuroglancer-layer-item-number";var r=h.valueElement=document.createElement("span");r.className="neuroglancer-layer-item-value";var t=document.createElement("span");t.title="Delete layer";t.className="neuroglancer-layer-item-close";
-h.registerEventListener(t,"click",function(a){h.panel.layerManager.removeManagedLayer(h.layer);a.stopPropagation()});g.appendChild(m);g.appendChild(l);g.appendChild(r);g.appendChild(t);h.registerEventListener(g,"click",function(b){a.setVisible(!a.visible)});l=h.contextMenu=h.registerDisposer(new q.a(g));l.element.classList.add("neuroglancer-layer-dropdown");l.opened.add(function(){if(void 0!==h.dropdown)h.dropdown.onShow()});l.closed.add(function(){if(void 0!==h.dropdown)h.dropdown.onHide()});g.draggable=
-!0;h.registerEventListener(g,"dragstart",function(a){Object(k.e)(a,{manager:e.manager,layers:[h.layer]});a.stopPropagation()});h.registerEventListener(g,"dragend",function(a){Object(k.a)(a)});h.registerDisposer(b(h.panel,g,h.layer));h.registerEventListener(g,"dblclick",function(b){a instanceof f.b&&new d.a(h.panel.manager,a)});h.handleLayerChanged();h.registerDisposer(a.layerChanged.add(function(){h.handleLayerChanged()}));return h}m(c,a);y(c,[{key:"update",value:function(){var a=this.layer;this.labelElement.textContent=
-a.name;this.element.setAttribute("layer-visible",a.visible.toString())}},{key:"handleLayerChanged",value:function(){var a=this.layer.layer;if(a!==this.userLayer)if(this.dropdown&&(this.dropdown.dispose(),Object(l.a)(this.contextMenu.element)),this.userLayer=a){var b=document.createElement("div");this.contextMenu.element.appendChild(b);this.dropdown=a.makeDropdown(b)}else this.dropdown=void 0;this.contextMenu.disabled=void 0===this.dropdown}},{key:"disposed",value:function(){this.dropdown&&this.dropdown.dispose();
-this.element.parentElement.removeChild(this.element);z(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"disposed",this).call(this)}}]);return c}(r.a),x=function(a){function f(a,d,e){p(this,f);var g=n(this,(f.__proto__||Object.getPrototypeOf(f)).call(this));g.display=a;g.manager=d;g.viewerNavigationState=e;g.layerWidgets=new Map;g.element=document.createElement("div");g.layerUpdateNeeded=!0;g.valueUpdateNeeded=!1;g.layerWidgetInsertionPoint=document.createElement("div");g.positionWidget=
-g.registerDisposer(new A.b(g.viewerNavigationState.position.value));g.scheduleUpdate=g.registerCancellable(Object(t.a)(function(){return g.update()}));var k=g.element;k.className="neuroglancer-layer-panel";g.registerDisposer(d.layerSelectedValues.changed.add(function(){g.handleLayerValuesChanged()}));g.registerDisposer(d.layerManager.layersChanged.add(function(){g.handleLayersChanged()}));g.layerWidgetInsertionPoint.style.display="none";g.element.appendChild(g.layerWidgetInsertionPoint);d=g.addButton=
-document.createElement("div");d.className="neuroglancer-layer-add-button neuroglancer-button";d.title="Add layer";d.textContent="+";e=g.dropZone=document.createElement("div");e.className="neuroglancer-layer-panel-drop-zone";g.registerEventListener(d,"click",function(){g.addLayerMenu()});k.appendChild(d);k.appendChild(e);g.registerDisposer(Object(u.d)(d));k.appendChild(g.positionWidget.element);var l=function(){g.positionWidget.element.style.display=g.viewerNavigationState.position.link.value===h.d.LINKED?
-"none":null};g.registerDisposer(g.viewerNavigationState.position.link.changed.add(l));l();g.update();g.registerEventListener(k,"dragleave",function(a){a.relatedTarget&&k.contains(a.relatedTarget)||(a=g.dropLayers,void 0!==a&&(c(a),g.dropLayers=void 0))});g.registerDisposer(b(g,d,void 0));g.registerDisposer(b(g,e,void 0));g.registerDisposer(a.updateStarted.add(function(){return g.updateLayers()}));return g}m(f,a);y(f,[{key:"disposed",value:function(){this.layerWidgets.forEach(function(a){return a.dispose()});
-this.layerWidgets=void 0;z(f.prototype.__proto__||Object.getPrototypeOf(f.prototype),"disposed",this).call(this)}},{key:"handleLayersChanged",value:function(){this.layerUpdateNeeded=!0;this.handleLayerValuesChanged()}},{key:"handleLayerValuesChanged",value:function(){this.valueUpdateNeeded||(this.valueUpdateNeeded=!0,this.scheduleUpdate())}},{key:"update",value:function(){this.valueUpdateNeeded=!1;this.updateLayers();for(var a=this.manager.layerSelectedValues,b=$jscomp.makeIterator(this.layerWidgets),
-c=b.next();!c.done;c=b.next()){c=$jscomp.makeIterator(c.value);var d=c.next().value;c=c.next().value;var f=d.layer;d="";null!==f&&(f=a.get(f),void 0!==f&&(d=""+f));c.valueElement.textContent=d}}},{key:"updateLayers",value:function(){var a=this;if(this.layerUpdateNeeded){this.layerUpdateNeeded=!1;var b=this.element,c=new Set,d=this.layerWidgetInsertionPoint.nextElementSibling;this.manager.layerManager.managedLayers.forEach(function(f){c.add(f);var e=a.layerWidgets.get(f),h=a.manager.rootLayers.managedLayers.indexOf(f);
-void 0===e&&(e=new B(f,a),a.layerWidgets.set(f,e));e.layerNumberElement.textContent=""+(1+h);e.update();f=e.element;f!==d&&b.insertBefore(e.element,d);d=f.nextElementSibling});for(var f=$jscomp.makeIterator(this.layerWidgets),e=f.next();!e.done;e=f.next()){var h=$jscomp.makeIterator(e.value);e=h.next().value;h=h.next().value;c.has(e)||(this.layerWidgets.delete(e),h.dispose())}}}},{key:"addLayerMenu",value:function(){new d.a(this.manager)}},{key:"layerManager",get:function(){return this.manager.layerManager}}]);
-return f}(r.a)},function(g,e){},function(g,e,a){e.b=function(a){return Array.prototype.map.call(a,function(a){return("0"+a.toString(16)).slice(-2)}).join("")};e.a=function(a){if(!/^(?:[0-9a-fA-F]{2})*$/.test(a))throw Error("Invalid hex-encoded string");for(var e=a.length/2,g=new Uint8Array(e),c=0;c<e;++c)g[c]=parseInt(a.substr(2*c,2),16);return g}},function(g,e){},function(g,e){},function(g,e,a){function p(a,c){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
-return!c||"object"!==typeof c&&"function"!==typeof c?a:c}function n(a,c){if("function"!==typeof c&&null!==c)throw new TypeError("Super expression must either be null or a function, not "+typeof c);a.prototype=Object.create(c&&c.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});c&&(Object.setPrototypeOf?Object.setPrototypeOf(a,c):a.__proto__=c)}a.d(e,"a",function(){return c});g=a(1);var m=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||
-!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,e){c&&a(b.prototype,c);e&&a(b,e);return b}}(),c=function(a){function b(a){if(!(this instanceof b))throw new TypeError("Cannot call a class as a function");var c=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.model=a;c.element=document.createElement("select");c.valueIndexMap=new Map;for(var d=c.element,f=c.valueIndexMap,e=0,g=$jscomp.makeIterator(Object.keys(a.enumType)),l=g.next();!l.done;l=
-g.next())if(l=l.value,isNaN(Number(l))){var m=document.createElement("option");m.textContent=m.value=l.toLowerCase();d.appendChild(m);f.set(a.enumType[l],e);++e}c.registerDisposer(a.changed.add(function(){return c.updateView()}));c.registerEventListener(d,"change",function(){return c.updateModel()});c.updateView();return c}n(b,a);m(b,[{key:"updateView",value:function(){this.element.selectedIndex=this.valueIndexMap.get(this.model.value)}},{key:"updateModel",value:function(){this.model.restoreState(this.element.value)}}]);
-return b}(g.a)},function(g,e){},function(g,e){},function(g,e,a){function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?
-Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(e,"a",function(){return f});var m=a(14);g=a(1);var c=a(9),b=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),d=function q(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return q(a,
-b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},f=function(a){function f(a,b){b=void 0===b?{}:b;if(!(this instanceof f))throw new TypeError("Cannot call a class as a function");var c=p(this,(f.__proto__||Object.getPrototypeOf(f)).call(this));c.model=a;c.element=document.createElement("label");c.inputElement=document.createElement("input");var d=b;b=d.validator;d=d.label;var e=c.element,g=c.inputElement;void 0===b&&(b=a instanceof m.a?a.validator:function(a){return a});
-c.validator=b;void 0!==d&&(e.textContent=d);e.appendChild(g);e.className="neuroglancer-number-input";g.type="input";c.registerDisposer(c.model.changed.add(function(){return c.updateView()}));c.registerEventListener(g,"change",function(){return c.updateModel()});c.updateView();return c}n(f,a);b(f,[{key:"updateView",value:function(){this.inputElement.value=""+this.model.value}},{key:"updateModel",value:function(){var a=parseFloat(this.inputElement.value.trim());if(Number.isNaN(a))this.updateView();
-else try{a=this.validator(a),this.model.value=a}catch(r){this.updateView()}}},{key:"disposed",value:function(){Object(c.b)(this.element);d(f.prototype.__proto__||Object.getPrototypeOf(f.prototype),"disposed",this).call(this)}}]);return f}(g.a)},function(g,e){},function(g,e,a){e.a=function(){return Object(p.c)(document,"contextmenu",function(a){a.preventDefault()})};e.b=function(){return Object(p.c)(document,"wheel",function(a){a.ctrlKey&&a.preventDefault()})};var p=a(1)},function(g,e,a){e.a=function(a){a.registerEventListener(document,
-"copy",function(b){if(!Object(p.a)(b)){var c=Object(m.b)(a.state).value;b.clipboardData.setData("text/plain",JSON.stringify(c,void 0,"  "));b.preventDefault()}})};e.b=function(a){a.registerEventListener(document,"paste",function(b){if(!Object(p.a)(b)){var c=b.clipboardData.getData("text/plain").match(/^[\[\]{}()\s,]*(\d+(?:\.\d+)?)[,\s]+(\d+(?:\.\d+)?)[,\s]+(\d+(?:\.\d+)?)[\[\]{}()\s,]*$/);c=null!==c?n.p.fromValues(parseFloat(c[1]),parseFloat(c[2]),parseFloat(c[3])):void 0;void 0!==c&&a.navigationState.position.setVoxelCoordinates(c);
-b.preventDefault()}})};var p=a(163),n=a(3),m=a(70)},function(g,e,a){function p(){if(void 0===d){var a=new b.a;a.set("keyl","recolor");a.set("keyx","clear-segments");a.set("keys","toggle-show-slices");a.set("keyb","toggle-scale-bar");a.set("keya","toggle-axis-lines");for(var c=1;9>=c;++c)a.set("digit"+c,"toggle-layer-"+c);a.set("keyn","add-layer");a.set("keyh","help");a.set("space","toggle-layout");a.set("shift+space","toggle-layout-alternative");d=a}return d}function n(){void 0===f&&(f=b.a.fromObject({arrowleft:"x-",
-arrowright:"x+",arrowup:"y-",arrowdown:"y+",comma:"z-",period:"z+",keyz:"snap","control+equal":"zoom-in","control+shift+equal":"zoom-in","control+minus":"zoom-out",keyr:"rotate-relative-z-",keye:"rotate-relative-z+","shift+arrowdown":"rotate-relative-x-","shift+arrowup":"rotate-relative-x+","shift+arrowleft":"rotate-relative-y-","shift+arrowright":"rotate-relative-y+","at:control+wheel":{action:"zoom-via-wheel",preventDefault:!0},"at:wheel":{action:"z+1-via-wheel",preventDefault:!0},"at:shift+wheel":{action:"z+10-via-wheel",
-preventDefault:!0},"at:dblclick0":"select","at:control+mousedown0":"annotate","at:mousedown2":"move-to-mouse-position"},{label:"All Data Panels"}));return f}function m(){void 0===h&&(h=b.a.fromObject({"at:mousedown0":{action:"rotate-via-mouse-drag",stopPropagation:!0},"at:shift+mousedown0":{action:"translate-via-mouse-drag",stopPropagation:!0}},{parents:[[n(),Number.NEGATIVE_INFINITY]]}));return h}function c(){void 0===q&&(q=b.a.fromObject({"at:mousedown0":{action:"translate-via-mouse-drag",stopPropagation:!0},
-"at:shift+mousedown0":{action:"rotate-via-mouse-drag",stopPropagation:!0}},{parents:[[n(),Number.NEGATIVE_INFINITY]]}));return q}e.a=function(a){a.global.addParent(p(),Number.NEGATIVE_INFINITY);a.sliceView.addParent(c(),Number.NEGATIVE_INFINITY);a.perspectiveView.addParent(m(),Number.NEGATIVE_INFINITY)};var b=a(22),d,f,h,q},function(g,e,a){function p(){var a=q.SingleMeshUserLayer.prototype.addRenderLayer;q.SingleMeshUserLayer.prototype.addRenderLayer=function(b){b instanceof k.c&&Object(A.a)(b);a.call(this,
-b)}}function n(){var a=f.ImageUserLayer.prototype.transformPickedValue;f.ImageUserLayer.prototype.transformPickedValue=function(b){b=a.call(this,b);null===b&&(b=void 0);return b}}function m(){var a=h.SegmentationUserLayer.prototype.addRenderLayer;h.SegmentationUserLayer.prototype.addRenderLayer=function(b){b instanceof r.a&&(b.segmentColorShaderManager=new y.b("segmentColorHash"));a.call(this,b)}}function c(){h.SegmentationUserLayer.prototype.addMesh=function(a){this.meshLayer=new u.a(this.manager.chunkManager,
-a,this.displayState);this.addRenderLayer(this.meshLayer)}}function b(){var a=t.a.prototype.makeUI;t.a.prototype.makeUI=function(){var b=this.options;b.showHelpButton=!1;b.showLayerDialog=!1;b.showLayerPanel=!1;b.showLocation=!1;a.call(this)}}e.a=function(a){a=a.globals||{};z||(a.useNehubaLayout&&(d.c.clear(),d.c.set("4panel",{factory:function(a,b,c){return new l.a(a,b,c)}}),d.c.set("xy",{factory:function(a,b,c){return new l.a(a,b,c)}})),a.hideNullImageValues&&n(),a.useCustomSegmentColors&&m(),a.useNehubaMeshLayer&&
-c(),a.useNehubaSingleMeshLayer&&p(),a.embedded&&b(),z=!0)};var d=a(71),f=a(93),h=a(69),q=a(151),k=a(101),t=a(158),r=a(150),l=a(108),u=a(110),A=a(317),y=a(109),z=!1},function(g,e,a){function p(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function n(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function m(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+
-typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(e,"a",function(){return q});a.d(e,"b",function(){return k});g=a(1);var c=a(3),b=a(27),d=a(31),f=a(66),h=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,
-c);d&&a(b,d);return b}}(),q=function(a){function e(a,b,h){p(this,e);var g=n(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));g.gl=a;g.copyVertexPositionsBuffer=Object(f.a)(g.gl);g.textureCoordinateAdjustment=new Float32Array(4);g.discardColor=c.r.fromValues(.5,.5,.5,1);var k=new d.a(a);k.addVarying("vec2","vTexCoord");k.addUniform("sampler2D","uSampler");k.addInitializer(function(b){a.uniform1i(b.uniform("uSampler"),0)});k.addUniform("vec4","uColorFactor");k.addUniform("vec4","uBackgroundColor");
-k.addUniform("mat4","uProjectionMatrix");k.addUniform("vec4","uTextureCoordinateAdjustment");k.addUniform("vec4","uDiscardColor");k.require(b);k.setFragmentMain("none"===h?"\nvec4 sampledColor = texture2D(uSampler, vTexCoord);\nif (sampledColor.a == 0.0) {\n  sampledColor = uBackgroundColor;\n}\nemit(sampledColor * uColorFactor, vec4(0,0,0,0));\n":"\nvec4 sampledColor = texture2D(uSampler, vTexCoord);\nif (sampledColor.a == 0.0) {\n  sampledColor = uBackgroundColor;\n}\nif (sampledColor.r "+h+" uDiscardColor.r && sampledColor.g "+
-h+" uDiscardColor.g && sampledColor.b "+h+" uDiscardColor.b) discard;\nelse emit(sampledColor * uColorFactor, vec4(0,0,0,0));\n");k.addAttribute("vec4","aVertexPosition");k.setVertexMain("\nvTexCoord = uTextureCoordinateAdjustment.xy + 0.5 * (aVertexPosition.xy + 1.0) * uTextureCoordinateAdjustment.zw;\ngl_Position = uProjectionMatrix * aVertexPosition;\n");g.shader=g.registerDisposer(k.build());return g}m(e,a);h(e,[{key:"draw",value:function(a,b,c,d,f,e,h,g){var k=this.gl,l=this.shader,q=this.textureCoordinateAdjustment;
-q[0]=f;q[1]=e;q[2]=h-f;q[3]=g-e;l.bind();k.activeTexture(k.TEXTURE0);k.bindTexture(k.TEXTURE_2D,a);k.uniformMatrix4fv(l.uniform("uProjectionMatrix"),!1,b);k.uniform4fv(l.uniform("uColorFactor"),c);k.uniform4fv(l.uniform("uBackgroundColor"),d);k.uniform4fv(l.uniform("uTextureCoordinateAdjustment"),q);k.uniform4fv(l.uniform("uDiscardColor"),this.discardColor);a=l.attribute("aVertexPosition");this.copyVertexPositionsBuffer.bindToVertexAttrib(a,2);k.drawArrays(k.TRIANGLE_FAN,0,4);k.disableVertexAttribArray(a);
-k.bindTexture(k.TEXTURE_2D,null)}},{key:"setDiscardColor",value:function(a){this.discardColor=a}}],[{key:"get",value:function(a,c,d){return a.memoize.get("nehuba/NehubaSliceViewRenderHelper:"+Object(b.a)(c)+":"+d,function(){return new e(a,c,d)})}}]);return e}(g.a),k=function(a){function c(a,b){p(this,c);var e=n(this,(c.__proto__||Object.getPrototypeOf(c)).call(this));e.gl=a;e.copyVertexPositionsBuffer=Object(f.a)(e.gl);a=new d.a(a);a.addUniform("mat4","uProjectionMatrix");a.addUniform("vec4","uColor");
-a.require(b);a.setFragmentMain("\nemit(uColor, vec4(0.0));\n");a.addAttribute("vec4","aVertexPosition");a.setVertexMain("\ngl_Position = uProjectionMatrix * aVertexPosition;\n");e.shader=e.registerDisposer(a.build());return e}m(c,a);h(c,[{key:"draw",value:function(a,b,c){var d=this.gl,f=this.shader;f.bind();d.uniformMatrix4fv(f.uniform("uProjectionMatrix"),!1,a);d.uniform4fv(f.uniform("uColor"),b);a=f.attribute("aVertexPosition");this.copyVertexPositionsBuffer.bindToVertexAttrib(a,2);c&&(d.enable(d.POLYGON_OFFSET_FILL),
-d.polygonOffset(c.factor,c.units));d.depthMask(!1);d.enable(d.BLEND);d.blendFunc(d.SRC_ALPHA,d.ONE_MINUS_SRC_ALPHA);d.drawArrays(d.TRIANGLE_FAN,0,4);d.disable(d.BLEND);d.depthMask(!0);d.polygonOffset(0,0);d.disable(d.POLYGON_OFFSET_FILL);d.disableVertexAttribArray(a)}}],[{key:"get",value:function(a,d){return a.memoize.get("nehuba/TransparentPlaneRenderHelper:"+Object(b.a)(d),function(){return new c(a,d)})}}]);return c}(g.a)},function(g,e,a){function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+
-typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(e,"a",function(){return b});g=a(1);var n=a(89),m=a(9),c=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();a(316);var b=
-function(a){function b(a){a=void 0===a?new n.a:a;if(!(this instanceof b))throw new TypeError("Cannot call a class as a function");var c=(b.__proto__||Object.getPrototypeOf(b)).call(this);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");c=!c||"object"!==typeof c&&"function"!==typeof c?this:c;c.dimensions=a;c.element=document.createElement("div");c.textNode=document.createTextNode("");c.barElement=document.createElement("div");a=c.element;var d=c.textNode,
-f=c.barElement;a.className="scale-bar-container";a.appendChild(d);a.appendChild(f);f.className="scale-bar";return c}p(b,a);c(b,[{key:"update",value:function(){var a=this.dimensions;a.update()&&(this.textNode.textContent=a.physicalLength+" "+a.physicalUnit,this.barElement.style.width=a.lengthInPixels+"px")}},{key:"disposed",value:function(){Object(m.b)(this.element)}}]);return b}(g.a)},function(g,e){},function(g,e,a){function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+
-typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}e.a=function(a){a.makeShaderManager=function(a){a=void 0===a?this.displayState.fragmentMain.value:a;return new f(this.displayState.attributeNames.value,this.source.info.vertexAttributes,a)};a.draw=function(a){if(a.emitColor||!a.alreadyEmittedPickID){var b=this.source.chunks.get(m.b);if(void 0!==b&&b.state===n.d.GPU_MEMORY){var d=
-this.getShader(a.emitter);if(null!==d){var f=this.gl,e=this.shaderManager;d.bind();e.beginLayer(f,d,a);a.extra||console.error("Bad configuration. Nehuba mesh layer is used by neuroglancer code.");var h=Object(c.c)(a.extra);e.setNavState(f,d,h.navState);e.setOctant(f,d,h.octant);e.setBackFaceColor(f,d,h.backFaceColor);h=a.pickIDs;e.beginObject(f,d,this.displayState.objectToDataTransform.transform);a.emitPickID&&e.setPickID(f,d,h.register(this,b.numIndices/3));e.drawFragment(f,d,b,this.countingBuffer);
-e.endLayer(f,d);a.extra.meshRendered=!0}}}}};var n=a(25),m=a(152);g=a(101);var c=a(110),b=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),d=function q(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return q(a,b,c)}else{if("value"in
-d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},f=function(a){function c(){if(!(this instanceof c))throw new TypeError("Cannot call a class as a function");var a=(c.__proto__||Object.getPrototypeOf(c)).apply(this,arguments);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!a||"object"!==typeof a&&"function"!==typeof a?this:a}p(c,a);b(c,[{key:"defineShader",value:function(a){d(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),
-"defineShader",this).call(this,a);a.addVarying("highp vec4","vNavPos");a.addUniform("highp mat4","uNavState");a.addUniform("highp vec4","uOctant");a.addUniform("highp vec4","uBackFaceColor");a.addVertexMain("\nvec4 position = uModelMatrix * vec4(vertexPosition, 1.0);\nvNavPos = uNavState * position * uOctant;\n");a.addFragmentCode(this.fragmentMain.replace("void main()","void userMain()"));a.setFragmentMain("\nif (vNavPos.x > 0.0 && vNavPos.y > 0.0 && vNavPos.z > 0.0) {\n  discard;\n} else {\n  if (gl_FrontFacing) userMain();\n  else emit(uBackFaceColor, uPickID);\n}\n")}},
-{key:"setNavState",value:function(a,b,c){a.uniformMatrix4fv(b.uniform("uNavState"),!1,c)}},{key:"setOctant",value:function(a,b,c){a.uniform4fv(b.uniform("uOctant"),c)}},{key:"setBackFaceColor",value:function(a,b,c){a.uniform4fv(b.uniform("uBackFaceColor"),c)}}]);return c}(g.d)},function(g,e,a){e.a=function(a,c,b){var d=Object.assign({prefire:!0,share:!0},b),f=a instanceof p.a?a:a.s,e=a instanceof p.a?a:a.r;a=n.Observable.create(function(a){d.prefire&&a.next(c(f));var b=f.changed.add(function(){a.next(c(f))}),
-h=e.registerDisposer(function(){return a.complete()});return function(){b();e.unregisterDisposer(h)}});return d.share?d.prefire?a.publishReplay(1).refCount():a.share():a};var p=a(1),n=a(167);a.n(n)},function(g,e,a){g=a(10);e.Subject=g.Subject;e.AnonymousSubject=g.AnonymousSubject;g=a(0);e.Observable=g.Observable;a(321);a(324);a(327);a(330);a(332);a(335);a(337);a(340);a(344);a(347);a(350);a(352);a(355);a(358);a(363);a(365);a(367);a(370);a(372);a(374);a(377);a(380);a(383);a(386);a(389);a(391);a(393);
-a(399);a(401);a(403);a(405);a(407);a(409);a(411);a(413);a(414);a(415);a(417);a(419);a(421);a(423);a(425);a(427);a(429);a(431);a(433);a(435);a(438);a(439);a(441);a(443);a(445);a(447);a(449);a(451);a(452);a(454);a(455);a(457);a(459);a(464);a(466);a(468);a(470);a(472);a(474);a(476);a(478);a(479);a(481);a(483);a(485);a(486);a(487);a(488);a(489);a(491);a(493);a(494);a(495);a(496);a(498);a(501);a(503);a(505);a(507);a(509);a(511);a(512);a(513);a(515);a(517);a(519);a(521);a(523);a(525);a(527);a(529);a(531);
-a(533);a(535);a(537);a(539);a(541);a(543);a(545);a(553);a(555);a(557);a(559);a(561);a(563);a(565);a(567);a(568);a(570);a(571);a(573);a(575);a(576);a(578);a(580);a(582);a(584);a(586);a(588);a(590);a(592);a(593);g=a(8);e.Subscription=g.Subscription;g=a(2);e.Subscriber=g.Subscriber;g=a(77);e.AsyncSubject=g.AsyncSubject;g=a(81);e.ReplaySubject=g.ReplaySubject;g=a(188);e.BehaviorSubject=g.BehaviorSubject;g=a(187);e.ConnectableObservable=g.ConnectableObservable;g=a(57);e.Notification=g.Notification;g=a(82);
-e.EmptyError=g.EmptyError;g=a(60);e.ArgumentOutOfRangeError=g.ArgumentOutOfRangeError;g=a(76);e.ObjectUnsubscribedError=g.ObjectUnsubscribedError;g=a(193);e.TimeoutError=g.TimeoutError;g=a(169);e.UnsubscriptionError=g.UnsubscriptionError;g=a(192);e.TimeInterval=g.TimeInterval;g=a(194);e.Timestamp=g.Timestamp;g=a(595);e.TestScheduler=g.TestScheduler;g=a(198);e.VirtualTimeScheduler=g.VirtualTimeScheduler;g=a(180);e.AjaxResponse=g.AjaxResponse;e.AjaxError=g.AjaxError;e.AjaxTimeoutError=g.AjaxTimeoutError;
-g=a(189);var p=a(17),n=a(181),m=a(598),c=a(74),b=a(56);a=a(75);e.Scheduler={asap:g.asap,queue:n.queue,animationFrame:m.animationFrame,async:p.async};e.Symbol={rxSubscriber:c.rxSubscriber,observable:a.observable,iterator:b.iterator}},function(g,e,a){var p=a(2),n=a(74),m=a(170);e.toSubscriber=function(a,b,d){if(a){if(a instanceof p.Subscriber)return a;if(a[n.rxSubscriber])return a[n.rxSubscriber]()}return a||b||d?new p.Subscriber(a,b,d):new p.Subscriber(m.empty)}},function(g,e,a){g=a(0);a=a(322);g.Observable.bindCallback=
-a.bindCallback},function(g,e,a){g=a(323);e.bindCallback=g.BoundCallbackObservable.create},function(g,e,a){function p(a){var b=a.subject;b.next(a.value);b.complete()}function n(a){a.subject.error(a.err)}var m=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};g=a(0);var c=a(13),b=a(11),d=a(77);a=function(a){function f(b,c,d,f,e){a.call(this);this.callbackFunc=b;this.selector=
-c;this.args=d;this.context=f;this.scheduler=e}m(f,a);f.create=function(a,b,c){void 0===b&&(b=void 0);return function(){for(var d=[],e=0;e<arguments.length;e++)d[e-0]=arguments[e];return new f(a,b,d,this,c)}};f.prototype._subscribe=function(a){var e=this.callbackFunc,h=this.args,g=this.scheduler,l=this.subject;if(g)return g.schedule(f.dispatch,0,{source:this,subscriber:a,context:this.context});l||(l=this.subject=new d.AsyncSubject,g=function A(){for(var a=[],d=0;d<arguments.length;d++)a[d-0]=arguments[d];
-var f=A.source;d=f.selector;f=f.subject;d?(a=c.tryCatch(d).apply(this,a),a===b.errorObject?f.error(b.errorObject.e):(f.next(a),f.complete())):(f.next(1>=a.length?a[0]:a),f.complete())},g.source=this,c.tryCatch(e).apply(this.context,h.concat(g))===b.errorObject&&l.error(b.errorObject.e));return l.subscribe(a)};f.dispatch=function(a){var f=this,e=a.source,h=a.subscriber;a=a.context;var g=e.callbackFunc,q=e.args,m=e.scheduler,y=e.subject;if(!y){y=e.subject=new d.AsyncSubject;var z=function x(){for(var a=
-[],d=0;d<arguments.length;d++)a[d-0]=arguments[d];var e=x.source;d=e.selector;e=e.subject;d?(a=c.tryCatch(d).apply(this,a),a===b.errorObject?f.add(m.schedule(n,0,{err:b.errorObject.e,subject:e})):f.add(m.schedule(p,0,{value:a,subject:e}))):f.add(m.schedule(p,0,{value:1>=a.length?a[0]:a,subject:e}))};z.source=e;c.tryCatch(g).apply(a,q.concat(z))===b.errorObject&&y.error(b.errorObject.e)}f.add(y.subscribe(h))};return f}(g.Observable);e.BoundCallbackObservable=a},function(g,e,a){g=a(0);a=a(325);g.Observable.bindNodeCallback=
-a.bindNodeCallback},function(g,e,a){g=a(326);e.bindNodeCallback=g.BoundNodeCallbackObservable.create},function(g,e,a){function p(a){var c=this,e=a.source,h=a.subscriber;a=a.context;var g=e.callbackFunc,l=e.args,p=e.scheduler,A=e.subject;if(!A){A=e.subject=new f.AsyncSubject;var y=function B(){for(var a=[],f=0;f<arguments.length;f++)a[f-0]=arguments[f];var e=B.source;f=e.selector;e=e.subject;var h=a.shift();h?c.add(p.schedule(m,0,{err:h,subject:e})):f?(a=b.tryCatch(f).apply(this,a),a===d.errorObject?
-c.add(p.schedule(m,0,{err:d.errorObject.e,subject:e})):c.add(p.schedule(n,0,{value:a,subject:e}))):c.add(p.schedule(n,0,{value:1>=a.length?a[0]:a,subject:e}))};y.source=e;b.tryCatch(g).apply(a,l.concat(y))===d.errorObject&&c.add(p.schedule(m,0,{err:d.errorObject.e,subject:A}))}c.add(A.subscribe(h))}function n(a){var b=a.subject;b.next(a.value);b.complete()}function m(a){a.subject.error(a.err)}var c=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&
-(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};g=a(0);var b=a(13),d=a(11),f=a(77);a=function(a){function e(b,c,d,f,e){a.call(this);this.callbackFunc=b;this.selector=c;this.args=d;this.context=f;this.scheduler=e}c(e,a);e.create=function(a,b,c){void 0===b&&(b=void 0);return function(){for(var d=[],f=0;f<arguments.length;f++)d[f-0]=arguments[f];return new e(a,b,d,this,c)}};e.prototype._subscribe=function(a){var c=this.callbackFunc,e=this.args,h=this.scheduler,g=this.subject;
-if(h)return h.schedule(p,0,{source:this,subscriber:a,context:this.context});g||(g=this.subject=new f.AsyncSubject,h=function y(){for(var a=[],c=0;c<arguments.length;c++)a[c-0]=arguments[c];var f=y.source;c=f.selector;f=f.subject;var e=a.shift();e?f.error(e):c?(a=b.tryCatch(c).apply(this,a),a===d.errorObject?f.error(d.errorObject.e):(f.next(a),f.complete())):(f.next(1>=a.length?a[0]:a),f.complete())},h.source=this,b.tryCatch(c).apply(this.context,e.concat(h))===d.errorObject&&g.error(d.errorObject.e));
-return g.subscribe(a)};return e}(g.Observable);e.BoundNodeCallbackObservable=a},function(g,e,a){g=a(0);a=a(328);g.Observable.combineLatest=a.combineLatest},function(g,e,a){var p=a(33),n=a(32),m=a(34),c=a(112);e.combineLatest=function(){for(var a=[],d=0;d<arguments.length;d++)a[d-0]=arguments[d];var f=d=null;p.isScheduler(a[a.length-1])&&(f=a.pop());"function"===typeof a[a.length-1]&&(d=a.pop());1===a.length&&n.isArray(a[0])&&(a=a[0]);return(new m.ArrayObservable(a,f)).lift(new c.CombineLatestOperator(d))}},
-function(g,e,a){var p=this&&this.__extends||function(a,e){function c(){this.constructor=a}for(var b in e)e.hasOwnProperty(b)&&(a[b]=e[b]);a.prototype=null===e?Object.create(e):(c.prototype=e.prototype,new c)};g=function(a){function e(c,b,d){a.call(this);this.parent=c;this.outerValue=b;this.outerIndex=d;this.index=0}p(e,a);e.prototype._next=function(a){this.parent.notifyNext(this.outerValue,a,this.outerIndex,this.index++,this)};e.prototype._error=function(a){this.parent.notifyError(a,this);this.unsubscribe()};
-e.prototype._complete=function(){this.parent.notifyComplete(this);this.unsubscribe()};return e}(a(2).Subscriber);e.InnerSubscriber=g},function(g,e,a){g=a(0);a=a(331);g.Observable.concat=a.concat},function(g,e,a){g=a(113);e.concat=g.concatStatic},function(g,e,a){g=a(0);a=a(333);g.Observable.defer=a.defer},function(g,e,a){g=a(334);e.defer=g.DeferObservable.create},function(g,e,a){var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var f in b)b.hasOwnProperty(f)&&(a[f]=b[f]);
-a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};g=a(0);var n=a(5);a=a(4);g=function(a){function b(b){a.call(this);this.observableFactory=b}p(b,a);b.create=function(a){return new b(a)};b.prototype._subscribe=function(a){return new m(a,this.observableFactory)};return b}(g.Observable);e.DeferObservable=g;var m=function(a){function b(b,c){a.call(this,b);this.factory=c;this.tryDefer()}p(b,a);b.prototype.tryDefer=function(){try{this._callFactory()}catch(d){this._error(d)}};b.prototype._callFactory=
-function(){var a=this.factory();a&&this.add(n.subscribeToResult(this,a))};return b}(a.OuterSubscriber)},function(g,e,a){g=a(0);a=a(336);g.Observable.empty=a.empty},function(g,e,a){g=a(38);e.empty=g.EmptyObservable.create},function(g,e,a){g=a(0);a=a(338);g.Observable.forkJoin=a.forkJoin},function(g,e,a){g=a(339);e.forkJoin=g.ForkJoinObservable.create},function(g,e,a){var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=
-null===b?Object.create(b):(c.prototype=b.prototype,new c)};g=a(0);var n=a(38),m=a(32),c=a(5);a=a(4);g=function(a){function c(b,c){a.call(this);this.sources=b;this.resultSelector=c}p(c,a);c.create=function(){for(var a=[],b=0;b<arguments.length;b++)a[b-0]=arguments[b];if(null===a||0===arguments.length)return new n.EmptyObservable;b=null;"function"===typeof a[a.length-1]&&(b=a.pop());1===a.length&&m.isArray(a[0])&&(a=a[0]);return 0===a.length?new n.EmptyObservable:new c(a,b)};c.prototype._subscribe=
-function(a){return new b(a,this.sources,this.resultSelector)};return c}(g.Observable);e.ForkJoinObservable=g;var b=function(a){function b(b,d,f){a.call(this,b);this.sources=d;this.resultSelector=f;this.haveValues=this.completed=0;this.total=b=d.length;this.values=Array(b);for(f=0;f<b;f++){var e=c.subscribeToResult(this,d[f],null,f);e&&(e.outerIndex=f,this.add(e))}}p(b,a);b.prototype.notifyNext=function(a,b,c,d,f){this.values[c]=b;f._hasValue||(f._hasValue=!0,this.haveValues++)};b.prototype.notifyComplete=
-function(a){var b=this.destination,c=this.haveValues,d=this.resultSelector,f=this.values,e=f.length;a._hasValue?(this.completed++,this.completed===e&&(c===e&&(a=d?d.apply(this,f):f,b.next(a)),b.complete())):b.complete()};return b}(a.OuterSubscriber)},function(g,e,a){g=a(0);a=a(341);g.Observable.from=a.from},function(g,e,a){g=a(174);e.from=g.FromObservable.create},function(g,e,a){var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);
-a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},n=a(12);g=a(0);var m=a(56);a=function(a){function d(d,f){a.call(this);this.scheduler=f;if(null==d)throw Error("iterator cannot be null.");if((f=d[m.iterator])||"string"!==typeof d)if(f||void 0===d.length){if(!f)throw new TypeError("object is not iterable");d=d[m.iterator]()}else d=new b(d);else d=new c(d);this.iterator=d}p(d,a);d.create=function(a,b){return new d(a,b)};d.dispatch=function(a){var b=a.index,c=a.iterator,d=a.subscriber;
-if(a.hasError)d.error(a.error);else{var f=c.next();f.done?d.complete():(d.next(f.value),a.index=b+1,d.closed?"function"===typeof c.return&&c.return():this.schedule(a))}};d.prototype._subscribe=function(a){var b=this.iterator,c=this.scheduler;if(c)return c.schedule(d.dispatch,0,{index:0,iterator:b,subscriber:a});do{c=b.next();if(c.done){a.complete();break}else a.next(c.value);if(a.closed){"function"===typeof b.return&&b.return();break}}while(1)};return d}(g.Observable);e.IteratorObservable=a;var c=
-function(){function a(a,b,c){void 0===b&&(b=0);void 0===c&&(c=a.length);this.str=a;this.idx=b;this.len=c}a.prototype[m.iterator]=function(){return this};a.prototype.next=function(){return this.idx<this.len?{done:!1,value:this.str.charAt(this.idx++)}:{done:!0,value:void 0}};return a}(),b=function(){function a(a,b,c){void 0===b&&(b=0);if(void 0===c)if(c=+a.length,isNaN(c))c=0;else if(0!==c&&"number"===typeof c&&n.root.isFinite(c)){var f=+c;f=0===f?f:isNaN(f)?f:0>f?-1:1;c=f*Math.floor(Math.abs(c));c=
-0>=c?0:c>d?d:c}this.arr=a;this.idx=b;this.len=c}a.prototype[m.iterator]=function(){return this};a.prototype.next=function(){return this.idx<this.len?{done:!1,value:this.arr[this.idx++]}:{done:!0,value:void 0}};return a}(),d=Math.pow(2,53)-1},function(g,e,a){var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var f in b)b.hasOwnProperty(f)&&(a[f]=b[f]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};g=a(0);var n=a(111),m=a(38);a=function(a){function b(b,
-c){a.call(this);this.arrayLike=b;this.scheduler=c;c||1!==b.length||(this._isScalar=!0,this.value=b[0])}p(b,a);b.create=function(a,c){var d=a.length;return 0===d?new m.EmptyObservable:1===d?new n.ScalarObservable(a[0],c):new b(a,c)};b.dispatch=function(a){var b=a.arrayLike,c=a.index,d=a.subscriber;d.closed||(c>=a.length?d.complete():(d.next(b[c]),a.index=c+1,this.schedule(a)))};b.prototype._subscribe=function(a){var c=this.arrayLike,d=this.scheduler,e=c.length;if(d)return d.schedule(b.dispatch,0,{arrayLike:c,
-index:0,length:e,subscriber:a});for(d=0;d<e&&!a.closed;d++)a.next(c[d]);a.complete()};return b}(g.Observable);e.ArrayLikeObservable=a},function(g,e,a){g=a(0);a=a(345);g.Observable.fromEvent=a.fromEvent},function(g,e,a){g=a(346);e.fromEvent=g.FromEventObservable.create},function(g,e,a){var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};g=a(0);var n=a(13),m=a(73),
-c=a(11),b=a(8),d=Object.prototype.toString;a=function(a){function f(b,c,d,f){a.call(this);this.sourceObj=b;this.eventName=c;this.selector=d;this.options=f}p(f,a);f.create=function(a,b,c,d){m.isFunction(c)&&(d=c,c=void 0);return new f(a,b,d,c)};f.setupSubscription=function(a,c,e,h,g){if(a&&"[object NodeList]"===d.call(a)||a&&"[object HTMLCollection]"===d.call(a))for(var k=0,l=a.length;k<l;k++)f.setupSubscription(a[k],c,e,h,g);else if(a&&"function"===typeof a.addEventListener&&"function"===typeof a.removeEventListener){a.addEventListener(c,
-e,g);var m=function(){return a.removeEventListener(c,e)}}else if(a&&"function"===typeof a.on&&"function"===typeof a.off)a.on(c,e),m=function(){return a.off(c,e)};else if(a&&"function"===typeof a.addListener&&"function"===typeof a.removeListener)a.addListener(c,e),m=function(){return a.removeListener(c,e)};else throw new TypeError("Invalid event target");h.add(new b.Subscription(m))};f.prototype._subscribe=function(a){var b=this.selector;f.setupSubscription(this.sourceObj,this.eventName,b?function(){for(var d=
-[],f=0;f<arguments.length;f++)d[f-0]=arguments[f];d=n.tryCatch(b).apply(void 0,d);d===c.errorObject?a.error(c.errorObject.e):a.next(d)}:function(b){return a.next(b)},a,this.options)};return f}(g.Observable);e.FromEventObservable=a},function(g,e,a){g=a(0);a=a(348);g.Observable.fromEventPattern=a.fromEventPattern},function(g,e,a){g=a(349);e.fromEventPattern=g.FromEventPatternObservable.create},function(g,e,a){var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var f in b)b.hasOwnProperty(f)&&
-(a[f]=b[f]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},n=a(73);g=a(0);var m=a(8);a=function(a){function b(b,c,e){a.call(this);this.addHandler=b;this.removeHandler=c;this.selector=e}p(b,a);b.create=function(a,c,e){return new b(a,c,e)};b.prototype._subscribe=function(a){var b=this,c=this.removeHandler,d=this.selector?function(){for(var c=[],d=0;d<arguments.length;d++)c[d-0]=arguments[d];b._callSelector(a,c)}:function(b){a.next(b)},e=this._callAddHandler(d,a);n.isFunction(c)&&
-a.add(new m.Subscription(function(){c(d,e)}))};b.prototype._callSelector=function(a,b){try{var c=this.selector.apply(this,b);a.next(c)}catch(q){a.error(q)}};b.prototype._callAddHandler=function(a,b){try{return this.addHandler(a)||null}catch(h){b.error(h)}};return b}(g.Observable);e.FromEventPatternObservable=a},function(g,e,a){g=a(0);a=a(351);g.Observable.fromPromise=a.fromPromise},function(g,e,a){g=a(175);e.fromPromise=g.PromiseObservable.create},function(g,e,a){g=a(0);a=a(353);g.Observable.generate=
-a.generate},function(g,e,a){g=a(354);e.generate=g.GenerateObservable.create},function(g,e,a){var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var f in b)b.hasOwnProperty(f)&&(a[f]=b[f]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};g=a(0);var n=a(33),m=function(a){return a};a=function(a){function b(b,c,e,g,k){a.call(this);this.initialState=b;this.condition=c;this.iterate=e;this.resultSelector=g;this.scheduler=k}p(b,a);b.create=function(a,c,e,g,
-k){return 1==arguments.length?new b(a.initialState,a.condition,a.iterate,a.resultSelector||m,a.scheduler):void 0===g||n.isScheduler(g)?new b(a,c,e,m,g):new b(a,c,e,g,k)};b.prototype._subscribe=function(a){var c=this.initialState;if(this.scheduler)return this.scheduler.schedule(b.dispatch,0,{subscriber:a,iterate:this.iterate,condition:this.condition,resultSelector:this.resultSelector,state:c});var d=this.condition,e=this.resultSelector,g=this.iterate;do{if(d){var m=void 0;try{m=d(c)}catch(r){a.error(r);
-break}if(!m){a.complete();break}}m=void 0;try{m=e(c)}catch(r){a.error(r);break}a.next(m);if(a.closed)break;try{c=g(c)}catch(r){a.error(r);break}}while(1)};b.dispatch=function(a){var b=a.subscriber,c=a.condition;if(!b.closed){if(a.needIterate)try{a.state=a.iterate(a.state)}catch(t){b.error(t);return}else a.needIterate=!0;if(c){var d=void 0;try{d=c(a.state)}catch(t){b.error(t);return}if(!d){b.complete();return}if(b.closed)return}try{var e=a.resultSelector(a.state)}catch(t){b.error(t);return}if(!b.closed&&
-(b.next(e),!b.closed))return this.schedule(a)}};return b}(g.Observable);e.GenerateObservable=a},function(g,e,a){g=a(0);a=a(356);g.Observable.if=a._if},function(g,e,a){g=a(357);e._if=g.IfObservable.create},function(g,e,a){var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var f in b)b.hasOwnProperty(f)&&(a[f]=b[f]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};g=a(0);var n=a(5);a=a(4);g=function(a){function b(b,c,e){a.call(this);this.condition=b;
-this.thenSource=c;this.elseSource=e}p(b,a);b.create=function(a,c,e){return new b(a,c,e)};b.prototype._subscribe=function(a){return new m(a,this.condition,this.thenSource,this.elseSource)};return b}(g.Observable);e.IfObservable=g;var m=function(a){function b(b,c,e,g){a.call(this,b);this.condition=c;this.thenSource=e;this.elseSource=g;this.tryIf()}p(b,a);b.prototype.tryIf=function(){var a=this.condition,b=this.thenSource,c=this.elseSource,e;try{(a=(e=a())?b:c)?this.add(n.subscribeToResult(this,a)):
-this._complete()}catch(k){this._error(k)}};return b}(a.OuterSubscriber)},function(g,e,a){g=a(0);a=a(359);g.Observable.interval=a.interval},function(g,e,a){g=a(360);e.interval=g.IntervalObservable.create},function(g,e,a){var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var f in b)b.hasOwnProperty(f)&&(a[f]=b[f]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},n=a(79);g=a(0);var m=a(17);a=function(a){function b(b,c){void 0===b&&(b=0);void 0===c&&(c=
-m.async);a.call(this);this.period=b;this.scheduler=c;if(!n.isNumeric(b)||0>b)this.period=0;c&&"function"===typeof c.schedule||(this.scheduler=m.async)}p(b,a);b.create=function(a,c){void 0===a&&(a=0);void 0===c&&(c=m.async);return new b(a,c)};b.dispatch=function(a){var b=a.subscriber,c=a.period;b.next(a.index);b.closed||(a.index+=1,this.schedule(a,c))};b.prototype._subscribe=function(a){var c=this.period;a.add(this.scheduler.schedule(b.dispatch,c,{index:0,subscriber:a,period:c}))};return b}(g.Observable);
-e.IntervalObservable=a},function(g,e,a){var p=this&&this.__extends||function(a,e){function c(){this.constructor=a}for(var b in e)e.hasOwnProperty(b)&&(a[b]=e[b]);a.prototype=null===e?Object.create(e):(c.prototype=e.prototype,new c)};g=function(a){function e(c,b){a.call(this)}p(e,a);e.prototype.schedule=function(a,b){return this};return e}(a(8).Subscription);e.Action=g},function(g,e,a){g=function(){function a(e,g){void 0===g&&(g=a.now);this.SchedulerAction=e;this.now=g}a.prototype.schedule=function(a,
-e,c){void 0===e&&(e=0);return(new this.SchedulerAction(this,a)).schedule(c,e)};a.now=Date.now?Date.now:function(){return+new Date};return a}();e.Scheduler=g},function(g,e,a){g=a(0);a=a(364);g.Observable.merge=a.merge},function(g,e,a){g=a(176);e.merge=g.mergeStatic},function(g,e,a){g=a(0);a=a(366);g.Observable.race=a.race},function(g,e,a){g=a(177);e.race=g.raceStatic},function(g,e,a){g=a(0);a=a(368);g.Observable.never=a.never},function(g,e,a){g=a(369);e.never=g.NeverObservable.create},function(g,e,
-a){var p=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};g=a(0);var n=a(178);a=function(a){function c(){a.call(this)}p(c,a);c.create=function(){return new c};c.prototype._subscribe=function(a){n.noop()};return c}(g.Observable);e.NeverObservable=a},function(g,e,a){g=a(0);a=a(371);g.Observable.of=a.of},function(g,e,a){g=a(34);e.of=g.ArrayObservable.of},function(g,
-e,a){g=a(0);a=a(373);g.Observable.onErrorResumeNext=a.onErrorResumeNext},function(g,e,a){g=a(179);e.onErrorResumeNext=g.onErrorResumeNextStatic},function(g,e,a){g=a(0);a=a(375);g.Observable.pairs=a.pairs},function(g,e,a){g=a(376);e.pairs=g.PairsObservable.create},function(g,e,a){function p(a){var c=a.obj,b=a.keys,d=a.index,f=a.subscriber;d===a.length?f.complete():(b=b[d],f.next([b,c[b]]),a.index=d+1,this.schedule(a))}var n=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&
-(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};g=function(a){function c(b,c){a.call(this);this.obj=b;this.scheduler=c;this.keys=Object.keys(b)}n(c,a);c.create=function(a,d){return new c(a,d)};c.prototype._subscribe=function(a){var b=this.keys,c=this.scheduler,e=b.length;if(c)return c.schedule(p,0,{obj:this.obj,keys:b,length:e,index:0,subscriber:a});for(c=0;c<e;c++){var g=b[c];a.next([g,this.obj[g]])}a.complete()};return c}(a(0).Observable);e.PairsObservable=g},
-function(g,e,a){g=a(0);a=a(378);g.Observable.range=a.range},function(g,e,a){g=a(379);e.range=g.RangeObservable.create},function(g,e,a){var p=this&&this.__extends||function(a,e){function c(){this.constructor=a}for(var b in e)e.hasOwnProperty(b)&&(a[b]=e[b]);a.prototype=null===e?Object.create(e):(c.prototype=e.prototype,new c)};g=function(a){function e(c,b,d){a.call(this);this.start=c;this._count=b;this.scheduler=d}p(e,a);e.create=function(a,b,d){void 0===a&&(a=0);void 0===b&&(b=0);return new e(a,b,
-d)};e.dispatch=function(a){var b=a.start,c=a.index,f=a.subscriber;c>=a.count?f.complete():(f.next(b),f.closed||(a.index=c+1,a.start=b+1,this.schedule(a)))};e.prototype._subscribe=function(a){var b=0,c=this.start,f=this._count,h=this.scheduler;if(h)return h.schedule(e.dispatch,0,{index:b,count:f,start:c,subscriber:a});do{if(b++>=f){a.complete();break}a.next(c++);if(a.closed)break}while(1)};return e}(a(0).Observable);e.RangeObservable=g},function(g,e,a){g=a(0);a=a(381);g.Observable.using=a.using},function(g,
-e,a){g=a(382);e.using=g.UsingObservable.create},function(g,e,a){var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var f in b)b.hasOwnProperty(f)&&(a[f]=b[f]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};g=a(0);var n=a(5);a=a(4);g=function(a){function b(b,c){a.call(this);this.resourceFactory=b;this.observableFactory=c}p(b,a);b.create=function(a,c){return new b(a,c)};b.prototype._subscribe=function(a){var b=this.resourceFactory,c=this.observableFactory;
-try{var d=b();return new m(a,d,c)}catch(k){a.error(k)}};return b}(g.Observable);e.UsingObservable=g;var m=function(a){function b(b,c,e){a.call(this,b);this.resource=c;this.observableFactory=e;b.add(c);this.tryUse()}p(b,a);b.prototype.tryUse=function(){try{var a=this.observableFactory.call(this,this.resource);a&&this.add(n.subscribeToResult(this,a))}catch(f){this._error(f)}};return b}(a.OuterSubscriber)},function(g,e,a){g=a(0);a=a(384);g.Observable.throw=a._throw},function(g,e,a){g=a(385);e._throw=
-g.ErrorObservable.create},function(g,e,a){var p=this&&this.__extends||function(a,e){function c(){this.constructor=a}for(var b in e)e.hasOwnProperty(b)&&(a[b]=e[b]);a.prototype=null===e?Object.create(e):(c.prototype=e.prototype,new c)};g=function(a){function e(c,b){a.call(this);this.error=c;this.scheduler=b}p(e,a);e.create=function(a,b){return new e(a,b)};e.dispatch=function(a){a.subscriber.error(a.error)};e.prototype._subscribe=function(a){var b=this.error,c=this.scheduler;a.syncErrorThrowable=!0;
-if(c)return c.schedule(e.dispatch,0,{error:b,subscriber:a});a.error(b)};return e}(a(0).Observable);e.ErrorObservable=g},function(g,e,a){g=a(0);a=a(387);g.Observable.timer=a.timer},function(g,e,a){g=a(388);e.timer=g.TimerObservable.create},function(g,e,a){var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},n=a(79);g=a(0);var m=a(17),c=a(33),b=a(80);a=function(a){function d(d,
-f,e){void 0===d&&(d=0);a.call(this);this.period=-1;this.dueTime=0;n.isNumeric(f)?this.period=1>Number(f)&&1||Number(f):c.isScheduler(f)&&(e=f);c.isScheduler(e)||(e=m.async);this.scheduler=e;this.dueTime=b.isDate(d)?+d-this.scheduler.now():d}p(d,a);d.create=function(a,b,c){void 0===a&&(a=0);return new d(a,b,c)};d.dispatch=function(a){var b=a.index,c=a.period,d=a.subscriber;d.next(b);if(!d.closed){if(-1===c)return d.complete();a.index=b+1;this.schedule(a,c)}};d.prototype._subscribe=function(a){return this.scheduler.schedule(d.dispatch,
-this.dueTime,{index:0,period:this.period,subscriber:a})};return d}(g.Observable);e.TimerObservable=a},function(g,e,a){g=a(0);a=a(390);g.Observable.zip=a.zip},function(g,e,a){g=a(115);e.zip=g.zipStatic},function(g,e,a){g=a(0);a=a(392);g.Observable.ajax=a.ajax},function(g,e,a){g=a(180);e.ajax=g.AjaxObservable.create},function(g,e,a){g=a(0);a=a(394);g.Observable.webSocket=a.webSocket},function(g,e,a){g=a(395);e.webSocket=g.WebSocketSubject.create},function(g,e,a){var p=this&&this.__extends||function(a,
-b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},n=a(10),m=a(2),c=a(0),b=a(8),d=a(12),f=a(81),h=a(13),q=a(11),k=a(398);g=function(a){function e(b,e){if(b instanceof c.Observable)a.call(this,e,b);else{a.call(this);this.WebSocketCtor=d.root.WebSocket;this._output=new n.Subject;"string"===typeof b?this.url=b:k.assign(this,b);if(!this.WebSocketCtor)throw Error("no WebSocket constructor can be found");
-this.destination=new f.ReplaySubject}}p(e,a);e.prototype.resultSelector=function(a){return JSON.parse(a.data)};e.create=function(a){return new e(a)};e.prototype.lift=function(a){var b=new e(this,this.destination);b.operator=a;return b};e.prototype._resetState=function(){this.socket=null;this.source||(this.destination=new f.ReplaySubject);this._output=new n.Subject};e.prototype.multiplex=function(a,b,d){var f=this;return new c.Observable(function(c){var e=h.tryCatch(a)();e===q.errorObject?c.error(q.errorObject.e):
-f.next(e);var g=f.subscribe(function(a){var b=h.tryCatch(d)(a);b===q.errorObject?c.error(q.errorObject.e):b&&c.next(a)},function(a){return c.error(a)},function(){return c.complete()});return function(){var a=h.tryCatch(b)();a===q.errorObject?c.error(q.errorObject.e):f.next(a);g.unsubscribe()}})};e.prototype._connectSocket=function(){var a=this,c=this.WebSocketCtor,d=this._output,e=null;try{this.socket=e=this.protocol?new c(this.url,this.protocol):new c(this.url),this.binaryType&&(this.socket.binaryType=
-this.binaryType)}catch(B){d.error(B);return}var g=new b.Subscription(function(){a.socket=null;e&&1===e.readyState&&e.close()});e.onopen=function(b){var c=a.openObserver;c&&c.next(b);b=a.destination;a.destination=m.Subscriber.create(function(a){return 1===e.readyState&&e.send(a)},function(b){var c=a.closingObserver;c&&c.next(void 0);b&&b.code?e.close(b.code,b.reason):d.error(new TypeError("WebSocketSubject.error must be called with an object with an error code, and an optional reason: { code: number, reason: string }"));
-a._resetState()},function(){var b=a.closingObserver;b&&b.next(void 0);e.close();a._resetState()});b&&b instanceof f.ReplaySubject&&g.add(b.subscribe(a.destination))};e.onerror=function(b){a._resetState();d.error(b)};e.onclose=function(b){a._resetState();var c=a.closeObserver;c&&c.next(b);b.wasClean?d.complete():d.error(b)};e.onmessage=function(b){b=h.tryCatch(a.resultSelector)(b);b===q.errorObject?d.error(q.errorObject.e):d.next(b)}};e.prototype._subscribe=function(a){var c=this,d=this.source;if(d)return d.subscribe(a);
-this.socket||this._connectSocket();d=new b.Subscription;d.add(this._output.subscribe(a));d.add(function(){var a=c.socket;0===c._output.observers.length&&(a&&1===a.readyState&&a.close(),c._resetState())});return d};e.prototype.unsubscribe=function(){var b=this.source,c=this.socket;c&&1===c.readyState&&(c.close(),this._resetState());a.prototype.unsubscribe.call(this);b||(this.destination=new f.ReplaySubject)};return e}(n.AnonymousSubject);e.WebSocketSubject=g},function(g,e,a){var p=this&&this.__extends||
-function(a,e){function c(){this.constructor=a}for(var b in e)e.hasOwnProperty(b)&&(a[b]=e[b]);a.prototype=null===e?Object.create(e):(c.prototype=e.prototype,new c)};g=function(a){function e(c,b){a.call(this,c,b);this.scheduler=c;this.work=b}p(e,a);e.prototype.schedule=function(c,b){void 0===b&&(b=0);if(0<b)return a.prototype.schedule.call(this,c,b);this.delay=b;this.state=c;this.scheduler.flush(this);return this};e.prototype.execute=function(c,b){return 0<b||this.closed?a.prototype.execute.call(this,
-c,b):this._execute(c,b)};e.prototype.requestAsyncId=function(c,b,d){void 0===d&&(d=0);return null!==d&&0<d||null===d&&0<this.delay?a.prototype.requestAsyncId.call(this,c,b,d):c.flush(this)};return e}(a(58).AsyncAction);e.QueueAction=g},function(g,e,a){var p=this&&this.__extends||function(a,e){function c(){this.constructor=a}for(var b in e)e.hasOwnProperty(b)&&(a[b]=e[b]);a.prototype=null===e?Object.create(e):(c.prototype=e.prototype,new c)};g=function(a){function e(){a.apply(this,arguments)}p(e,a);
-return e}(a(59).AsyncScheduler);e.QueueScheduler=g},function(g,e,a){function p(a){for(var c=[],b=1;b<arguments.length;b++)c[b-1]=arguments[b];b=c.length;for(var d=0;d<b;d++){var f=c[d],e;for(e in f)f.hasOwnProperty(e)&&(a[e]=f[e])}return a}function n(a){return a.Object.assign||p}g=a(12);e.assignImpl=p;e.getAssign=n;e.assign=n(g.root)},function(g,e,a){g=a(0);a=a(400);g.Observable.prototype.buffer=a.buffer},function(g,e,a){var p=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&
-(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};g=a(4);var n=a(5);e.buffer=function(a){return this.lift(new m(a))};var m=function(){function a(a){this.closingNotifier=a}a.prototype.call=function(a,b){return b.subscribe(new c(a,this.closingNotifier))};return a}(),c=function(a){function b(b,c){a.call(this,b);this.buffer=[];this.add(n.subscribeToResult(this,c))}p(b,a);b.prototype._next=function(a){this.buffer.push(a)};b.prototype.notifyNext=function(a,b,c,d,e){a=this.buffer;
-this.buffer=[];this.destination.next(a)};return b}(g.OuterSubscriber)},function(g,e,a){g=a(0);a=a(402);g.Observable.prototype.bufferCount=a.bufferCount},function(g,e,a){var p=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};g=a(2);e.bufferCount=function(a,c){void 0===c&&(c=null);return this.lift(new n(a,c))};var n=function(){function a(a,b){this.bufferSize=a;this.subscriberClass=
-(this.startBufferEvery=b)&&a!==b?c:m}a.prototype.call=function(a,b){return b.subscribe(new this.subscriberClass(a,this.bufferSize,this.startBufferEvery))};return a}(),m=function(a){function b(b,c){a.call(this,b);this.bufferSize=c;this.buffer=[]}p(b,a);b.prototype._next=function(a){var b=this.buffer;b.push(a);b.length==this.bufferSize&&(this.destination.next(b),this.buffer=[])};b.prototype._complete=function(){var b=this.buffer;0<b.length&&this.destination.next(b);a.prototype._complete.call(this)};
-return b}(g.Subscriber),c=function(a){function b(b,c,d){a.call(this,b);this.bufferSize=c;this.startBufferEvery=d;this.buffers=[];this.count=0}p(b,a);b.prototype._next=function(a){var b=this.bufferSize,c=this.startBufferEvery,d=this.buffers,f=this.count;this.count++;0===f%c&&d.push([]);for(c=d.length;c--;)f=d[c],f.push(a),f.length===b&&(d.splice(c,1),this.destination.next(f))};b.prototype._complete=function(){for(var b=this.buffers,c=this.destination;0<b.length;){var d=b.shift();0<d.length&&c.next(d)}a.prototype._complete.call(this)};
-return b}(g.Subscriber)},function(g,e,a){g=a(0);a=a(404);g.Observable.prototype.bufferTime=a.bufferTime},function(g,e,a){function p(a){var b=a.subscriber,c=a.context;c&&b.closeContext(c);b.closed||(a.context=b.openContext(),a.context.closeAction=this.schedule(a,a.bufferTimeSpan))}function n(a){var b=a.bufferCreationInterval,c=a.bufferTimeSpan,d=a.subscriber,f=a.scheduler,e=d.openContext();d.closed||(d.add(e.closeAction=f.schedule(m,c,{subscriber:d,context:e})),this.schedule(a,b))}function m(a){a.subscriber.closeContext(a.context)}
-var c=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},b=a(17);g=a(2);var d=a(33);e.bufferTime=function(a){var c=arguments.length,e=b.async;d.isScheduler(arguments[arguments.length-1])&&(e=arguments[arguments.length-1],c--);var h=null;2<=c&&(h=arguments[1]);var g=Number.POSITIVE_INFINITY;3<=c&&(g=arguments[2]);return this.lift(new f(a,h,g,e))};var f=function(){function a(a,
-b,c,d){this.bufferTimeSpan=a;this.bufferCreationInterval=b;this.maxBufferSize=c;this.scheduler=d}a.prototype.call=function(a,b){return b.subscribe(new q(a,this.bufferTimeSpan,this.bufferCreationInterval,this.maxBufferSize,this.scheduler))};return a}(),h=function(){return function(){this.buffer=[]}}(),q=function(a){function b(b,c,d,f,e){a.call(this,b);this.bufferTimeSpan=c;this.bufferCreationInterval=d;this.maxBufferSize=f;this.scheduler=e;this.contexts=[];b=this.openContext();(this.timespanOnly=null==
-d||0>d)?this.add(b.closeAction=e.schedule(p,c,{subscriber:this,context:b,bufferTimeSpan:c})):(f={bufferTimeSpan:c,bufferCreationInterval:d,subscriber:this,scheduler:e},this.add(b.closeAction=e.schedule(m,c,{subscriber:this,context:b})),this.add(e.schedule(n,d,f)))}c(b,a);b.prototype._next=function(a){for(var b=this.contexts,c=b.length,d,f=0;f<c;f++){var e=b[f],h=e.buffer;h.push(a);h.length==this.maxBufferSize&&(d=e)}if(d)this.onBufferFull(d)};b.prototype._error=function(b){this.contexts.length=0;
-a.prototype._error.call(this,b)};b.prototype._complete=function(){for(var b=this.contexts,c=this.destination;0<b.length;){var d=b.shift();c.next(d.buffer)}a.prototype._complete.call(this)};b.prototype._unsubscribe=function(){this.contexts=null};b.prototype.onBufferFull=function(a){this.closeContext(a);a=a.closeAction;a.unsubscribe();this.remove(a);if(!this.closed&&this.timespanOnly){a=this.openContext();var b=this.bufferTimeSpan;this.add(a.closeAction=this.scheduler.schedule(p,b,{subscriber:this,
-context:a,bufferTimeSpan:b}))}};b.prototype.openContext=function(){var a=new h;this.contexts.push(a);return a};b.prototype.closeContext=function(a){this.destination.next(a.buffer);var b=this.contexts;0<=(b?b.indexOf(a):-1)&&b.splice(b.indexOf(a),1)};return b}(g.Subscriber)},function(g,e,a){g=a(0);a=a(406);g.Observable.prototype.bufferToggle=a.bufferToggle},function(g,e,a){var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=
-null===b?Object.create(b):(c.prototype=b.prototype,new c)},n=a(8),m=a(5);g=a(4);e.bufferToggle=function(a,b){return this.lift(new c(a,b))};var c=function(){function a(a,b){this.openings=a;this.closingSelector=b}a.prototype.call=function(a,c){return c.subscribe(new b(a,this.openings,this.closingSelector))};return a}(),b=function(a){function b(b,c,d){a.call(this,b);this.openings=c;this.closingSelector=d;this.contexts=[];this.add(m.subscribeToResult(this,c))}p(b,a);b.prototype._next=function(a){for(var b=
-this.contexts,c=b.length,d=0;d<c;d++)b[d].buffer.push(a)};b.prototype._error=function(b){for(var c=this.contexts;0<c.length;){var d=c.shift();d.subscription.unsubscribe();d.buffer=null;d.subscription=null}this.contexts=null;a.prototype._error.call(this,b)};b.prototype._complete=function(){for(var b=this.contexts;0<b.length;){var c=b.shift();this.destination.next(c.buffer);c.subscription.unsubscribe();c.buffer=null;c.subscription=null}this.contexts=null;a.prototype._complete.call(this)};b.prototype.notifyNext=
-function(a,b,c,d,f){a?this.closeBuffer(a):this.openBuffer(b)};b.prototype.notifyComplete=function(a){this.closeBuffer(a.context)};b.prototype.openBuffer=function(a){try{var b=this.closingSelector.call(this,a);b&&this.trySubscribe(b)}catch(k){this._error(k)}};b.prototype.closeBuffer=function(a){var b=this.contexts;if(b&&a){var c=a.subscription;this.destination.next(a.buffer);b.splice(b.indexOf(a),1);this.remove(c);c.unsubscribe()}};b.prototype.trySubscribe=function(a){var b=this.contexts,c=new n.Subscription,
-d={buffer:[],subscription:c};b.push(d);a=m.subscribeToResult(this,a,d);!a||a.closed?this.closeBuffer(d):(a.context=d,this.add(a),c.add(a))};return b}(g.OuterSubscriber)},function(g,e,a){g=a(0);a=a(408);g.Observable.prototype.bufferWhen=a.bufferWhen},function(g,e,a){var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},n=a(8),m=a(13),c=a(11);g=a(4);var b=a(5);e.bufferWhen=
-function(a){return this.lift(new d(a))};var d=function(){function a(a){this.closingSelector=a}a.prototype.call=function(a,b){return b.subscribe(new f(a,this.closingSelector))};return a}(),f=function(a){function d(b,c){a.call(this,b);this.closingSelector=c;this.subscribing=!1;this.openBuffer()}p(d,a);d.prototype._next=function(a){this.buffer.push(a)};d.prototype._complete=function(){var b=this.buffer;b&&this.destination.next(b);a.prototype._complete.call(this)};d.prototype._unsubscribe=function(){this.buffer=
-null;this.subscribing=!1};d.prototype.notifyNext=function(a,b,c,d,f){this.openBuffer()};d.prototype.notifyComplete=function(){this.subscribing?this.complete():this.openBuffer()};d.prototype.openBuffer=function(){var a=this.closingSubscription;a&&(this.remove(a),a.unsubscribe());(a=this.buffer)&&this.destination.next(a);this.buffer=[];var d=m.tryCatch(this.closingSelector)();d===c.errorObject?this.error(c.errorObject.e):(this.closingSubscription=a=new n.Subscription,this.add(a),this.subscribing=!0,
-a.add(b.subscribeToResult(this,d)),this.subscribing=!1)};return d}(g.OuterSubscriber)},function(g,e,a){g=a(0);a=a(410);g.Observable.prototype.catch=a._catch;g.Observable.prototype._catch=a._catch},function(g,e,a){var p=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};g=a(4);var n=a(5);e._catch=function(a){a=new m(a);var b=this.lift(a);return a.caught=b};var m=function(){function a(a){this.selector=
-a}a.prototype.call=function(a,b){return b.subscribe(new c(a,this.selector,this.caught))};return a}(),c=function(a){function b(b,c,d){a.call(this,b);this.selector=c;this.caught=d}p(b,a);b.prototype.error=function(b){if(!this.isStopped){var c=void 0;try{c=this.selector(b,this.caught)}catch(q){a.prototype.error.call(this,q);return}this._unsubscribeAndRecycle();this.add(n.subscribeToResult(this,c))}};return b}(g.OuterSubscriber)},function(g,e,a){g=a(0);a=a(412);g.Observable.prototype.combineAll=a.combineAll},
-function(g,e,a){var p=a(112);e.combineAll=function(a){return this.lift(new p.CombineLatestOperator(a))}},function(g,e,a){g=a(0);a=a(112);g.Observable.prototype.combineLatest=a.combineLatest},function(g,e,a){g=a(0);a=a(113);g.Observable.prototype.concat=a.concat},function(g,e,a){g=a(0);a=a(416);g.Observable.prototype.concatAll=a.concatAll},function(g,e,a){var p=a(78);e.concatAll=function(){return this.lift(new p.MergeAllOperator(1))}},function(g,e,a){g=a(0);a=a(418);g.Observable.prototype.concatMap=
-a.concatMap},function(g,e,a){var p=a(182);e.concatMap=function(a,e){return this.lift(new p.MergeMapOperator(a,e,1))}},function(g,e,a){g=a(0);a=a(420);g.Observable.prototype.concatMapTo=a.concatMapTo},function(g,e,a){var p=a(183);e.concatMapTo=function(a,e){return this.lift(new p.MergeMapToOperator(a,e,1))}},function(g,e,a){g=a(0);a=a(422);g.Observable.prototype.count=a.count},function(g,e,a){var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var f in b)b.hasOwnProperty(f)&&
-(a[f]=b[f]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};g=a(2);e.count=function(a){return this.lift(new n(a,this))};var n=function(){function a(a,c){this.predicate=a;this.source=c}a.prototype.call=function(a,c){return c.subscribe(new m(a,this.predicate,this.source))};return a}(),m=function(a){function b(b,c,e){a.call(this,b);this.predicate=c;this.source=e;this.index=this.count=0}p(b,a);b.prototype._next=function(a){this.predicate?this._tryPredicate(a):this.count++};b.prototype._tryPredicate=
-function(a){try{var b=this.predicate(a,this.index++,this.source)}catch(h){this.destination.error(h);return}b&&this.count++};b.prototype._complete=function(){this.destination.next(this.count);this.destination.complete()};return b}(g.Subscriber)},function(g,e,a){g=a(0);a=a(424);g.Observable.prototype.dematerialize=a.dematerialize},function(g,e,a){var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var f in b)b.hasOwnProperty(f)&&(a[f]=b[f]);a.prototype=null===b?Object.create(b):
-(c.prototype=b.prototype,new c)};g=a(2);e.dematerialize=function(){return this.lift(new n)};var n=function(){function a(){}a.prototype.call=function(a,c){return c.subscribe(new m(a))};return a}(),m=function(a){function b(b){a.call(this,b)}p(b,a);b.prototype._next=function(a){a.observe(this.destination)};return b}(g.Subscriber)},function(g,e,a){g=a(0);a=a(426);g.Observable.prototype.debounce=a.debounce},function(g,e,a){var p=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&
-(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};g=a(4);var n=a(5);e.debounce=function(a){return this.lift(new m(a))};var m=function(){function a(a){this.durationSelector=a}a.prototype.call=function(a,b){return b.subscribe(new c(a,this.durationSelector))};return a}(),c=function(a){function b(b,c){a.call(this,b);this.durationSelector=c;this.hasValue=!1;this.durationSubscription=null}p(b,a);b.prototype._next=function(a){try{var b=this.durationSelector.call(this,a);
-b&&this._tryNext(a,b)}catch(q){this.destination.error(q)}};b.prototype._complete=function(){this.emitValue();this.destination.complete()};b.prototype._tryNext=function(a,b){var c=this.durationSubscription;this.value=a;this.hasValue=!0;c&&(c.unsubscribe(),this.remove(c));c=n.subscribeToResult(this,b);c.closed||this.add(this.durationSubscription=c)};b.prototype.notifyNext=function(a,b,c,d,e){this.emitValue()};b.prototype.notifyComplete=function(){this.emitValue()};b.prototype.emitValue=function(){if(this.hasValue){var b=
-this.value,c=this.durationSubscription;c&&(this.durationSubscription=null,c.unsubscribe(),this.remove(c));this.value=null;this.hasValue=!1;a.prototype._next.call(this,b)}};return b}(g.OuterSubscriber)},function(g,e,a){g=a(0);a=a(428);g.Observable.prototype.debounceTime=a.debounceTime},function(g,e,a){function p(a){a.debouncedNext()}var n=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=
-b.prototype,new c)};g=a(2);var m=a(17);e.debounceTime=function(a,b){void 0===b&&(b=m.async);return this.lift(new c(a,b))};var c=function(){function a(a,b){this.dueTime=a;this.scheduler=b}a.prototype.call=function(a,c){return c.subscribe(new b(a,this.dueTime,this.scheduler))};return a}(),b=function(a){function b(b,c,d){a.call(this,b);this.dueTime=c;this.scheduler=d;this.lastValue=this.debouncedSubscription=null;this.hasValue=!1}n(b,a);b.prototype._next=function(a){this.clearDebounce();this.lastValue=
-a;this.hasValue=!0;this.add(this.debouncedSubscription=this.scheduler.schedule(p,this.dueTime,this))};b.prototype._complete=function(){this.debouncedNext();this.destination.complete()};b.prototype.debouncedNext=function(){this.clearDebounce();this.hasValue&&(this.destination.next(this.lastValue),this.lastValue=null,this.hasValue=!1)};b.prototype.clearDebounce=function(){var a=this.debouncedSubscription;null!==a&&(this.remove(a),a.unsubscribe(),this.debouncedSubscription=null)};return b}(g.Subscriber)},
-function(g,e,a){g=a(0);a=a(430);g.Observable.prototype.defaultIfEmpty=a.defaultIfEmpty},function(g,e,a){var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var f in b)b.hasOwnProperty(f)&&(a[f]=b[f]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};g=a(2);e.defaultIfEmpty=function(a){void 0===a&&(a=null);return this.lift(new n(a))};var n=function(){function a(a){this.defaultValue=a}a.prototype.call=function(a,c){return c.subscribe(new m(a,this.defaultValue))};
-return a}(),m=function(a){function b(b,c){a.call(this,b);this.defaultValue=c;this.isEmpty=!0}p(b,a);b.prototype._next=function(a){this.isEmpty=!1;this.destination.next(a)};b.prototype._complete=function(){this.isEmpty&&this.destination.next(this.defaultValue);this.destination.complete()};return b}(g.Subscriber)},function(g,e,a){g=a(0);a=a(432);g.Observable.prototype.delay=a.delay},function(g,e,a){var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&
-(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},n=a(17),m=a(80);g=a(2);var c=a(57);e.delay=function(a,c){void 0===c&&(c=n.async);a=m.isDate(a)?+a-c.now():Math.abs(a);return this.lift(new b(a,c))};var b=function(){function a(a,b){this.delay=a;this.scheduler=b}a.prototype.call=function(a,b){return b.subscribe(new d(a,this.delay,this.scheduler))};return a}(),d=function(a){function b(b,c,d){a.call(this,b);this.delay=c;this.scheduler=d;this.queue=[];this.errored=this.active=
-!1}p(b,a);b.dispatch=function(a){for(var b=a.source,c=b.queue,d=a.scheduler,f=a.destination;0<c.length&&0>=c[0].time-d.now();)c.shift().notification.observe(f);0<c.length?(b=Math.max(0,c[0].time-d.now()),this.schedule(a,b)):b.active=!1};b.prototype._schedule=function(a){this.active=!0;this.add(a.schedule(b.dispatch,this.delay,{source:this,destination:this.destination,scheduler:a}))};b.prototype.scheduleNotification=function(a){if(!0!==this.errored){var b=this.scheduler;a=new f(b.now()+this.delay,
-a);this.queue.push(a);!1===this.active&&this._schedule(b)}};b.prototype._next=function(a){this.scheduleNotification(c.Notification.createNext(a))};b.prototype._error=function(a){this.errored=!0;this.queue=[];this.destination.error(a)};b.prototype._complete=function(){this.scheduleNotification(c.Notification.createComplete())};return b}(g.Subscriber),f=function(){return function(a,b){this.time=a;this.notification=b}}()},function(g,e,a){g=a(0);a=a(434);g.Observable.prototype.delayWhen=a.delayWhen},
-function(g,e,a){var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};g=a(2);var n=a(0),m=a(4),c=a(5);e.delayWhen=function(a,c){return c?(new f(this,c)).lift(new b(a)):this.lift(new b(a))};var b=function(){function a(a){this.delayDurationSelector=a}a.prototype.call=function(a,b){return b.subscribe(new d(a,this.delayDurationSelector))};return a}(),d=function(a){function b(b,
-c){a.call(this,b);this.delayDurationSelector=c;this.completed=!1;this.delayNotifierSubscriptions=[];this.values=[]}p(b,a);b.prototype.notifyNext=function(a,b,c,d,f){this.destination.next(a);this.removeSubscription(f);this.tryComplete()};b.prototype.notifyError=function(a,b){this._error(a)};b.prototype.notifyComplete=function(a){(a=this.removeSubscription(a))&&this.destination.next(a);this.tryComplete()};b.prototype._next=function(a){try{var b=this.delayDurationSelector(a);b&&this.tryDelay(b,a)}catch(l){this.destination.error(l)}};
-b.prototype._complete=function(){this.completed=!0;this.tryComplete()};b.prototype.removeSubscription=function(a){a.unsubscribe();a=this.delayNotifierSubscriptions.indexOf(a);var b=null;-1!==a&&(b=this.values[a],this.delayNotifierSubscriptions.splice(a,1),this.values.splice(a,1));return b};b.prototype.tryDelay=function(a,b){(a=c.subscribeToResult(this,a,b))&&!a.closed&&(this.add(a),this.delayNotifierSubscriptions.push(a));this.values.push(b)};b.prototype.tryComplete=function(){this.completed&&0===
-this.delayNotifierSubscriptions.length&&this.destination.complete()};return b}(m.OuterSubscriber),f=function(a){function b(b,c){a.call(this);this.source=b;this.subscriptionDelay=c}p(b,a);b.prototype._subscribe=function(a){this.subscriptionDelay.subscribe(new h(a,this.source))};return b}(n.Observable),h=function(a){function b(b,c){a.call(this);this.parent=b;this.source=c;this.sourceSubscribed=!1}p(b,a);b.prototype._next=function(a){this.subscribeToSource()};b.prototype._error=function(a){this.unsubscribe();
-this.parent.error(a)};b.prototype._complete=function(){this.subscribeToSource()};b.prototype.subscribeToSource=function(){this.sourceSubscribed||(this.sourceSubscribed=!0,this.unsubscribe(),this.source.subscribe(this.parent))};return b}(g.Subscriber)},function(g,e,a){g=a(0);a=a(436);g.Observable.prototype.distinct=a.distinct},function(g,e,a){var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):
-(c.prototype=b.prototype,new c)};g=a(4);var n=a(5),m=a(437);e.distinct=function(a,b){return this.lift(new c(a,b))};var c=function(){function a(a,b){this.keySelector=a;this.flushes=b}a.prototype.call=function(a,c){return c.subscribe(new b(a,this.keySelector,this.flushes))};return a}(),b=function(a){function b(b,c,d){a.call(this,b);this.keySelector=c;this.values=new m.Set;d&&this.add(n.subscribeToResult(this,d))}p(b,a);b.prototype.notifyNext=function(a,b,c,d,f){this.values.clear()};b.prototype.notifyError=
-function(a,b){this._error(a)};b.prototype._next=function(a){this.keySelector?this._useKeySelector(a):this._finalizeNext(a,a)};b.prototype._useKeySelector=function(a){var b=this.destination;try{var c=this.keySelector(a)}catch(t){b.error(t);return}this._finalizeNext(c,a)};b.prototype._finalizeNext=function(a,b){var c=this.values;c.has(a)||(c.add(a),this.destination.next(b))};return b}(g.OuterSubscriber);e.DistinctSubscriber=b},function(g,e,a){function p(){return function(){function a(){this._values=
-[]}a.prototype.add=function(a){this.has(a)||this._values.push(a)};a.prototype.has=function(a){return-1!==this._values.indexOf(a)};Object.defineProperty(a.prototype,"size",{get:function(){return this._values.length},enumerable:!0,configurable:!0});a.prototype.clear=function(){this._values.length=0};return a}()}g=a(12);e.minimalSetImpl=p;e.Set=g.root.Set||p()},function(g,e,a){g=a(0);a=a(184);g.Observable.prototype.distinctUntilChanged=a.distinctUntilChanged},function(g,e,a){g=a(0);a=a(440);g.Observable.prototype.distinctUntilKeyChanged=
-a.distinctUntilKeyChanged},function(g,e,a){var p=a(184);e.distinctUntilKeyChanged=function(a,e){return p.distinctUntilChanged.call(this,function(c,b){return e?e(c[a],b[a]):c[a]===b[a]})}},function(g,e,a){g=a(0);a=a(442);g.Observable.prototype.do=a._do;g.Observable.prototype._do=a._do},function(g,e,a){var p=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)},n=a(2);
-e._do=function(a,c,f){return this.lift(new m(a,c,f))};var m=function(){function a(a,b,c){this.nextOrObserver=a;this.error=b;this.complete=c}a.prototype.call=function(a,b){return b.subscribe(new c(a,this.nextOrObserver,this.error,this.complete))};return a}(),c=function(a){function b(b,c,d,e){a.call(this,b);b=new n.Subscriber(c,d,e);b.syncErrorThrowable=!0;this.add(b);this.safeSubscriber=b}p(b,a);b.prototype._next=function(a){var b=this.safeSubscriber;b.next(a);b.syncErrorThrown?this.destination.error(b.syncErrorValue):
-this.destination.next(a)};b.prototype._error=function(a){var b=this.safeSubscriber;b.error(a);b.syncErrorThrown?this.destination.error(b.syncErrorValue):this.destination.error(a)};b.prototype._complete=function(){var a=this.safeSubscriber;a.complete();a.syncErrorThrown?this.destination.error(a.syncErrorValue):this.destination.complete()};return b}(n.Subscriber)},function(g,e,a){g=a(0);a=a(444);g.Observable.prototype.exhaust=a.exhaust},function(g,e,a){var p=this&&this.__extends||function(a,c){function b(){this.constructor=
-a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};g=a(4);var n=a(5);e.exhaust=function(){return this.lift(new m)};var m=function(){function a(){}a.prototype.call=function(a,b){return b.subscribe(new c(a))};return a}(),c=function(a){function b(b){a.call(this,b);this.hasSubscription=this.hasCompleted=!1}p(b,a);b.prototype._next=function(a){this.hasSubscription||(this.hasSubscription=!0,this.add(n.subscribeToResult(this,a)))};b.prototype._complete=
-function(){this.hasCompleted=!0;this.hasSubscription||this.destination.complete()};b.prototype.notifyComplete=function(a){this.remove(a);this.hasSubscription=!1;this.hasCompleted&&this.destination.complete()};return b}(g.OuterSubscriber)},function(g,e,a){g=a(0);a=a(446);g.Observable.prototype.exhaustMap=a.exhaustMap},function(g,e,a){var p=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=
-c.prototype,new b)};g=a(4);var n=a(5);e.exhaustMap=function(a,c){return this.lift(new m(a,c))};var m=function(){function a(a,b){this.project=a;this.resultSelector=b}a.prototype.call=function(a,b){return b.subscribe(new c(a,this.project,this.resultSelector))};return a}(),c=function(a){function b(b,c,d){a.call(this,b);this.project=c;this.resultSelector=d;this.hasCompleted=this.hasSubscription=!1;this.index=0}p(b,a);b.prototype._next=function(a){this.hasSubscription||this.tryNext(a)};b.prototype.tryNext=
-function(a){var b=this.index++,c=this.destination;try{var d=this.project(a,b);this.hasSubscription=!0;this.add(n.subscribeToResult(this,d,a,b))}catch(t){c.error(t)}};b.prototype._complete=function(){this.hasCompleted=!0;this.hasSubscription||this.destination.complete()};b.prototype.notifyNext=function(a,b,c,d,e){e=this.destination;this.resultSelector?this.trySelectResult(a,b,c,d):e.next(b)};b.prototype.trySelectResult=function(a,b,c,d){var f=this.resultSelector,e=this.destination;try{var h=f(a,b,
-c,d);e.next(h)}catch(u){e.error(u)}};b.prototype.notifyError=function(a){this.destination.error(a)};b.prototype.notifyComplete=function(a){this.remove(a);this.hasSubscription=!1;this.hasCompleted&&this.destination.complete()};return b}(g.OuterSubscriber)},function(g,e,a){g=a(0);a=a(448);g.Observable.prototype.expand=a.expand},function(g,e,a){var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):
-(c.prototype=b.prototype,new c)},n=a(13),m=a(11);g=a(4);var c=a(5);e.expand=function(a,c,d){void 0===c&&(c=Number.POSITIVE_INFINITY);void 0===d&&(d=void 0);c=1>(c||0)?Number.POSITIVE_INFINITY:c;return this.lift(new b(a,c,d))};var b=function(){function a(a,b,c){this.project=a;this.concurrent=b;this.scheduler=c}a.prototype.call=function(a,b){return b.subscribe(new d(a,this.project,this.concurrent,this.scheduler))};return a}();e.ExpandOperator=b;var d=function(a){function b(b,c,d,f){a.call(this,b);this.project=
-c;this.concurrent=d;this.scheduler=f;this.active=this.index=0;this.hasCompleted=!1;d<Number.POSITIVE_INFINITY&&(this.buffer=[])}p(b,a);b.dispatch=function(a){a.subscriber.subscribeToProjection(a.result,a.value,a.index)};b.prototype._next=function(a){var c=this.destination;if(c.closed)this._complete();else{var d=this.index++;if(this.active<this.concurrent){c.next(a);var f=n.tryCatch(this.project)(a,d);f===m.errorObject?c.error(m.errorObject.e):this.scheduler?this.add(this.scheduler.schedule(b.dispatch,
-0,{subscriber:this,result:f,value:a,index:d})):this.subscribeToProjection(f,a,d)}else this.buffer.push(a)}};b.prototype.subscribeToProjection=function(a,b,d){this.active++;this.add(c.subscribeToResult(this,a,b,d))};b.prototype._complete=function(){(this.hasCompleted=!0,0===this.active)&&this.destination.complete()};b.prototype.notifyNext=function(a,b,c,d,f){this._next(b)};b.prototype.notifyComplete=function(a){var b=this.buffer;this.remove(a);this.active--;b&&0<b.length&&this._next(b.shift());this.hasCompleted&&
-0===this.active&&this.destination.complete()};return b}(g.OuterSubscriber);e.ExpandSubscriber=d},function(g,e,a){g=a(0);a=a(450);g.Observable.prototype.elementAt=a.elementAt},function(g,e,a){var p=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};g=a(2);var n=a(60);e.elementAt=function(a,c){return this.lift(new m(a,c))};var m=function(){function a(a,b){this.index=
-a;this.defaultValue=b;if(0>a)throw new n.ArgumentOutOfRangeError;}a.prototype.call=function(a,b){return b.subscribe(new c(a,this.index,this.defaultValue))};return a}(),c=function(a){function b(b,c,d){a.call(this,b);this.index=c;this.defaultValue=d}p(b,a);b.prototype._next=function(a){0===this.index--&&(this.destination.next(a),this.destination.complete())};b.prototype._complete=function(){var a=this.destination;0<=this.index&&("undefined"!==typeof this.defaultValue?a.next(this.defaultValue):a.error(new n.ArgumentOutOfRangeError));
-a.complete()};return b}(g.Subscriber)},function(g,e,a){g=a(0);a=a(185);g.Observable.prototype.filter=a.filter},function(g,e,a){g=a(0);a=a(453);g.Observable.prototype.finally=a._finally;g.Observable.prototype._finally=a._finally},function(g,e,a){var p=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};g=a(2);var n=a(8);e._finally=function(a){return this.lift(new m(a))};
-var m=function(){function a(a){this.callback=a}a.prototype.call=function(a,b){return b.subscribe(new c(a,this.callback))};return a}(),c=function(a){function b(b,c){a.call(this,b);this.add(new n.Subscription(c))}p(b,a);return b}(g.Subscriber)},function(g,e,a){g=a(0);a=a(186);g.Observable.prototype.find=a.find},function(g,e,a){g=a(0);a=a(456);g.Observable.prototype.findIndex=a.findIndex},function(g,e,a){var p=a(186);e.findIndex=function(a,e){return this.lift(new p.FindValueOperator(a,this,!0,e))}},
-function(g,e,a){g=a(0);a=a(458);g.Observable.prototype.first=a.first},function(g,e,a){var p=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};g=a(2);var n=a(82);e.first=function(a,c,f){return this.lift(new m(a,c,f,this))};var m=function(){function a(a,b,c,e){this.predicate=a;this.resultSelector=b;this.defaultValue=c;this.source=e}a.prototype.call=function(a,b){return b.subscribe(new c(a,
-this.predicate,this.resultSelector,this.defaultValue,this.source))};return a}(),c=function(a){function b(b,c,d,e,g){a.call(this,b);this.predicate=c;this.resultSelector=d;this.defaultValue=e;this.source=g;this.index=0;this._emitted=this.hasCompleted=!1}p(b,a);b.prototype._next=function(a){var b=this.index++;this.predicate?this._tryPredicate(a,b):this._emit(a,b)};b.prototype._tryPredicate=function(a,b){try{var c=this.predicate(a,b,this.source)}catch(k){this.destination.error(k);return}c&&this._emit(a,
-b)};b.prototype._emit=function(a,b){this.resultSelector?this._tryResultSelector(a,b):this._emitFinal(a)};b.prototype._tryResultSelector=function(a,b){try{var c=this.resultSelector(a,b)}catch(k){this.destination.error(k);return}this._emitFinal(c)};b.prototype._emitFinal=function(a){var b=this.destination;this._emitted||(this._emitted=!0,b.next(a),b.complete(),this.hasCompleted=!0)};b.prototype._complete=function(){var a=this.destination;this.hasCompleted||"undefined"===typeof this.defaultValue?this.hasCompleted||
-a.error(new n.EmptyError):(a.next(this.defaultValue),a.complete())};return b}(g.Subscriber)},function(g,e,a){g=a(0);a=a(460);g.Observable.prototype.groupBy=a.groupBy},function(g,e,a){var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};g=a(2);var n=a(8),m=a(0),c=a(10),b=a(461),d=a(463);e.groupBy=function(a,b,c,d){return this.lift(new f(a,b,c,d))};var f=function(){function a(a,
-b,c,d){this.keySelector=a;this.elementSelector=b;this.durationSelector=c;this.subjectSelector=d}a.prototype.call=function(a,b){return b.subscribe(new h(a,this.keySelector,this.elementSelector,this.durationSelector,this.subjectSelector))};return a}(),h=function(a){function f(b,c,d,f,e){a.call(this,b);this.keySelector=c;this.elementSelector=d;this.durationSelector=f;this.subjectSelector=e;this.groups=null;this.attemptedToUnsubscribe=!1;this.count=0}p(f,a);f.prototype._next=function(a){try{var b=this.keySelector(a)}catch(y){this.error(y);
-return}this._group(a,b)};f.prototype._group=function(a,f){var e=this.groups;e||(e=this.groups="string"===typeof f?new d.FastMap:new b.Map);var h=e.get(f);if(this.elementSelector)try{var g=this.elementSelector(a)}catch(x){this.error(x)}else g=a;if(!h&&(h=this.subjectSelector?this.subjectSelector():new c.Subject,e.set(f,h),a=new k(f,h,this),this.destination.next(a),this.durationSelector)){a=void 0;try{a=this.durationSelector(new k(f,h))}catch(x){this.error(x);return}this.add(a.subscribe(new q(f,h,this)))}h.closed||
-h.next(g)};f.prototype._error=function(a){var b=this.groups;b&&(b.forEach(function(b,c){b.error(a)}),b.clear());this.destination.error(a)};f.prototype._complete=function(){var a=this.groups;a&&(a.forEach(function(a,b){a.complete()}),a.clear());this.destination.complete()};f.prototype.removeGroup=function(a){this.groups.delete(a)};f.prototype.unsubscribe=function(){this.closed||(this.attemptedToUnsubscribe=!0,0===this.count&&a.prototype.unsubscribe.call(this))};return f}(g.Subscriber),q=function(a){function b(b,
-c,d){a.call(this,c);this.key=b;this.group=c;this.parent=d}p(b,a);b.prototype._next=function(a){this.complete()};b.prototype._unsubscribe=function(){var a=this.parent,b=this.key;this.key=this.parent=null;a&&a.removeGroup(b)};return b}(g.Subscriber),k=function(a){function b(b,c,d){a.call(this);this.key=b;this.groupSubject=c;this.refCountSubscription=d}p(b,a);b.prototype._subscribe=function(a){var b=new n.Subscription,c=this.refCountSubscription,d=this.groupSubject;c&&!c.closed&&b.add(new t(c));b.add(d.subscribe(a));
-return b};return b}(m.Observable);e.GroupedObservable=k;var t=function(a){function b(b){a.call(this);this.parent=b;b.count++}p(b,a);b.prototype.unsubscribe=function(){var b=this.parent;b.closed||this.closed||(a.prototype.unsubscribe.call(this),--b.count,0===b.count&&b.attemptedToUnsubscribe&&b.unsubscribe())};return b}(n.Subscription)},function(g,e,a){g=a(12);a=a(462);e.Map=g.root.Map||a.MapPolyfill},function(g,e,a){g=function(){function a(){this.size=0;this._values=[];this._keys=[]}a.prototype.get=
-function(a){a=this._keys.indexOf(a);return-1===a?void 0:this._values[a]};a.prototype.set=function(a,e){var c=this._keys.indexOf(a);-1===c?(this._keys.push(a),this._values.push(e),this.size++):this._values[c]=e;return this};a.prototype.delete=function(a){a=this._keys.indexOf(a);if(-1===a)return!1;this._values.splice(a,1);this._keys.splice(a,1);this.size--;return!0};a.prototype.clear=function(){this._keys.length=0;this.size=this._values.length=0};a.prototype.forEach=function(a,e){for(var c=0;c<this.size;c++)a.call(e,
-this._values[c],this._keys[c])};return a}();e.MapPolyfill=g},function(g,e,a){g=function(){function a(){this.values={}}a.prototype.delete=function(a){this.values[a]=null;return!0};a.prototype.set=function(a,e){this.values[a]=e;return this};a.prototype.get=function(a){return this.values[a]};a.prototype.forEach=function(a,e){var c=this.values,b;for(b in c)c.hasOwnProperty(b)&&null!==c[b]&&a.call(e,c[b],b)};a.prototype.clear=function(){this.values={}};return a}();e.FastMap=g},function(g,e,a){g=a(0);a=
-a(465);g.Observable.prototype.ignoreElements=a.ignoreElements},function(g,e,a){var p=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};g=a(2);var n=a(178);e.ignoreElements=function(){return this.lift(new m)};var m=function(){function a(){}a.prototype.call=function(a,b){return b.subscribe(new c(a))};return a}(),c=function(a){function b(){a.apply(this,arguments)}p(b,
-a);b.prototype._next=function(a){n.noop()};return b}(g.Subscriber)},function(g,e,a){g=a(0);a=a(467);g.Observable.prototype.isEmpty=a.isEmpty},function(g,e,a){var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var f in b)b.hasOwnProperty(f)&&(a[f]=b[f]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};g=a(2);e.isEmpty=function(){return this.lift(new n)};var n=function(){function a(){}a.prototype.call=function(a,c){return c.subscribe(new m(a))};return a}(),
-m=function(a){function b(b){a.call(this,b)}p(b,a);b.prototype.notifyComplete=function(a){var b=this.destination;b.next(a);b.complete()};b.prototype._next=function(a){this.notifyComplete(!1)};b.prototype._complete=function(){this.notifyComplete(!0)};return b}(g.Subscriber)},function(g,e,a){g=a(0);a=a(469);g.Observable.prototype.audit=a.audit},function(g,e,a){var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===
-b?Object.create(b):(c.prototype=b.prototype,new c)},n=a(13),m=a(11);g=a(4);var c=a(5);e.audit=function(a){return this.lift(new b(a))};var b=function(){function a(a){this.durationSelector=a}a.prototype.call=function(a,b){return b.subscribe(new d(a,this.durationSelector))};return a}(),d=function(a){function b(b,c){a.call(this,b);this.durationSelector=c;this.hasValue=!1}p(b,a);b.prototype._next=function(a){this.value=a;this.hasValue=!0;this.throttled||(a=n.tryCatch(this.durationSelector)(a),a===m.errorObject?
-this.destination.error(m.errorObject.e):(a=c.subscribeToResult(this,a),a.closed?this.clearThrottle():this.add(this.throttled=a)))};b.prototype.clearThrottle=function(){var a=this.value,b=this.hasValue,c=this.throttled;c&&(this.remove(c),this.throttled=null,c.unsubscribe());b&&(this.value=null,this.hasValue=!1,this.destination.next(a))};b.prototype.notifyNext=function(a,b,c,d){this.clearThrottle()};b.prototype.notifyComplete=function(){this.clearThrottle()};return b}(g.OuterSubscriber)},function(g,
-e,a){g=a(0);a=a(471);g.Observable.prototype.auditTime=a.auditTime},function(g,e,a){function p(a){a.clearThrottle()}var n=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},m=a(17);g=a(2);e.auditTime=function(a,b){void 0===b&&(b=m.async);return this.lift(new c(a,b))};var c=function(){function a(a,b){this.duration=a;this.scheduler=b}a.prototype.call=function(a,c){return c.subscribe(new b(a,
-this.duration,this.scheduler))};return a}(),b=function(a){function b(b,c,d){a.call(this,b);this.duration=c;this.scheduler=d;this.hasValue=!1}n(b,a);b.prototype._next=function(a){this.value=a;this.hasValue=!0;this.throttled||this.add(this.throttled=this.scheduler.schedule(p,this.duration,this))};b.prototype.clearThrottle=function(){var a=this.value,b=this.hasValue,c=this.throttled;c&&(this.remove(c),this.throttled=null,c.unsubscribe());b&&(this.value=null,this.hasValue=!1,this.destination.next(a))};
-return b}(g.Subscriber)},function(g,e,a){g=a(0);a=a(473);g.Observable.prototype.last=a.last},function(g,e,a){var p=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};g=a(2);var n=a(82);e.last=function(a,c,f){return this.lift(new m(a,c,f,this))};var m=function(){function a(a,b,c,e){this.predicate=a;this.resultSelector=b;this.defaultValue=c;this.source=e}a.prototype.call=
-function(a,b){return b.subscribe(new c(a,this.predicate,this.resultSelector,this.defaultValue,this.source))};return a}(),c=function(a){function b(b,c,d,e,g){a.call(this,b);this.predicate=c;this.resultSelector=d;this.defaultValue=e;this.source=g;this.hasValue=!1;this.index=0;"undefined"!==typeof e&&(this.lastValue=e,this.hasValue=!0)}p(b,a);b.prototype._next=function(a){var b=this.index++;this.predicate?this._tryPredicate(a,b):this.resultSelector?this._tryResultSelector(a,b):(this.lastValue=a,this.hasValue=
-!0)};b.prototype._tryPredicate=function(a,b){try{var c=this.predicate(a,b,this.source)}catch(k){this.destination.error(k);return}c&&(this.resultSelector?this._tryResultSelector(a,b):(this.lastValue=a,this.hasValue=!0))};b.prototype._tryResultSelector=function(a,b){try{var c=this.resultSelector(a,b)}catch(k){this.destination.error(k);return}this.lastValue=c;this.hasValue=!0};b.prototype._complete=function(){var a=this.destination;this.hasValue?(a.next(this.lastValue),a.complete()):a.error(new n.EmptyError)};
-return b}(g.Subscriber)},function(g,e,a){g=a(0);a=a(475);g.Observable.prototype.let=a.letProto;g.Observable.prototype.letBind=a.letProto},function(g,e,a){e.letProto=function(a){return a(this)}},function(g,e,a){g=a(0);a=a(477);g.Observable.prototype.every=a.every},function(g,e,a){var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var f in b)b.hasOwnProperty(f)&&(a[f]=b[f]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};g=a(2);e.every=function(a,b){return this.lift(new n(a,
-b,this))};var n=function(){function a(a,c,f){this.predicate=a;this.thisArg=c;this.source=f}a.prototype.call=function(a,c){return c.subscribe(new m(a,this.predicate,this.thisArg,this.source))};return a}(),m=function(a){function b(b,c,e,g){a.call(this,b);this.predicate=c;this.thisArg=e;this.source=g;this.index=0;this.thisArg=e||this}p(b,a);b.prototype.notifyComplete=function(a){this.destination.next(a);this.destination.complete()};b.prototype._next=function(a){var b=!1;try{b=this.predicate.call(this.thisArg,
-a,this.index++,this.source)}catch(h){this.destination.error(h);return}b||this.notifyComplete(!1)};b.prototype._complete=function(){this.notifyComplete(!0)};return b}(g.Subscriber)},function(g,e,a){g=a(0);a=a(116);g.Observable.prototype.map=a.map},function(g,e,a){g=a(0);a=a(480);g.Observable.prototype.mapTo=a.mapTo},function(g,e,a){var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var f in b)b.hasOwnProperty(f)&&(a[f]=b[f]);a.prototype=null===b?Object.create(b):(c.prototype=
-b.prototype,new c)};g=a(2);e.mapTo=function(a){return this.lift(new n(a))};var n=function(){function a(a){this.value=a}a.prototype.call=function(a,c){return c.subscribe(new m(a,this.value))};return a}(),m=function(a){function b(b,c){a.call(this,b);this.value=c}p(b,a);b.prototype._next=function(a){this.destination.next(this.value)};return b}(g.Subscriber)},function(g,e,a){g=a(0);a=a(482);g.Observable.prototype.materialize=a.materialize},function(g,e,a){var p=this&&this.__extends||function(a,c){function b(){this.constructor=
-a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};g=a(2);var n=a(57);e.materialize=function(){return this.lift(new m)};var m=function(){function a(){}a.prototype.call=function(a,b){return b.subscribe(new c(a))};return a}(),c=function(a){function b(b){a.call(this,b)}p(b,a);b.prototype._next=function(a){this.destination.next(n.Notification.createNext(a))};b.prototype._error=function(a){var b=this.destination;b.next(n.Notification.createError(a));
-b.complete()};b.prototype._complete=function(){var a=this.destination;a.next(n.Notification.createComplete());a.complete()};return b}(g.Subscriber)},function(g,e,a){g=a(0);a=a(484);g.Observable.prototype.max=a.max},function(g,e,a){var p=a(117);e.max=function(a){return this.lift(new p.ReduceOperator("function"===typeof a?function(e,c){return 0<a(e,c)?e:c}:function(a,c){return a>c?a:c}))}},function(g,e,a){g=a(0);a=a(176);g.Observable.prototype.merge=a.merge},function(g,e,a){g=a(0);a=a(78);g.Observable.prototype.mergeAll=
-a.mergeAll},function(g,e,a){g=a(0);a=a(182);g.Observable.prototype.mergeMap=a.mergeMap;g.Observable.prototype.flatMap=a.mergeMap},function(g,e,a){g=a(0);a=a(183);g.Observable.prototype.flatMapTo=a.mergeMapTo;g.Observable.prototype.mergeMapTo=a.mergeMapTo},function(g,e,a){g=a(0);a=a(490);g.Observable.prototype.mergeScan=a.mergeScan},function(g,e,a){var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):
-(c.prototype=b.prototype,new c)},n=a(13),m=a(11),c=a(5);g=a(4);e.mergeScan=function(a,c,d){void 0===d&&(d=Number.POSITIVE_INFINITY);return this.lift(new b(a,c,d))};var b=function(){function a(a,b,c){this.accumulator=a;this.seed=b;this.concurrent=c}a.prototype.call=function(a,b){return b.subscribe(new d(a,this.accumulator,this.seed,this.concurrent))};return a}();e.MergeScanOperator=b;var d=function(a){function b(b,c,d,f){a.call(this,b);this.accumulator=c;this.acc=d;this.concurrent=f;this.hasCompleted=
-this.hasValue=!1;this.buffer=[];this.index=this.active=0}p(b,a);b.prototype._next=function(a){if(this.active<this.concurrent){var b=this.index++,c=n.tryCatch(this.accumulator)(this.acc,a),d=this.destination;c===m.errorObject?d.error(m.errorObject.e):(this.active++,this._innerSub(c,a,b))}else this.buffer.push(a)};b.prototype._innerSub=function(a,b,d){this.add(c.subscribeToResult(this,a,b,d))};b.prototype._complete=function(){this.hasCompleted=!0;0===this.active&&0===this.buffer.length&&(!1===this.hasValue&&
-this.destination.next(this.acc),this.destination.complete())};b.prototype.notifyNext=function(a,b,c,d,f){a=this.destination;this.acc=b;this.hasValue=!0;a.next(b)};b.prototype.notifyComplete=function(a){var b=this.buffer;this.remove(a);this.active--;0<b.length?this._next(b.shift()):0===this.active&&this.hasCompleted&&(!1===this.hasValue&&this.destination.next(this.acc),this.destination.complete())};return b}(g.OuterSubscriber);e.MergeScanSubscriber=d},function(g,e,a){g=a(0);a=a(492);g.Observable.prototype.min=
-a.min},function(g,e,a){var p=a(117);e.min=function(a){return this.lift(new p.ReduceOperator("function"===typeof a?function(e,c){return 0>a(e,c)?e:c}:function(a,c){return a<c?a:c}))}},function(g,e,a){g=a(0);a=a(41);g.Observable.prototype.multicast=a.multicast},function(g,e,a){g=a(0);a=a(114);g.Observable.prototype.observeOn=a.observeOn},function(g,e,a){g=a(0);a=a(179);g.Observable.prototype.onErrorResumeNext=a.onErrorResumeNext},function(g,e,a){g=a(0);a=a(497);g.Observable.prototype.pairwise=a.pairwise},
-function(g,e,a){var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var f in b)b.hasOwnProperty(f)&&(a[f]=b[f]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};g=a(2);e.pairwise=function(){return this.lift(new n)};var n=function(){function a(){}a.prototype.call=function(a,c){return c.subscribe(new m(a))};return a}(),m=function(a){function b(b){a.call(this,b);this.hasPrev=!1}p(b,a);b.prototype._next=function(a){this.hasPrev?this.destination.next([this.prev,
-a]):this.hasPrev=!0;this.prev=a};return b}(g.Subscriber)},function(g,e,a){g=a(0);a=a(499);g.Observable.prototype.partition=a.partition},function(g,e,a){var p=a(500),n=a(185);e.partition=function(a,c){return[n.filter.call(this,a,c),n.filter.call(this,p.not(a,c))]}},function(g,e,a){e.not=function(a,e){function g(){return!g.pred.apply(g.thisArg,arguments)}g.pred=a;g.thisArg=e;return g}},function(g,e,a){g=a(0);a=a(502);g.Observable.prototype.pluck=a.pluck},function(g,e,a){function p(a,c){return function(b){var d=
-b;for(b=0;b<c;b++)if(d=d[a[b]],"undefined"===typeof d)return;return d}}var n=a(116);e.pluck=function(){for(var a=[],c=0;c<arguments.length;c++)a[c-0]=arguments[c];c=a.length;if(0===c)throw Error("list of properties cannot be empty.");return n.map.call(this,p(a,c))}},function(g,e,a){g=a(0);a=a(504);g.Observable.prototype.publish=a.publish},function(g,e,a){var p=a(10),n=a(41);e.publish=function(a){return a?n.multicast.call(this,function(){return new p.Subject},a):n.multicast.call(this,new p.Subject)}},
-function(g,e,a){g=a(0);a=a(506);g.Observable.prototype.publishBehavior=a.publishBehavior},function(g,e,a){var p=a(188),n=a(41);e.publishBehavior=function(a){return n.multicast.call(this,new p.BehaviorSubject(a))}},function(g,e,a){g=a(0);a=a(508);g.Observable.prototype.publishReplay=a.publishReplay},function(g,e,a){var p=a(81),n=a(41);e.publishReplay=function(a,c,b){void 0===a&&(a=Number.POSITIVE_INFINITY);void 0===c&&(c=Number.POSITIVE_INFINITY);return n.multicast.call(this,new p.ReplaySubject(a,
-c,b))}},function(g,e,a){g=a(0);a=a(510);g.Observable.prototype.publishLast=a.publishLast},function(g,e,a){var p=a(77),n=a(41);e.publishLast=function(){return n.multicast.call(this,new p.AsyncSubject)}},function(g,e,a){g=a(0);a=a(177);g.Observable.prototype.race=a.race},function(g,e,a){g=a(0);a=a(117);g.Observable.prototype.reduce=a.reduce},function(g,e,a){g=a(0);a=a(514);g.Observable.prototype.repeat=a.repeat},function(g,e,a){var p=this&&this.__extends||function(a,c){function b(){this.constructor=
-a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};g=a(2);var n=a(38);e.repeat=function(a){void 0===a&&(a=-1);return 0===a?new n.EmptyObservable:0>a?this.lift(new m(-1,this)):this.lift(new m(a-1,this))};var m=function(){function a(a,b){this.count=a;this.source=b}a.prototype.call=function(a,b){return b.subscribe(new c(a,this.count,this.source))};return a}(),c=function(a){function b(b,c,d){a.call(this,b);this.count=c;this.source=
-d}p(b,a);b.prototype.complete=function(){if(!this.isStopped){var b=this.source,c=this.count;if(0===c)return a.prototype.complete.call(this);-1<c&&(this.count=c-1);b.subscribe(this._unsubscribeAndRecycle())}};return b}(g.Subscriber)},function(g,e,a){g=a(0);a=a(516);g.Observable.prototype.repeatWhen=a.repeatWhen},function(g,e,a){var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=
-b.prototype,new c)},n=a(10),m=a(13),c=a(11);g=a(4);var b=a(5);e.repeatWhen=function(a){return this.lift(new d(a))};var d=function(){function a(a){this.notifier=a}a.prototype.call=function(a,b){return b.subscribe(new f(a,this.notifier,b))};return a}(),f=function(a){function d(b,c,d){a.call(this,b);this.notifier=c;this.source=d;this.sourceIsBeingSubscribedTo=!0}p(d,a);d.prototype.notifyNext=function(a,b,c,d,f){this.sourceIsBeingSubscribedTo=!0;this.source.subscribe(this)};d.prototype.notifyComplete=
-function(b){if(!1===this.sourceIsBeingSubscribedTo)return a.prototype.complete.call(this)};d.prototype.complete=function(){this.sourceIsBeingSubscribedTo=!1;if(!this.isStopped){if(!this.retries)this.subscribeToRetries();else if(this.retriesSubscription.closed)return a.prototype.complete.call(this);this._unsubscribeAndRecycle();this.notifications.next()}};d.prototype._unsubscribe=function(){var a=this.notifications,b=this.retriesSubscription;a&&(a.unsubscribe(),this.notifications=null);b&&(b.unsubscribe(),
-this.retriesSubscription=null);this.retries=null};d.prototype._unsubscribeAndRecycle=function(){var b=this.notifications,c=this.retries,d=this.retriesSubscription;this.retriesSubscription=this.retries=this.notifications=null;a.prototype._unsubscribeAndRecycle.call(this);this.notifications=b;this.retries=c;this.retriesSubscription=d;return this};d.prototype.subscribeToRetries=function(){this.notifications=new n.Subject;var d=m.tryCatch(this.notifier)(this.notifications);if(d===c.errorObject)return a.prototype.complete.call(this);
-this.retries=d;this.retriesSubscription=b.subscribeToResult(this,d)};return d}(g.OuterSubscriber)},function(g,e,a){g=a(0);a=a(518);g.Observable.prototype.retry=a.retry},function(g,e,a){var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var f in b)b.hasOwnProperty(f)&&(a[f]=b[f]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};g=a(2);e.retry=function(a){void 0===a&&(a=-1);return this.lift(new n(a,this))};var n=function(){function a(a,c){this.count=
-a;this.source=c}a.prototype.call=function(a,c){return c.subscribe(new m(a,this.count,this.source))};return a}(),m=function(a){function b(b,c,e){a.call(this,b);this.count=c;this.source=e}p(b,a);b.prototype.error=function(b){if(!this.isStopped){var c=this.source,d=this.count;if(0===d)return a.prototype.error.call(this,b);-1<d&&(this.count=d-1);c.subscribe(this._unsubscribeAndRecycle())}};return b}(g.Subscriber)},function(g,e,a){g=a(0);a=a(520);g.Observable.prototype.retryWhen=a.retryWhen},function(g,
-e,a){var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},n=a(10),m=a(13),c=a(11);g=a(4);var b=a(5);e.retryWhen=function(a){return this.lift(new d(a,this))};var d=function(){function a(a,b){this.notifier=a;this.source=b}a.prototype.call=function(a,b){return b.subscribe(new f(a,this.notifier,this.source))};return a}(),f=function(a){function d(b,c,d){a.call(this,
-b);this.notifier=c;this.source=d}p(d,a);d.prototype.error=function(d){if(!this.isStopped){var f=this.errors,e=this.retries,h=this.retriesSubscription;if(e)this.retriesSubscription=this.errors=null;else{f=new n.Subject;e=m.tryCatch(this.notifier)(f);if(e===c.errorObject)return a.prototype.error.call(this,c.errorObject.e);h=b.subscribeToResult(this,e)}this._unsubscribeAndRecycle();this.errors=f;this.retries=e;this.retriesSubscription=h;f.next(d)}};d.prototype._unsubscribe=function(){var a=this.errors,
-b=this.retriesSubscription;a&&(a.unsubscribe(),this.errors=null);b&&(b.unsubscribe(),this.retriesSubscription=null);this.retries=null};d.prototype.notifyNext=function(a,b,c,d,f){a=this.errors;b=this.retries;c=this.retriesSubscription;this.retriesSubscription=this.retries=this.errors=null;this._unsubscribeAndRecycle();this.errors=a;this.retries=b;this.retriesSubscription=c;this.source.subscribe(this)};return d}(g.OuterSubscriber)},function(g,e,a){g=a(0);a=a(522);g.Observable.prototype.sample=a.sample},
-function(g,e,a){var p=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};g=a(4);var n=a(5);e.sample=function(a){return this.lift(new m(a))};var m=function(){function a(a){this.notifier=a}a.prototype.call=function(a,b){a=new c(a);b=b.subscribe(a);b.add(n.subscribeToResult(a,this.notifier));return b};return a}(),c=function(a){function b(){a.apply(this,arguments);this.hasValue=
-!1}p(b,a);b.prototype._next=function(a){this.value=a;this.hasValue=!0};b.prototype.notifyNext=function(a,b,c,d,e){this.emitValue()};b.prototype.notifyComplete=function(){this.emitValue()};b.prototype.emitValue=function(){this.hasValue&&(this.hasValue=!1,this.destination.next(this.value))};return b}(g.OuterSubscriber)},function(g,e,a){g=a(0);a=a(524);g.Observable.prototype.sampleTime=a.sampleTime},function(g,e,a){function p(a){var b=a.period;a.subscriber.notifyNext();this.schedule(a,b)}var n=this&&
-this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};g=a(2);var m=a(17);e.sampleTime=function(a,b){void 0===b&&(b=m.async);return this.lift(new c(a,b))};var c=function(){function a(a,b){this.period=a;this.scheduler=b}a.prototype.call=function(a,c){return c.subscribe(new b(a,this.period,this.scheduler))};return a}(),b=function(a){function b(b,c,d){a.call(this,b);this.period=
-c;this.scheduler=d;this.hasValue=!1;this.add(d.schedule(p,c,{subscriber:this,period:c}))}n(b,a);b.prototype._next=function(a){this.lastValue=a;this.hasValue=!0};b.prototype.notifyNext=function(){this.hasValue&&(this.hasValue=!1,this.destination.next(this.lastValue))};return b}(g.Subscriber)},function(g,e,a){g=a(0);a=a(526);g.Observable.prototype.scan=a.scan},function(g,e,a){var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var f in b)b.hasOwnProperty(f)&&(a[f]=b[f]);a.prototype=
-null===b?Object.create(b):(c.prototype=b.prototype,new c)};g=a(2);e.scan=function(a,b){var c=!1;2<=arguments.length&&(c=!0);return this.lift(new n(a,b,c))};var n=function(){function a(a,c,f){void 0===f&&(f=!1);this.accumulator=a;this.seed=c;this.hasSeed=f}a.prototype.call=function(a,c){return c.subscribe(new m(a,this.accumulator,this.seed,this.hasSeed))};return a}(),m=function(a){function b(b,c,e,g){a.call(this,b);this.accumulator=c;this._seed=e;this.hasSeed=g;this.index=0}p(b,a);Object.defineProperty(b.prototype,
-"seed",{get:function(){return this._seed},set:function(a){this.hasSeed=!0;this._seed=a},enumerable:!0,configurable:!0});b.prototype._next=function(a){if(this.hasSeed)return this._tryNext(a);this.seed=a;this.destination.next(a)};b.prototype._tryNext=function(a){var b=this.index++;try{var c=this.accumulator(this.seed,a,b)}catch(q){this.destination.error(q)}this.seed=c;this.destination.next(c)};return b}(g.Subscriber)},function(g,e,a){g=a(0);a=a(528);g.Observable.prototype.sequenceEqual=a.sequenceEqual},
-function(g,e,a){var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};g=a(2);var n=a(13),m=a(11);e.sequenceEqual=function(a,b){return this.lift(new c(a,b))};var c=function(){function a(a,b){this.compareTo=a;this.comparor=b}a.prototype.call=function(a,c){return c.subscribe(new b(a,this.compareTo,this.comparor))};return a}();e.SequenceEqualOperator=c;var b=function(a){function b(b,
-c,f){a.call(this,b);this.compareTo=c;this.comparor=f;this._a=[];this._b=[];this._oneComplete=!1;this.add(c.subscribe(new d(b,this)))}p(b,a);b.prototype._next=function(a){this._oneComplete&&0===this._b.length?this.emit(!1):(this._a.push(a),this.checkValues())};b.prototype._complete=function(){this._oneComplete?this.emit(0===this._a.length&&0===this._b.length):this._oneComplete=!0};b.prototype.checkValues=function(){for(var a=this._a,b=this._b,c=this.comparor;0<a.length&&0<b.length;){var d=a.shift(),
-f=b.shift();c?(d=n.tryCatch(c)(d,f),d===m.errorObject&&this.destination.error(m.errorObject.e)):d=d===f;d||this.emit(!1)}};b.prototype.emit=function(a){var b=this.destination;b.next(a);b.complete()};b.prototype.nextB=function(a){this._oneComplete&&0===this._a.length?this.emit(!1):(this._b.push(a),this.checkValues())};return b}(g.Subscriber);e.SequenceEqualSubscriber=b;var d=function(a){function b(b,c){a.call(this,b);this.parent=c}p(b,a);b.prototype._next=function(a){this.parent.nextB(a)};b.prototype._error=
-function(a){this.parent.error(a)};b.prototype._complete=function(){this.parent._complete()};return b}(g.Subscriber)},function(g,e,a){g=a(0);a=a(530);g.Observable.prototype.share=a.share},function(g,e,a){function p(){return new m.Subject}var n=a(41),m=a(10);e.share=function(){return n.multicast.call(this,p).refCount()}},function(g,e,a){g=a(0);a=a(532);g.Observable.prototype.shareReplay=a.shareReplay},function(g,e,a){var p=a(41),n=a(81);e.shareReplay=function(a,c,b){var d;return p.multicast.call(this,
-function(){return this._isComplete?d:d=new n.ReplaySubject(a,c,b)}).refCount()}},function(g,e,a){g=a(0);a=a(534);g.Observable.prototype.single=a.single},function(g,e,a){var p=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};g=a(2);var n=a(82);e.single=function(a){return this.lift(new m(a,this))};var m=function(){function a(a,b){this.predicate=a;this.source=b}a.prototype.call=
-function(a,b){return b.subscribe(new c(a,this.predicate,this.source))};return a}(),c=function(a){function b(b,c,d){a.call(this,b);this.predicate=c;this.source=d;this.seenValue=!1;this.index=0}p(b,a);b.prototype.applySingleValue=function(a){this.seenValue?this.destination.error("Sequence contains more than one element"):(this.seenValue=!0,this.singleValue=a)};b.prototype._next=function(a){var b=this.index++;this.predicate?this.tryNext(a,b):this.applySingleValue(a)};b.prototype.tryNext=function(a,b){try{this.predicate(a,
-b,this.source)&&this.applySingleValue(a)}catch(q){this.destination.error(q)}};b.prototype._complete=function(){var a=this.destination;0<this.index?(a.next(this.seenValue?this.singleValue:void 0),a.complete()):a.error(new n.EmptyError)};return b}(g.Subscriber)},function(g,e,a){g=a(0);a=a(536);g.Observable.prototype.skip=a.skip},function(g,e,a){var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var f in b)b.hasOwnProperty(f)&&(a[f]=b[f]);a.prototype=null===b?Object.create(b):
-(c.prototype=b.prototype,new c)};g=a(2);e.skip=function(a){return this.lift(new n(a))};var n=function(){function a(a){this.total=a}a.prototype.call=function(a,c){return c.subscribe(new m(a,this.total))};return a}(),m=function(a){function b(b,c){a.call(this,b);this.total=c;this.count=0}p(b,a);b.prototype._next=function(a){++this.count>this.total&&this.destination.next(a)};return b}(g.Subscriber)},function(g,e,a){g=a(0);a=a(538);g.Observable.prototype.skipLast=a.skipLast},function(g,e,a){var p=this&&
-this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},n=a(2),m=a(60);e.skipLast=function(a){return this.lift(new c(a))};var c=function(){function a(a){this._skipCount=a;if(0>this._skipCount)throw new m.ArgumentOutOfRangeError;}a.prototype.call=function(a,c){return 0===this._skipCount?c.subscribe(new n.Subscriber(a)):c.subscribe(new b(a,this._skipCount))};return a}(),b=function(a){function b(b,
-c){a.call(this,b);this._skipCount=c;this._count=0;this._ring=Array(c)}p(b,a);b.prototype._next=function(a){var b=this._skipCount,c=this._count++;if(c<b)this._ring[c]=a;else{b=c%b;c=this._ring;var d=c[b];c[b]=a;this.destination.next(d)}};return b}(n.Subscriber)},function(g,e,a){g=a(0);a=a(540);g.Observable.prototype.skipUntil=a.skipUntil},function(g,e,a){var p=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):
-(b.prototype=c.prototype,new b)};g=a(4);var n=a(5);e.skipUntil=function(a){return this.lift(new m(a))};var m=function(){function a(a){this.notifier=a}a.prototype.call=function(a,b){return b.subscribe(new c(a,this.notifier))};return a}(),c=function(a){function b(b,c){a.call(this,b);this.isInnerStopped=this.hasValue=!1;this.add(n.subscribeToResult(this,c))}p(b,a);b.prototype._next=function(b){this.hasValue&&a.prototype._next.call(this,b)};b.prototype._complete=function(){this.isInnerStopped?a.prototype._complete.call(this):
-this.unsubscribe()};b.prototype.notifyNext=function(a,b,c,d,e){this.hasValue=!0};b.prototype.notifyComplete=function(){this.isInnerStopped=!0;this.isStopped&&a.prototype._complete.call(this)};return b}(g.OuterSubscriber)},function(g,e,a){g=a(0);a=a(542);g.Observable.prototype.skipWhile=a.skipWhile},function(g,e,a){var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var e in b)b.hasOwnProperty(e)&&(a[e]=b[e]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,
-new c)};g=a(2);e.skipWhile=function(a){return this.lift(new n(a))};var n=function(){function a(a){this.predicate=a}a.prototype.call=function(a,c){return c.subscribe(new m(a,this.predicate))};return a}(),m=function(a){function b(b,c){a.call(this,b);this.predicate=c;this.skipping=!0;this.index=0}p(b,a);b.prototype._next=function(a){var b=this.destination;this.skipping&&this.tryCallPredicate(a);this.skipping||b.next(a)};b.prototype.tryCallPredicate=function(a){try{this.skipping=!!this.predicate(a,this.index++)}catch(f){this.destination.error(f)}};
-return b}(g.Subscriber)},function(g,e,a){g=a(0);a=a(544);g.Observable.prototype.startWith=a.startWith},function(g,e,a){var p=a(34),n=a(111),m=a(38),c=a(113),b=a(33);e.startWith=function(){for(var a=[],e=0;e<arguments.length;e++)a[e-0]=arguments[e];e=a[a.length-1];b.isScheduler(e)?a.pop():e=null;var g=a.length;return 1===g?c.concatStatic(new n.ScalarObservable(a[0],e),this):1<g?c.concatStatic(new p.ArrayObservable(a,e),this):c.concatStatic(new m.EmptyObservable(e),this)}},function(g,e,a){g=a(0);a=
-a(546);g.Observable.prototype.subscribeOn=a.subscribeOn},function(g,e,a){var p=a(547);e.subscribeOn=function(a,c){void 0===c&&(c=0);return this.lift(new n(a,c))};var n=function(){function a(a,b){this.scheduler=a;this.delay=b}a.prototype.call=function(a,b){return(new p.SubscribeOnObservable(b,this.delay,this.scheduler)).subscribe(a)};return a}()},function(g,e,a){var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var e in b)b.hasOwnProperty(e)&&(a[e]=b[e]);a.prototype=null===
-b?Object.create(b):(c.prototype=b.prototype,new c)};g=a(0);var n=a(189),m=a(79);a=function(a){function b(b,c,e){void 0===c&&(c=0);void 0===e&&(e=n.asap);a.call(this);this.source=b;this.delayTime=c;this.scheduler=e;if(!m.isNumeric(c)||0>c)this.delayTime=0;e&&"function"===typeof e.schedule||(this.scheduler=n.asap)}p(b,a);b.create=function(a,c,e){void 0===c&&(c=0);void 0===e&&(e=n.asap);return new b(a,c,e)};b.dispatch=function(a){return this.add(a.source.subscribe(a.subscriber))};b.prototype._subscribe=
-function(a){return this.scheduler.schedule(b.dispatch,this.delayTime,{source:this.source,subscriber:a})};return b}(g.Observable);e.SubscribeOnObservable=a},function(g,e,a){var p=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)},n=a(549);g=function(a){function c(b,c){a.call(this,b,c);this.scheduler=b;this.work=c}p(c,a);c.prototype.requestAsyncId=function(b,c,e){void 0===
-e&&(e=0);if(null!==e&&0<e)return a.prototype.requestAsyncId.call(this,b,c,e);b.actions.push(this);return b.scheduled||(b.scheduled=n.Immediate.setImmediate(b.flush.bind(b,null)))};c.prototype.recycleAsyncId=function(b,c,e){void 0===e&&(e=0);if(null!==e&&0<e||null===e&&0<this.delay)return a.prototype.recycleAsyncId.call(this,b,c,e);0===b.actions.length&&(n.Immediate.clearImmediate(c),b.scheduled=void 0)};return c}(a(58).AsyncAction);e.AsapAction=g},function(g,e,a){(function(g,n){g=a(12);n=function(){function a(a){this.root=
-a;a.setImmediate&&"function"===typeof a.setImmediate?(this.setImmediate=a.setImmediate.bind(a),this.clearImmediate=a.clearImmediate.bind(a)):(this.nextHandle=1,this.tasksByHandle={},this.currentlyRunningATask=!1,this.canUseProcessNextTick()?this.setImmediate=this.createProcessNextTickSetImmediate():this.canUsePostMessage()?this.setImmediate=this.createPostMessageSetImmediate():this.canUseMessageChannel()?this.setImmediate=this.createMessageChannelSetImmediate():this.canUseReadyStateChange()?this.setImmediate=
-this.createReadyStateChangeSetImmediate():this.setImmediate=this.createSetTimeoutSetImmediate(),a=function d(a){delete d.instance.tasksByHandle[a]},a.instance=this,this.clearImmediate=a)}a.prototype.identify=function(a){return this.root.Object.prototype.toString.call(a)};a.prototype.canUseProcessNextTick=function(){return"[object process]"===this.identify(this.root.process)};a.prototype.canUseMessageChannel=function(){return!!this.root.MessageChannel};a.prototype.canUseReadyStateChange=function(){var a=
-this.root.document;return!!(a&&"onreadystatechange"in a.createElement("script"))};a.prototype.canUsePostMessage=function(){var a=this.root;if(a.postMessage&&!a.importScripts){var b=!0,d=a.onmessage;a.onmessage=function(){b=!1};a.postMessage("","*");a.onmessage=d;return b}return!1};a.prototype.partiallyApplied=function(a){for(var b=[],c=1;c<arguments.length;c++)b[c-1]=arguments[c];c=function h(){var a=h.handler,b=h.args;"function"===typeof a?a.apply(void 0,b):(new Function(""+a))()};c.handler=a;c.args=
-b;return c};a.prototype.addFromSetImmediateArguments=function(a){this.tasksByHandle[this.nextHandle]=this.partiallyApplied.apply(void 0,a);return this.nextHandle++};a.prototype.createProcessNextTickSetImmediate=function(){var a=function d(){var a=d.instance,c=a.addFromSetImmediateArguments(arguments);a.root.process.nextTick(a.partiallyApplied(a.runIfPresent,c));return c};a.instance=this;return a};a.prototype.createPostMessageSetImmediate=function(){var a=this.root,b="setImmediate$"+a.Math.random()+
-"$",d=function h(c){var d=h.instance;c.source===a&&"string"===typeof c.data&&0===c.data.indexOf(b)&&d.runIfPresent(+c.data.slice(b.length))};d.instance=this;a.addEventListener("message",d,!1);d=function q(){var a=q,b=a.messagePrefix;a=a.instance;var c=a.addFromSetImmediateArguments(arguments);a.root.postMessage(b+c,"*");return c};d.instance=this;d.messagePrefix=b;return d};a.prototype.runIfPresent=function(a){if(this.currentlyRunningATask)this.root.setTimeout(this.partiallyApplied(this.runIfPresent,
-a),0);else{var b=this.tasksByHandle[a];if(b){this.currentlyRunningATask=!0;try{b()}finally{this.clearImmediate(a),this.currentlyRunningATask=!1}}}};a.prototype.createMessageChannelSetImmediate=function(){var a=this,b=new this.root.MessageChannel;b.port1.onmessage=function(b){a.runIfPresent(b.data)};var d=function h(){var a=h,b=a.channel;a=a.instance.addFromSetImmediateArguments(arguments);b.port2.postMessage(a);return a};d.channel=b;d.instance=this;return d};a.prototype.createReadyStateChangeSetImmediate=
-function(){var a=function d(){var a=d.instance,c=a.root.document,e=c.documentElement,g=a.addFromSetImmediateArguments(arguments),m=c.createElement("script");m.onreadystatechange=function(){a.runIfPresent(g);m.onreadystatechange=null;e.removeChild(m);m=null};e.appendChild(m);return g};a.instance=this;return a};a.prototype.createSetTimeoutSetImmediate=function(){var a=function d(){var a=d.instance,c=a.addFromSetImmediateArguments(arguments);a.root.setTimeout(a.partiallyApplied(a.runIfPresent,c),0);
-return c};a.instance=this;return a};return a}();e.ImmediateDefinition=n;e.Immediate=new n(g.root)}).call(e,a(190).clearImmediate,a(190).setImmediate)},function(g,e,a){(function(a,e){(function(a,c){function b(a){delete u[a]}function d(a){if(A)setTimeout(d,0,a);else{var e=u[a];if(e){A=!0;try{var f=e.callback,g=e.args;switch(g.length){case 0:f();break;case 1:f(g[0]);break;case 2:f(g[0],g[1]);break;case 3:f(g[0],g[1],g[2]);break;default:f.apply(c,g)}}finally{b(a),A=!1}}}}function f(){z=function(a){e.nextTick(function(){d(a)})}}
-function g(){if(a.postMessage&&!a.importScripts){var b=!0,c=a.onmessage;a.onmessage=function(){b=!1};a.postMessage("","*");a.onmessage=c;return b}}function m(){var b="setImmediate$"+Math.random()+"$",c=function(c){c.source===a&&"string"===typeof c.data&&0===c.data.indexOf(b)&&d(+c.data.slice(b.length))};a.addEventListener?a.addEventListener("message",c,!1):a.attachEvent("onmessage",c);z=function(c){a.postMessage(b+c,"*")}}function k(){var a=new MessageChannel;a.port1.onmessage=function(a){d(a.data)};
-z=function(b){a.port2.postMessage(b)}}function n(){var a=y.documentElement;z=function(b){var c=y.createElement("script");c.onreadystatechange=function(){d(b);c.onreadystatechange=null;a.removeChild(c);c=null};a.appendChild(c)}}function p(){z=function(a){setTimeout(d,0,a)}}if(!a.setImmediate){var l=1,u={},A=!1,y=a.document,z,B=Object.getPrototypeOf&&Object.getPrototypeOf(a);B=B&&B.setTimeout?B:a;"[object process]"==={}.toString.call(a.process)?f():g()?m():a.MessageChannel?k():y&&"onreadystatechange"in
-y.createElement("script")?n():p();B.setImmediate=function(a){"function"!==typeof a&&(a=new Function(""+a));for(var b=Array(arguments.length-1),c=0;c<b.length;c++)b[c]=arguments[c+1];u[l]={callback:a,args:b};z(l);return l++};B.clearImmediate=b}})("undefined"===typeof self?"undefined"===typeof a?this:a:self)}).call(e,a(62),a(551))},function(g,e){function a(){throw Error("setTimeout has not been defined");}function p(){throw Error("clearTimeout has not been defined");}function n(b){if(h===setTimeout)return setTimeout(b,
-0);if((h===a||!h)&&setTimeout)return h=setTimeout,setTimeout(b,0);try{return h(b,0)}catch(A){try{return h.call(null,b,0)}catch(y){return h.call(this,b,0)}}}function m(a){if(q===clearTimeout)return clearTimeout(a);if((q===p||!q)&&clearTimeout)return q=clearTimeout,clearTimeout(a);try{return q(a)}catch(A){try{return q.call(null,a)}catch(y){return q.call(this,a)}}}function c(){t&&r&&(t=!1,r.length?k=r.concat(k):l=-1,k.length&&b())}function b(){if(!t){var a=n(c);t=!0;for(var b=k.length;b;){r=k;for(k=
-[];++l<b;)r&&r[l].run();l=-1;b=k.length}r=null;t=!1;m(a)}}function d(a,b){this.fun=a;this.array=b}function f(){}g=g.exports={};try{var h="function"===typeof setTimeout?setTimeout:a}catch(u){h=a}try{var q="function"===typeof clearTimeout?clearTimeout:p}catch(u){q=p}var k=[],t=!1,r,l=-1;g.nextTick=function(a){var c=Array(arguments.length-1);if(1<arguments.length)for(var e=1;e<arguments.length;e++)c[e-1]=arguments[e];k.push(new d(a,c));1!==k.length||t||n(b)};d.prototype.run=function(){this.fun.apply(null,
-this.array)};g.title="browser";g.browser=!0;g.env={};g.argv=[];g.version="";g.versions={};g.on=f;g.addListener=f;g.once=f;g.off=f;g.removeListener=f;g.removeAllListeners=f;g.emit=f;g.prependListener=f;g.prependOnceListener=f;g.listeners=function(a){return[]};g.binding=function(a){throw Error("process.binding is not supported");};g.cwd=function(){return"/"};g.chdir=function(a){throw Error("process.chdir is not supported");};g.umask=function(){return 0}},function(g,e,a){var p=this&&this.__extends||
-function(a,e){function c(){this.constructor=a}for(var b in e)e.hasOwnProperty(b)&&(a[b]=e[b]);a.prototype=null===e?Object.create(e):(c.prototype=e.prototype,new c)};g=function(a){function e(){a.apply(this,arguments)}p(e,a);e.prototype.flush=function(a){this.active=!0;this.scheduled=void 0;var b=this.actions,c,e=-1,g=b.length;a=a||b.shift();do if(c=a.execute(a.state,a.delay))break;while(++e<g&&(a=b.shift()));this.active=!1;if(c){for(;++e<g&&(a=b.shift());)a.unsubscribe();throw c;}};return e}(a(59).AsyncScheduler);
-e.AsapScheduler=g},function(g,e,a){g=a(0);a=a(554);g.Observable.prototype.switch=a._switch;g.Observable.prototype._switch=a._switch},function(g,e,a){var p=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};g=a(4);var n=a(5);e._switch=function(){return this.lift(new m)};var m=function(){function a(){}a.prototype.call=function(a,b){return b.subscribe(new c(a))};return a}(),
-c=function(a){function b(b){a.call(this,b);this.active=0;this.hasCompleted=!1}p(b,a);b.prototype._next=function(a){this.unsubscribeInner();this.active++;this.add(this.innerSubscription=n.subscribeToResult(this,a))};b.prototype._complete=function(){this.hasCompleted=!0;0===this.active&&this.destination.complete()};b.prototype.unsubscribeInner=function(){this.active=0<this.active?this.active-1:0;var a=this.innerSubscription;a&&(a.unsubscribe(),this.remove(a))};b.prototype.notifyNext=function(a,b,c,
-d,e){this.destination.next(b)};b.prototype.notifyError=function(a){this.destination.error(a)};b.prototype.notifyComplete=function(){this.unsubscribeInner();this.hasCompleted&&0===this.active&&this.destination.complete()};return b}(g.OuterSubscriber)},function(g,e,a){g=a(0);a=a(556);g.Observable.prototype.switchMap=a.switchMap},function(g,e,a){var p=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):
-(b.prototype=c.prototype,new b)};g=a(4);var n=a(5);e.switchMap=function(a,c){return this.lift(new m(a,c))};var m=function(){function a(a,b){this.project=a;this.resultSelector=b}a.prototype.call=function(a,b){return b.subscribe(new c(a,this.project,this.resultSelector))};return a}(),c=function(a){function b(b,c,d){a.call(this,b);this.project=c;this.resultSelector=d;this.index=0}p(b,a);b.prototype._next=function(a){var b=this.index++;try{var c=this.project(a,b)}catch(k){this.destination.error(k);return}this._innerSub(c,
-a,b)};b.prototype._innerSub=function(a,b,c){var d=this.innerSubscription;d&&d.unsubscribe();this.add(this.innerSubscription=n.subscribeToResult(this,a,b,c))};b.prototype._complete=function(){var b=this.innerSubscription;b&&!b.closed||a.prototype._complete.call(this)};b.prototype._unsubscribe=function(){this.innerSubscription=null};b.prototype.notifyComplete=function(b){this.remove(b);this.innerSubscription=null;this.isStopped&&a.prototype._complete.call(this)};b.prototype.notifyNext=function(a,b,
-c,d,e){this.resultSelector?this._tryNotifyNext(a,b,c,d):this.destination.next(b)};b.prototype._tryNotifyNext=function(a,b,c,d){try{var e=this.resultSelector(a,b,c,d)}catch(r){this.destination.error(r);return}this.destination.next(e)};return b}(g.OuterSubscriber)},function(g,e,a){g=a(0);a=a(558);g.Observable.prototype.switchMapTo=a.switchMapTo},function(g,e,a){var p=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===
-c?Object.create(c):(b.prototype=c.prototype,new b)};g=a(4);var n=a(5);e.switchMapTo=function(a,c){return this.lift(new m(a,c))};var m=function(){function a(a,b){this.observable=a;this.resultSelector=b}a.prototype.call=function(a,b){return b.subscribe(new c(a,this.observable,this.resultSelector))};return a}(),c=function(a){function b(b,c,d){a.call(this,b);this.inner=c;this.resultSelector=d;this.index=0}p(b,a);b.prototype._next=function(a){var b=this.innerSubscription;b&&b.unsubscribe();this.add(this.innerSubscription=
-n.subscribeToResult(this,this.inner,a,this.index++))};b.prototype._complete=function(){var b=this.innerSubscription;b&&!b.closed||a.prototype._complete.call(this)};b.prototype._unsubscribe=function(){this.innerSubscription=null};b.prototype.notifyComplete=function(b){this.remove(b);this.innerSubscription=null;this.isStopped&&a.prototype._complete.call(this)};b.prototype.notifyNext=function(a,b,c,d,e){e=this.destination;this.resultSelector?this.tryResultSelector(a,b,c,d):e.next(b)};b.prototype.tryResultSelector=
-function(a,b,c,d){var e=this.resultSelector,f=this.destination;try{var g=e(a,b,c,d)}catch(u){f.error(u);return}f.next(g)};return b}(g.OuterSubscriber)},function(g,e,a){g=a(0);a=a(560);g.Observable.prototype.take=a.take},function(g,e,a){var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};g=a(2);var n=a(60),m=a(38);e.take=function(a){return 0===a?new m.EmptyObservable:
-this.lift(new c(a))};var c=function(){function a(a){this.total=a;if(0>this.total)throw new n.ArgumentOutOfRangeError;}a.prototype.call=function(a,c){return c.subscribe(new b(a,this.total))};return a}(),b=function(a){function b(b,c){a.call(this,b);this.total=c;this.count=0}p(b,a);b.prototype._next=function(a){var b=this.total,c=++this.count;c<=b&&(this.destination.next(a),c===b&&(this.destination.complete(),this.unsubscribe()))};return b}(g.Subscriber)},function(g,e,a){g=a(0);a=a(562);g.Observable.prototype.takeLast=
-a.takeLast},function(g,e,a){var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};g=a(2);var n=a(60),m=a(38);e.takeLast=function(a){return 0===a?new m.EmptyObservable:this.lift(new c(a))};var c=function(){function a(a){this.total=a;if(0>this.total)throw new n.ArgumentOutOfRangeError;}a.prototype.call=function(a,c){return c.subscribe(new b(a,this.total))};return a}(),
-b=function(a){function b(b,c){a.call(this,b);this.total=c;this.ring=[];this.count=0}p(b,a);b.prototype._next=function(a){var b=this.ring,c=this.total,d=this.count++;b.length<c?b.push(a):b[d%c]=a};b.prototype._complete=function(){var a=this.destination,b=this.count;if(0<b)for(var c=this.count>=this.total?this.total:this.count,d=this.ring,e=0;e<c;e++){var f=b++%c;a.next(d[f])}a.complete()};return b}(g.Subscriber)},function(g,e,a){g=a(0);a=a(564);g.Observable.prototype.takeUntil=a.takeUntil},function(g,
-e,a){var p=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};g=a(4);var n=a(5);e.takeUntil=function(a){return this.lift(new m(a))};var m=function(){function a(a){this.notifier=a}a.prototype.call=function(a,b){return b.subscribe(new c(a,this.notifier))};return a}(),c=function(a){function b(b,c){a.call(this,b);this.notifier=c;this.add(n.subscribeToResult(this,c))}
-p(b,a);b.prototype.notifyNext=function(a,b,c,d,e){this.complete()};b.prototype.notifyComplete=function(){};return b}(g.OuterSubscriber)},function(g,e,a){g=a(0);a=a(566);g.Observable.prototype.takeWhile=a.takeWhile},function(g,e,a){var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var e in b)b.hasOwnProperty(e)&&(a[e]=b[e]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};g=a(2);e.takeWhile=function(a){return this.lift(new n(a))};var n=function(){function a(a){this.predicate=
-a}a.prototype.call=function(a,c){return c.subscribe(new m(a,this.predicate))};return a}(),m=function(a){function b(b,c){a.call(this,b);this.predicate=c;this.index=0}p(b,a);b.prototype._next=function(a){var b=this.destination;try{var c=this.predicate(a,this.index++)}catch(q){b.error(q);return}this.nextOrComplete(a,c)};b.prototype.nextOrComplete=function(a,b){var c=this.destination;b?c.next(a):c.complete()};return b}(g.Subscriber)},function(g,e,a){g=a(0);a=a(191);g.Observable.prototype.throttle=a.throttle},
-function(g,e,a){g=a(0);a=a(569);g.Observable.prototype.throttleTime=a.throttleTime},function(g,e,a){function p(a){a.subscriber.clearThrottle()}var n=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};g=a(2);var m=a(17),c=a(191);e.throttleTime=function(a,d,e){void 0===d&&(d=m.async);void 0===e&&(e=c.defaultThrottleConfig);return this.lift(new b(a,d,e.leading,e.trailing))};
-var b=function(){function a(a,b,c,d){this.duration=a;this.scheduler=b;this.leading=c;this.trailing=d}a.prototype.call=function(a,b){return b.subscribe(new d(a,this.duration,this.scheduler,this.leading,this.trailing))};return a}(),d=function(a){function b(b,c,d,e,f){a.call(this,b);this.duration=c;this.scheduler=d;this.leading=e;this.trailing=f;this._hasTrailingValue=!1;this._trailingValue=null}n(b,a);b.prototype._next=function(a){this.throttled?this.trailing&&(this._trailingValue=a,this._hasTrailingValue=
-!0):(this.add(this.throttled=this.scheduler.schedule(p,this.duration,{subscriber:this})),this.leading&&this.destination.next(a))};b.prototype.clearThrottle=function(){var a=this.throttled;a&&(this.trailing&&this._hasTrailingValue&&(this.destination.next(this._trailingValue),this._trailingValue=null,this._hasTrailingValue=!1),a.unsubscribe(),this.remove(a),this.throttled=null)};return b}(g.Subscriber)},function(g,e,a){g=a(0);a=a(192);g.Observable.prototype.timeInterval=a.timeInterval},function(g,e,
-a){g=a(0);a=a(572);g.Observable.prototype.timeout=a.timeout},function(g,e,a){var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},n=a(17),m=a(80);g=a(2);var c=a(193);e.timeout=function(a,d){void 0===d&&(d=n.async);var e=m.isDate(a);a=e?+a-d.now():Math.abs(a);return this.lift(new b(a,e,d,new c.TimeoutError))};var b=function(){function a(a,b,c,d){this.waitFor=a;
-this.absoluteTimeout=b;this.scheduler=c;this.errorInstance=d}a.prototype.call=function(a,b){return b.subscribe(new d(a,this.absoluteTimeout,this.waitFor,this.scheduler,this.errorInstance))};return a}(),d=function(a){function b(b,c,d,e,f){a.call(this,b);this.absoluteTimeout=c;this.waitFor=d;this.scheduler=e;this.errorInstance=f;this.action=null;this.scheduleTimeout()}p(b,a);b.dispatchTimeout=function(a){a.error(a.errorInstance)};b.prototype.scheduleTimeout=function(){var a=this.action;a?this.action=
-a.schedule(this,this.waitFor):this.add(this.action=this.scheduler.schedule(b.dispatchTimeout,this.waitFor,this))};b.prototype._next=function(b){this.absoluteTimeout||this.scheduleTimeout();a.prototype._next.call(this,b)};b.prototype._unsubscribe=function(){this.errorInstance=this.scheduler=this.action=null};return b}(g.Subscriber)},function(g,e,a){g=a(0);a=a(574);g.Observable.prototype.timeoutWith=a.timeoutWith},function(g,e,a){var p=this&&this.__extends||function(a,b){function c(){this.constructor=
-a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},n=a(17),m=a(80);g=a(4);var c=a(5);e.timeoutWith=function(a,c,d){void 0===d&&(d=n.async);var e=m.isDate(a);a=e?+a-d.now():Math.abs(a);return this.lift(new b(a,e,c,d))};var b=function(){function a(a,b,c,d){this.waitFor=a;this.absoluteTimeout=b;this.withObservable=c;this.scheduler=d}a.prototype.call=function(a,b){return b.subscribe(new d(a,this.absoluteTimeout,this.waitFor,this.withObservable,
-this.scheduler))};return a}(),d=function(a){function b(b,c,d,e,f){a.call(this,b);this.absoluteTimeout=c;this.waitFor=d;this.withObservable=e;this.scheduler=f;this.action=null;this.scheduleTimeout()}p(b,a);b.dispatchTimeout=function(a){var b=a.withObservable;a._unsubscribeAndRecycle();a.add(c.subscribeToResult(a,b))};b.prototype.scheduleTimeout=function(){var a=this.action;a?this.action=a.schedule(this,this.waitFor):this.add(this.action=this.scheduler.schedule(b.dispatchTimeout,this.waitFor,this))};
-b.prototype._next=function(b){this.absoluteTimeout||this.scheduleTimeout();a.prototype._next.call(this,b)};b.prototype._unsubscribe=function(){this.withObservable=this.scheduler=this.action=null};return b}(g.OuterSubscriber)},function(g,e,a){g=a(0);a=a(194);g.Observable.prototype.timestamp=a.timestamp},function(g,e,a){g=a(0);a=a(577);g.Observable.prototype.toArray=a.toArray},function(g,e,a){var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var e in b)b.hasOwnProperty(e)&&
-(a[e]=b[e]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};g=a(2);e.toArray=function(){return this.lift(new n)};var n=function(){function a(){}a.prototype.call=function(a,c){return c.subscribe(new m(a))};return a}(),m=function(a){function b(b){a.call(this,b);this.array=[]}p(b,a);b.prototype._next=function(a){this.array.push(a)};b.prototype._complete=function(){this.destination.next(this.array);this.destination.complete()};return b}(g.Subscriber)},function(g,e,a){g=a(0);a=a(579);
-g.Observable.prototype.toPromise=a.toPromise},function(g,e,a){var p=a(12);e.toPromise=function(a){var e=this;a||(p.root.Rx&&p.root.Rx.config&&p.root.Rx.config.Promise?a=p.root.Rx.config.Promise:p.root.Promise&&(a=p.root.Promise));if(!a)throw Error("no Promise impl found");return new a(function(a,b){var c;e.subscribe(function(a){return c=a},function(a){return b(a)},function(){return a(c)})})}},function(g,e,a){g=a(0);a=a(581);g.Observable.prototype.window=a.window},function(g,e,a){var p=this&&this.__extends||
-function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},n=a(10);g=a(4);var m=a(5);e.window=function(a){return this.lift(new c(a))};var c=function(){function a(a){this.windowBoundaries=a}a.prototype.call=function(a,c){a=new b(a);c=c.subscribe(a);c.closed||a.add(m.subscribeToResult(a,this.windowBoundaries));return c};return a}(),b=function(a){function b(b){a.call(this,b);this.window=new n.Subject;
-b.next(this.window)}p(b,a);b.prototype.notifyNext=function(a,b,c,d,e){this.openWindow()};b.prototype.notifyError=function(a,b){this._error(a)};b.prototype.notifyComplete=function(a){this._complete()};b.prototype._next=function(a){this.window.next(a)};b.prototype._error=function(a){this.window.error(a);this.destination.error(a)};b.prototype._complete=function(){this.window.complete();this.destination.complete()};b.prototype._unsubscribe=function(){this.window=null};b.prototype.openWindow=function(){var a=
-this.window;a&&a.complete();a=this.destination;var b=this.window=new n.Subject;a.next(b)};return b}(g.OuterSubscriber)},function(g,e,a){g=a(0);a=a(583);g.Observable.prototype.windowCount=a.windowCount},function(g,e,a){var p=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};g=a(2);var n=a(10);e.windowCount=function(a,c){void 0===c&&(c=0);return this.lift(new m(a,
-c))};var m=function(){function a(a,b){this.windowSize=a;this.startWindowEvery=b}a.prototype.call=function(a,b){return b.subscribe(new c(a,this.windowSize,this.startWindowEvery))};return a}(),c=function(a){function b(b,c,d){a.call(this,b);this.destination=b;this.windowSize=c;this.startWindowEvery=d;this.windows=[new n.Subject];this.count=0;b.next(this.windows[0])}p(b,a);b.prototype._next=function(a){for(var b=0<this.startWindowEvery?this.startWindowEvery:this.windowSize,c=this.destination,d=this.windowSize,
-e=this.windows,f=e.length,g=0;g<f&&!this.closed;g++)e[g].next(a);a=this.count-d+1;0<=a&&0===a%b&&!this.closed&&e.shift().complete();0!==++this.count%b||this.closed||(b=new n.Subject,e.push(b),c.next(b))};b.prototype._error=function(a){var b=this.windows;if(b)for(;0<b.length&&!this.closed;)b.shift().error(a);this.destination.error(a)};b.prototype._complete=function(){var a=this.windows;if(a)for(;0<a.length&&!this.closed;)a.shift().complete();this.destination.complete()};b.prototype._unsubscribe=function(){this.count=
-0;this.windows=null};return b}(g.Subscriber)},function(g,e,a){g=a(0);a=a(585);g.Observable.prototype.windowTime=a.windowTime},function(g,e,a){function p(a){var b=a.subscriber,c=a.windowTimeSpan,d=a.window;d&&b.closeWindow(d);a.window=b.openWindow();this.schedule(a,c)}function n(a){var b=a.windowTimeSpan,c=a.subscriber,d=a.scheduler,e=a.windowCreationInterval,f=c.openWindow(),g={action:this,subscription:null};g.subscription=d.schedule(m,b,{subscriber:c,window:f,context:g});this.add(g.subscription);
-this.schedule(a,e)}function m(a){var b=a.subscriber,c=a.window;(a=a.context)&&a.action&&a.subscription&&a.action.remove(a.subscription);b.closeWindow(c)}var c=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};g=a(10);var b=a(17),d=a(2),f=a(79),h=a(33);e.windowTime=function(a,c,d,e){var g=b.async,k=null,l=Number.POSITIVE_INFINITY;h.isScheduler(e)&&(g=e);h.isScheduler(d)?
-g=d:f.isNumeric(d)&&(l=d);h.isScheduler(c)?g=c:f.isNumeric(c)&&(k=c);return this.lift(new q(a,k,l,g))};var q=function(){function a(a,b,c,d){this.windowTimeSpan=a;this.windowCreationInterval=b;this.maxWindowSize=c;this.scheduler=d}a.prototype.call=function(a,b){return b.subscribe(new t(a,this.windowTimeSpan,this.windowCreationInterval,this.maxWindowSize,this.scheduler))};return a}(),k=function(a){function b(){a.apply(this,arguments);this._numberOfNextedValues=0}c(b,a);b.prototype.next=function(b){this._numberOfNextedValues++;
-a.prototype.next.call(this,b)};Object.defineProperty(b.prototype,"numberOfNextedValues",{get:function(){return this._numberOfNextedValues},enumerable:!0,configurable:!0});return b}(g.Subject),t=function(a){function b(b,c,d,e,f){a.call(this,b);this.destination=b;this.windowTimeSpan=c;this.windowCreationInterval=d;this.maxWindowSize=e;this.scheduler=f;this.windows=[];b=this.openWindow();null!==d&&0<=d?(e={windowTimeSpan:c,windowCreationInterval:d,subscriber:this,scheduler:f},this.add(f.schedule(m,c,
-{subscriber:this,window:b,context:null})),this.add(f.schedule(n,d,e))):this.add(f.schedule(p,c,{subscriber:this,window:b,windowTimeSpan:c}))}c(b,a);b.prototype._next=function(a){for(var b=this.windows,c=b.length,d=0;d<c;d++){var e=b[d];e.closed||(e.next(a),e.numberOfNextedValues>=this.maxWindowSize&&this.closeWindow(e))}};b.prototype._error=function(a){for(var b=this.windows;0<b.length;)b.shift().error(a);this.destination.error(a)};b.prototype._complete=function(){for(var a=this.windows;0<a.length;){var b=
-a.shift();b.closed||b.complete()}this.destination.complete()};b.prototype.openWindow=function(){var a=new k;this.windows.push(a);this.destination.next(a);return a};b.prototype.closeWindow=function(a){a.complete();var b=this.windows;b.splice(b.indexOf(a),1)};return b}(d.Subscriber)},function(g,e,a){g=a(0);a=a(587);g.Observable.prototype.windowToggle=a.windowToggle},function(g,e,a){var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);
-a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},n=a(10),m=a(8),c=a(13),b=a(11);g=a(4);var d=a(5);e.windowToggle=function(a,b){return this.lift(new f(a,b))};var f=function(){function a(a,b){this.openings=a;this.closingSelector=b}a.prototype.call=function(a,b){return b.subscribe(new h(a,this.openings,this.closingSelector))};return a}(),h=function(a){function e(b,c,e){a.call(this,b);this.openings=c;this.closingSelector=e;this.contexts=[];this.add(this.openSubscription=d.subscribeToResult(this,
-c,c))}p(e,a);e.prototype._next=function(a){var b=this.contexts;if(b)for(var c=b.length,d=0;d<c;d++)b[d].window.next(a)};e.prototype._error=function(b){var c=this.contexts;this.contexts=null;if(c)for(var d=c.length,e=-1;++e<d;){var f=c[e];f.window.error(b);f.subscription.unsubscribe()}a.prototype._error.call(this,b)};e.prototype._complete=function(){var b=this.contexts;this.contexts=null;if(b)for(var c=b.length,d=-1;++d<c;){var e=b[d];e.window.complete();e.subscription.unsubscribe()}a.prototype._complete.call(this)};
-e.prototype._unsubscribe=function(){var a=this.contexts;this.contexts=null;if(a)for(var b=a.length,c=-1;++c<b;){var d=a[c];d.window.unsubscribe();d.subscription.unsubscribe()}};e.prototype.notifyNext=function(a,e,f,g,h){if(a===this.openings){g=c.tryCatch(this.closingSelector)(e);if(g===b.errorObject)return this.error(b.errorObject.e);a=new n.Subject;e=new m.Subscription;f={window:a,subscription:e};this.contexts.push(f);g=d.subscribeToResult(this,g,f);g.closed?this.closeWindow(this.contexts.length-
-1):(g.context=f,e.add(g));this.destination.next(a)}else this.closeWindow(this.contexts.indexOf(a))};e.prototype.notifyError=function(a){this.error(a)};e.prototype.notifyComplete=function(a){a!==this.openSubscription&&this.closeWindow(this.contexts.indexOf(a.context))};e.prototype.closeWindow=function(a){if(-1!==a){var b=this.contexts,c=b[a],d=c.window;c=c.subscription;b.splice(a,1);d.complete();c.unsubscribe()}};return e}(g.OuterSubscriber)},function(g,e,a){g=a(0);a=a(589);g.Observable.prototype.windowWhen=
-a.windowWhen},function(g,e,a){var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},n=a(10),m=a(13),c=a(11);g=a(4);var b=a(5);e.windowWhen=function(a){return this.lift(new d(a))};var d=function(){function a(a){this.closingSelector=a}a.prototype.call=function(a,b){return b.subscribe(new f(a,this.closingSelector))};return a}(),f=function(a){function d(b,c){a.call(this,
-b);this.destination=b;this.closingSelector=c;this.openWindow()}p(d,a);d.prototype.notifyNext=function(a,b,c,d,e){this.openWindow(e)};d.prototype.notifyError=function(a,b){this._error(a)};d.prototype.notifyComplete=function(a){this.openWindow(a)};d.prototype._next=function(a){this.window.next(a)};d.prototype._error=function(a){this.window.error(a);this.destination.error(a);this.unsubscribeClosingNotification()};d.prototype._complete=function(){this.window.complete();this.destination.complete();this.unsubscribeClosingNotification()};
-d.prototype.unsubscribeClosingNotification=function(){this.closingNotification&&this.closingNotification.unsubscribe()};d.prototype.openWindow=function(a){void 0===a&&(a=null);a&&(this.remove(a),a.unsubscribe());(a=this.window)&&a.complete();a=this.window=new n.Subject;this.destination.next(a);a=m.tryCatch(this.closingSelector)();a===c.errorObject?(a=c.errorObject.e,this.destination.error(a),this.window.error(a)):this.add(this.closingNotification=b.subscribeToResult(this,a))};return d}(g.OuterSubscriber)},
-function(g,e,a){g=a(0);a=a(591);g.Observable.prototype.withLatestFrom=a.withLatestFrom},function(g,e,a){var p=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};g=a(4);var n=a(5);e.withLatestFrom=function(){for(var a=[],c=0;c<arguments.length;c++)a[c-0]=arguments[c];var e;"function"===typeof a[a.length-1]&&(e=a.pop());return this.lift(new m(a,e))};var m=function(){function a(a,
-b){this.observables=a;this.project=b}a.prototype.call=function(a,b){return b.subscribe(new c(a,this.observables,this.project))};return a}(),c=function(a){function b(b,c,d){a.call(this,b);this.observables=c;this.project=d;this.toRespond=[];b=c.length;this.values=Array(b);for(d=0;d<b;d++)this.toRespond.push(d);for(d=0;d<b;d++){var e=c[d];this.add(n.subscribeToResult(this,e,e,d))}}p(b,a);b.prototype.notifyNext=function(a,b,c,d,e){this.values[c]=b;a=this.toRespond;0<a.length&&(c=a.indexOf(c),-1!==c&&
-a.splice(c,1))};b.prototype.notifyComplete=function(){};b.prototype._next=function(a){0===this.toRespond.length&&(a=[a].concat(this.values),this.project?this._tryProject(a):this.destination.next(a))};b.prototype._tryProject=function(a){try{var b=this.project.apply(this,a)}catch(q){this.destination.error(q);return}this.destination.next(b)};return b}(g.OuterSubscriber)},function(g,e,a){g=a(0);a=a(115);g.Observable.prototype.zip=a.zipProto},function(g,e,a){g=a(0);a=a(594);g.Observable.prototype.zipAll=
-a.zipAll},function(g,e,a){var p=a(115);e.zipAll=function(a){return this.lift(new p.ZipOperator(a))}},function(g,e,a){var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},n=a(0),m=a(57),c=a(596),b=a(597),d=a(196),f=a(198);g=function(a){function e(b){a.call(this,f.VirtualAction,750);this.assertDeepEqual=b;this.hotObservables=[];this.coldObservables=[];this.flushTests=
-[]}p(e,a);e.prototype.createTime=function(a){a=a.indexOf("|");if(-1===a)throw Error('marble diagram for time should have a completion marker "|"');return a*e.frameTimeFactor};e.prototype.createColdObservable=function(a,b,d){if(-1!==a.indexOf("^"))throw Error('cold observable cannot have subscription offset "^"');if(-1!==a.indexOf("!"))throw Error('cold observable cannot have unsubscription marker "!"');a=e.parseMarbles(a,b,d);a=new c.ColdObservable(a,this);this.coldObservables.push(a);return a};e.prototype.createHotObservable=
-function(a,c,d){if(-1!==a.indexOf("!"))throw Error('hot observable cannot have unsubscription marker "!"');a=e.parseMarbles(a,c,d);a=new b.HotObservable(a,this);this.hotObservables.push(a);return a};e.prototype.materializeInnerObservable=function(a,b){var c=this,d=[];a.subscribe(function(a){d.push({frame:c.frame-b,notification:m.Notification.createNext(a)})},function(a){d.push({frame:c.frame-b,notification:m.Notification.createError(a)})},function(){d.push({frame:c.frame-b,notification:m.Notification.createComplete()})});
-return d};e.prototype.expectObservable=function(a,b){var c=this;void 0===b&&(b=null);var d=[],f={actual:d,ready:!1};b=e.parseMarblesAsSubscriptions(b).unsubscribedFrame;var g;this.schedule(function(){g=a.subscribe(function(a){var b=a;a instanceof n.Observable&&(b=c.materializeInnerObservable(b,c.frame));d.push({frame:c.frame,notification:m.Notification.createNext(b)})},function(a){d.push({frame:c.frame,notification:m.Notification.createError(a)})},function(){d.push({frame:c.frame,notification:m.Notification.createComplete()})})},
-0);b!==Number.POSITIVE_INFINITY&&this.schedule(function(){return g.unsubscribe()},b);this.flushTests.push(f);return{toBe:function(a,b,c){f.ready=!0;f.expected=e.parseMarbles(a,b,c,!0)}}};e.prototype.expectSubscriptions=function(a){var b={actual:a,ready:!1};this.flushTests.push(b);return{toBe:function(a){a="string"===typeof a?[a]:a;b.ready=!0;b.expected=a.map(function(a){return e.parseMarblesAsSubscriptions(a)})}}};e.prototype.flush=function(){for(var b=this.hotObservables;0<b.length;)b.shift().setup();
-a.prototype.flush.call(this);for(b=this.flushTests.filter(function(a){return a.ready});0<b.length;){var c=b.shift();this.assertDeepEqual(c.actual,c.expected)}};e.parseMarblesAsSubscriptions=function(a){if("string"!==typeof a)return new d.SubscriptionLog(Number.POSITIVE_INFINITY);for(var b=a.length,c=-1,e=Number.POSITIVE_INFINITY,f=Number.POSITIVE_INFINITY,g=0;g<b;g++){var h=g*this.frameTimeFactor,k=a[g];switch(k){case "-":case " ":break;case "(":c=h;break;case ")":c=-1;break;case "^":if(e!==Number.POSITIVE_INFINITY)throw Error("found a second subscription point '^' in a subscription marble diagram. There can only be one.");
-e=-1<c?c:h;break;case "!":if(f!==Number.POSITIVE_INFINITY)throw Error("found a second subscription point '^' in a subscription marble diagram. There can only be one.");f=-1<c?c:h;break;default:throw Error("there can only be '^' and '!' markers in a subscription marble diagram. Found instead '"+k+"'.");}}return 0>f?new d.SubscriptionLog(e):new d.SubscriptionLog(e,f)};e.parseMarbles=function(a,b,d,e){void 0===e&&(e=!1);if(-1!==a.indexOf("!"))throw Error('conventional marble diagrams cannot have the unsubscription marker "!"');
-var f=a.length,g=[],h=a.indexOf("^");h=-1===h?0:h*-this.frameTimeFactor;for(var k="object"!==typeof b?function(a){return a}:function(a){return e&&b[a]instanceof c.ColdObservable?b[a].messages:b[a]},l=-1,n=0;n<f;n++){var p=n*this.frameTimeFactor+h,q=void 0,r=a[n];switch(r){case "-":case " ":break;case "(":l=p;break;case ")":l=-1;break;case "|":q=m.Notification.createComplete();break;case "^":break;case "#":q=m.Notification.createError(d||"error");break;default:q=m.Notification.createNext(k(r))}q&&
-g.push({frame:-1<l?l:p,notification:q})}return g};return e}(f.VirtualTimeScheduler);e.TestScheduler=g},function(g,e,a){var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var e in b)b.hasOwnProperty(e)&&(a[e]=b[e]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},n=a(0),m=a(8);g=a(195);a=a(197);n=function(a){function b(b,c){a.call(this,function(a){var b=this,c=b.logSubscribedFrame();a.add(new m.Subscription(function(){b.logUnsubscribedFrame(c)}));b.scheduleMessages(a);
-return a});this.messages=b;this.subscriptions=[];this.scheduler=c}p(b,a);b.prototype.scheduleMessages=function(a){for(var b=this.messages.length,c=0;c<b;c++){var d=this.messages[c];a.add(this.scheduler.schedule(function(a){a.message.notification.observe(a.subscriber)},d.frame,{message:d,subscriber:a}))}};return b}(n.Observable);e.ColdObservable=n;a.applyMixins(n,[g.SubscriptionLoggable])},function(g,e,a){var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var e in b)b.hasOwnProperty(e)&&
-(a[e]=b[e]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},n=a(10),m=a(8);g=a(195);a=a(197);n=function(a){function b(b,c){a.call(this);this.messages=b;this.subscriptions=[];this.scheduler=c}p(b,a);b.prototype._subscribe=function(b){var c=this,d=c.logSubscribedFrame();b.add(new m.Subscription(function(){c.logUnsubscribedFrame(d)}));return a.prototype._subscribe.call(this,b)};b.prototype.setup=function(){for(var a=this,b=a.messages.length,c=0;c<b;c++)(function(){var b=a.messages[c];
-a.scheduler.schedule(function(){b.notification.observe(a)},b.frame)})()};return b}(n.Subject);e.HotObservable=n;a.applyMixins(n,[g.SubscriptionLoggable])},function(g,e,a){g=a(599);a=a(601);e.animationFrame=new a.AnimationFrameScheduler(g.AnimationFrameAction)},function(g,e,a){var p=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};g=a(58);var n=a(600);a=function(a){function c(b,
-c){a.call(this,b,c);this.scheduler=b;this.work=c}p(c,a);c.prototype.requestAsyncId=function(b,c,e){void 0===e&&(e=0);if(null!==e&&0<e)return a.prototype.requestAsyncId.call(this,b,c,e);b.actions.push(this);return b.scheduled||(b.scheduled=n.AnimationFrame.requestAnimationFrame(b.flush.bind(b,null)))};c.prototype.recycleAsyncId=function(b,c,e){void 0===e&&(e=0);if(null!==e&&0<e||null===e&&0<this.delay)return a.prototype.recycleAsyncId.call(this,b,c,e);0===b.actions.length&&(n.AnimationFrame.cancelAnimationFrame(c),
-b.scheduled=void 0)};return c}(g.AsyncAction);e.AnimationFrameAction=a},function(g,e,a){g=a(12);a=function(){return function(a){a.requestAnimationFrame?(this.cancelAnimationFrame=a.cancelAnimationFrame.bind(a),this.requestAnimationFrame=a.requestAnimationFrame.bind(a)):a.mozRequestAnimationFrame?(this.cancelAnimationFrame=a.mozCancelAnimationFrame.bind(a),this.requestAnimationFrame=a.mozRequestAnimationFrame.bind(a)):a.webkitRequestAnimationFrame?(this.cancelAnimationFrame=a.webkitCancelAnimationFrame.bind(a),
-this.requestAnimationFrame=a.webkitRequestAnimationFrame.bind(a)):a.msRequestAnimationFrame?(this.cancelAnimationFrame=a.msCancelAnimationFrame.bind(a),this.requestAnimationFrame=a.msRequestAnimationFrame.bind(a)):a.oRequestAnimationFrame?(this.cancelAnimationFrame=a.oCancelAnimationFrame.bind(a),this.requestAnimationFrame=a.oRequestAnimationFrame.bind(a)):(this.cancelAnimationFrame=a.clearTimeout.bind(a),this.requestAnimationFrame=function(e){return a.setTimeout(e,1E3/60)})}}();e.RequestAnimationFrameDefinition=
-a;e.AnimationFrame=new a(g.root)},function(g,e,a){var p=this&&this.__extends||function(a,e){function c(){this.constructor=a}for(var b in e)e.hasOwnProperty(b)&&(a[b]=e[b]);a.prototype=null===e?Object.create(e):(c.prototype=e.prototype,new c)};g=function(a){function e(){a.apply(this,arguments)}p(e,a);e.prototype.flush=function(a){this.active=!0;this.scheduled=void 0;var b=this.actions,c,e=-1,g=b.length;a=a||b.shift();do if(c=a.execute(a.state,a.delay))break;while(++e<g&&(a=b.shift()));this.active=
-!1;if(c){for(;++e<g&&(a=b.shift());)a.unsubscribe();throw c;}};return e}(a(59).AsyncScheduler);e.AnimationFrameScheduler=g},function(g,e,a){g=a(0);a.n(g);g.Observable.prototype.notNull=function(){return this.filter(function(a){return!!a}).map(function(a){return a})};g.Observable.prototype.unseen=function(a){$jscomp.initSymbol();var e=Symbol("marker");return this.filter(function(g){return!(a?a(g):g)[e]}).map(function(g){(a?a(g):g)[e]=!0;return g})};g.Observable.prototype.ofType=function(a){return this.filter(function(e){return e instanceof
+{key:"visibleLayerRoles",get:function(){return this.viewerState.visibleLayerRoles}},{key:"crossSectionBackgroundColor",get:function(){return this.viewerState.crossSectionBackgroundColor}},{key:"scaleBarOptions",get:function(){return this.viewerState.scaleBarOptions}},{key:"changed",get:function(){return this.state.changed}}]);return f}(h.a)},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
+return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function c(a,b){if("move"===a.method)return!1;a.manager.layerManager.filter(function(b){return!a.layers.has(b)});return void 0!==
+b&&a.layers.has(b)}function b(a,b,d){function e(b,e){var g=a.dropLayers,f=e?Object(l.d)(b,a.manager):Object(r.c)(),k=!0;if(void 0!==g&&(e&&Object(r.e)(b,f),!g.compatibleWithMethod(f)&&(a.dropLayers=void 0,c(g,d))))return;if(void 0===g){g=a.dropLayers=Object(l.b)(b,a.manager,"copy"===f,!0,!1);if(void 0===g)return;k="move"===g.method}if(void 0!==d&&g.layers.has(d))return g;if(k){var h=a.manager.layerManager,m=new Set,n=Number.POSITIVE_INFINITY;b=h.managedLayers=h.managedLayers.filter(function(a,b){return g.layers.has(a)?
+(n===Number.POSITIVE_INFINITY&&(n=b),m.add(a),!1):!0});void 0!==d?(e=b.indexOf(d),n<=e&&++e):e=b.length;f=$jscomp.makeIterator(g.layers.keys());for(k=f.next();!k.done;k=f.next())k=k.value,m.has(k)||g.layers.delete(k);b.splice.apply(b,[].concat([e,0],$jscomp.arrayFromIterable(g.layers.keys())));h.layersChanged.dispatch()}else for(void 0!==d&&(h=a.manager.layerManager.managedLayers.indexOf(d)),b=$jscomp.makeIterator(g.layers.keys()),e=b.next();!e.done;e=b.next())a.manager.add(e.value,h);return g}var g=
+Object(t.c)(b,"dragenter",function(a){void 0!==e(a,!0)&&a.preventDefault()}),f=Object(t.c)(b,"drop",function(b){b.preventDefault();var d=e(b,!1);void 0!==d&&(d.finalize(b)?(b.dataTransfer.dropEffect=Object(r.c)(),Object(l.a)("move"===d.method?void 0:b)):c(d));a.dropLayers=void 0}),k=Object(t.c)(b,"dragover",function(a){void 0!==e(a,!0)&&(a.preventDefault(),a.stopPropagation())});return function(){k();f();g()}}a.d(f,"a",function(){return A});var d=a(185),e=a(27),g=a(57),l=a(118),k=a(187),t=a(1),m=
+a(8),r=a(119),u=a(108),v=a(120),w=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),y=function D(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return D(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===
+b?void 0:b.call(c)}};a(45);a(337);a(83);var x=function(a){function c(a,g){q(this,c);var f=p(this,(c.__proto__||Object.getPrototypeOf(c)).call(this));f.layer=a;f.panel=g;var k=f.element=document.createElement("div");k.title="Control+click for layer options, drag to move/copy.";k.className="neuroglancer-layer-item neuroglancer-noselect";var h=f.labelElement=document.createElement("span");h.className="neuroglancer-layer-item-label";var m=f.layerNumberElement=document.createElement("span");m.className=
+"neuroglancer-layer-item-number";var n=f.valueElement=document.createElement("span");n.className="neuroglancer-layer-item-value";var r=Object(u.a)();r.title="Delete layer";f.registerEventListener(r,"click",function(a){f.panel.layerManager.removeManagedLayer(f.layer);a.stopPropagation()});k.appendChild(m);k.appendChild(h);k.appendChild(n);k.appendChild(r);f.registerEventListener(k,"click",function(b){b.ctrlKey?(g.selectedLayer.layer=a,g.selectedLayer.visible=!0):a.setVisible(!a.visible)});f.registerEventListener(k,
+"contextmenu",function(b){g.selectedLayer.layer=a;g.selectedLayer.visible=!0;b.stopPropagation();b.preventDefault()});k.draggable=!0;f.registerEventListener(k,"dragstart",function(a){Object(l.e)(a,{manager:g.manager,layers:[f.layer],layoutSpec:g.getLayoutSpecForDrag()});a.stopPropagation()});f.registerEventListener(k,"dragend",function(a){Object(l.a)(a)});f.registerDisposer(b(f.panel,k,f.layer));f.registerEventListener(k,"dblclick",function(b){a instanceof e.b&&new d.a(f.panel.manager,a)});return f}
+n(c,a);w(c,[{key:"update",value:function(){var a=this.layer;this.labelElement.textContent=a.name;this.element.setAttribute("layer-visible",a.visible.toString());this.element.setAttribute("layer-selected",(a===this.panel.selectedLayer.layer).toString())}},{key:"disposed",value:function(){this.element.parentElement.removeChild(this.element);y(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"disposed",this).call(this)}}]);return c}(t.a),A=function(a){function f(a,d,l,h,m){q(this,f);var n=p(this,
+(f.__proto__||Object.getPrototypeOf(f)).call(this));n.display=a;n.manager=d;n.viewerNavigationState=l;n.selectedLayer=h;n.getLayoutSpecForDrag=m;n.layerWidgets=new Map;n.element=document.createElement("div");n.layerUpdateNeeded=!0;n.valueUpdateNeeded=!1;n.layerWidgetInsertionPoint=document.createElement("div");n.positionWidget=n.registerDisposer(new v.b(n.viewerNavigationState.position.value));n.scheduleUpdate=n.registerCancellable(Object(k.a)(function(){return n.update()}));n.registerDisposer(h);
+var t=n.element;t.className="neuroglancer-layer-panel";n.registerDisposer(d.layerSelectedValues.changed.add(function(){n.handleLayerValuesChanged()}));n.registerDisposer(d.layerManager.layersChanged.add(function(){n.handleLayersChanged()}));n.registerDisposer(h.changed.add(function(){n.handleLayersChanged()}));n.layerWidgetInsertionPoint.style.display="none";n.element.appendChild(n.layerWidgetInsertionPoint);d=n.addButton=document.createElement("div");d.className="neuroglancer-layer-add-button neuroglancer-button";
+d.title="Click to add layer, control+click to add local annotation layer.";d.textContent="+";l=n.dropZone=document.createElement("div");l.className="neuroglancer-layer-panel-drop-zone";n.registerEventListener(d,"click",function(a){a.ctrlKey?(a=new e.b("annotation",{},n.manager),n.manager.initializeLayerFromSpec(a,{type:"annotation"}),n.manager.add(a)):n.addLayerMenu()});t.appendChild(d);t.appendChild(l);n.registerDisposer(Object(r.d)(d));t.appendChild(n.positionWidget.element);h=function(){n.positionWidget.element.style.display=
+n.viewerNavigationState.position.link.value===g.d.LINKED?"none":null};n.registerDisposer(n.viewerNavigationState.position.link.changed.add(h));h();n.update();n.registerEventListener(t,"dragleave",function(a){a.relatedTarget&&t.contains(a.relatedTarget)||(a=n.dropLayers,void 0!==a&&(c(a),n.dropLayers=void 0))});n.registerDisposer(b(n,d,void 0));n.registerDisposer(b(n,l,void 0));n.registerDisposer(a.updateStarted.add(function(){return n.updateLayers()}));return n}n(f,a);w(f,[{key:"disposed",value:function(){this.layerWidgets.forEach(function(a){return a.dispose()});
+this.layerWidgets=void 0;Object(m.b)(this.element);y(f.prototype.__proto__||Object.getPrototypeOf(f.prototype),"disposed",this).call(this)}},{key:"handleLayersChanged",value:function(){this.layerUpdateNeeded=!0;this.handleLayerValuesChanged()}},{key:"handleLayerValuesChanged",value:function(){this.valueUpdateNeeded||(this.valueUpdateNeeded=!0,this.scheduleUpdate())}},{key:"update",value:function(){this.valueUpdateNeeded=!1;this.updateLayers();for(var a=this.manager.layerSelectedValues,b=$jscomp.makeIterator(this.layerWidgets),
+c=b.next();!c.done;c=b.next()){c=$jscomp.makeIterator(c.value);var d=c.next().value;c=c.next().value;var e=d.layer;d="";null!==e&&(e=a.get(e),void 0!==e&&(d=""+e));c.valueElement.textContent=d}}},{key:"updateLayers",value:function(){var a=this;if(this.layerUpdateNeeded){this.layerUpdateNeeded=!1;var b=this.element,c=new Set,d=this.layerWidgetInsertionPoint.nextElementSibling;this.manager.layerManager.managedLayers.forEach(function(e){c.add(e);var g=a.layerWidgets.get(e),f=a.manager.rootLayers.managedLayers.indexOf(e);
+void 0===g&&(g=new x(e,a),a.layerWidgets.set(e,g));g.layerNumberElement.textContent=""+(1+f);g.update();e=g.element;e!==d&&b.insertBefore(g.element,d);d=e.nextElementSibling});for(var e=$jscomp.makeIterator(this.layerWidgets),g=e.next();!g.done;g=e.next()){var f=$jscomp.makeIterator(g.value);g=f.next().value;f=f.next().value;c.has(g)||(this.layerWidgets.delete(g),f.dispose())}}}},{key:"addLayerMenu",value:function(){new d.a(this.manager)}},{key:"layerManager",get:function(){return this.manager.layerManager}}]);
+return f}(t.a)},function(h,f){},function(h,f){},function(h,f){},function(h,f,a){function q(a,c){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!c||"object"!==typeof c&&"function"!==typeof c?a:c}function p(a,c){if("function"!==typeof c&&null!==c)throw new TypeError("Super expression must either be null or a function, not "+typeof c);a.prototype=Object.create(c&&c.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});c&&(Object.setPrototypeOf?
+Object.setPrototypeOf(a,c):a.__proto__=c)}a.d(f,"a",function(){return c});h=a(1);var n=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,g){c&&a(b.prototype,c);g&&a(b,g);return b}}(),c=function(a){function b(a){if(!(this instanceof b))throw new TypeError("Cannot call a class as a function");var c=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));
+c.model=a;c.element=document.createElement("select");c.valueIndexMap=new Map;for(var d=c.element,e=c.valueIndexMap,f=0,h=$jscomp.makeIterator(Object.keys(a.enumType)),n=h.next();!n.done;n=h.next())if(n=n.value,isNaN(Number(n))){var p=document.createElement("option");p.textContent=p.value=n.toLowerCase();d.appendChild(p);e.set(a.enumType[n],f);++f}c.registerDisposer(a.changed.add(function(){return c.updateView()}));c.registerEventListener(d,"change",function(){return c.updateModel()});c.updateView();
+return c}p(b,a);n(b,[{key:"updateView",value:function(){this.element.selectedIndex=this.valueIndexMap.get(this.model.value)}},{key:"updateModel",value:function(){this.model.restoreState(this.element.value)}}]);return b}(h.a)},function(h,f){},function(h,f){},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&
+"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return r});h=a(343);a.n(h);h=a(1);var c=a(8),b=a(29),d=a(108),e=a(40),g=function v(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,
+b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return v(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},l=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),k=function(a){function b(a){q(this,b);var c=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));
+c.layer=a;c.tabView=new e.d(c.layer.tabs.addRef(),c.visibility);c.element.appendChild(c.tabView.element);c.element.classList.add("neuroglancer-layer-side-panel-info-panel");c.tabView.element.style.flex="1";return c}n(b,a);return b}(e.b),t=function(a){function b(){q(this,b);var a=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));a.element.classList.add("neuroglancer-layer-side-panel-info-panel-empty");a.element.textContent="Information about this layer will be available once it finishes loading.";
+return a}n(b,a);l(b,[{key:"layer",get:function(){return null}}]);return b}(e.b),m=function(a){function b(a,c,g){q(this,b);var f=p(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));f.layer=a;f.layerManager=c;f.collapse=g;f.element=document.createElement("div");f.title=document.createElement("div");f.layerName=document.createElement("input");f.stack=f.registerDisposer(new e.a(function(a){return null===a?new t:new k(a)},f.visibility));var l=f.element;c=f.title;g=f.layerName;var h=f.stack;l.className=
+"neuroglancer-managed-user-layer-info-panel";c.className="neuroglancer-layer-side-panel-title";h.element.classList.add("neuroglancer-layer-side-panel-content-container");l.appendChild(c);l.appendChild(h.element);l=Object(d.a)();l.title="Close side panel";l.addEventListener("click",function(){f.collapse()});c.appendChild(g);g.spellcheck=!1;g.title="Rename layer";c.appendChild(l);g.addEventListener("change",function(){return f.handleLayerNameViewChanged()});g.addEventListener("blur",function(){return f.handleLayerNameViewChanged()});
+f.registerDisposer(a.layerChanged.add(function(){return f.handleLayerNameModelChanged()}));f.handleUserLayerChanged();f.handleLayerNameModelChanged();return f}n(b,a);l(b,[{key:"handleUserLayerChanged",value:function(){this.stack.selected!==this.layer.layer&&(this.stack.invalidateAll(),this.stack.selected=this.layer.layer)}},{key:"handleLayerNameModelChanged",value:function(){this.layerName.value=this.layer.name}},{key:"handleLayerNameViewChanged",value:function(){var a=this.layer;if(void 0!==a){var b=
+this.layerName.value;b!==a.name&&(b=this.layerManager.getUniqueLayerName(b),this.layerName.value=b,a.name=b,a.layerChanged.dispatch())}}}]);return b}(e.b),r=function(a){function d(a){q(this,d);var b=p(this,(d.__proto__||Object.getPrototypeOf(d)).call(this));b.state=a;b.element=document.createElement("div");b.stack=b.registerDisposer(new e.a(function(a){return new m(a,b.state.layerManager,b.collapse.bind(b))}));var c=b.element,g=b.stack;c.className="neuroglancer-layer-side-panel";g.element.classList.add("neuroglancer-layer-info-panel-container");
+c.appendChild(g.element);b.registerDisposer(a.changed.add(function(){return b.handleStateChanged()}));b.registerDisposer(a.layerManager.layersChanged.add(function(){return b.handleLayersChanged()}));b.handleStateChanged();return b}n(d,a);l(d,[{key:"handleLayersChanged",value:function(){for(var a=this.state.layerManager,b=this.stack,c=$jscomp.makeIterator(b.tabs.keys()),d=c.next();!d.done;d=c.next())d=d.value,a.has(d)||b.invalidate(d)}},{key:"collapse",value:function(){!0===this.state.visible&&(this.state.visible=
+!1,this.state.changed.dispatch())}},{key:"handleStateChanged",value:function(){var a=this.state,c=a.visible;this.element.style.display=c?null:"none";this.stack.visibility.value=c?b.b.VISIBLE:b.b.IGNORED;this.stack.selected=a.layer}},{key:"disposed",value:function(){Object(c.b)(this.element);g(d.prototype.__proto__||Object.getPrototypeOf(d.prototype),"disposed",this).call(this)}}]);return d}(h.a)},function(h,f){},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
+return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return r});h=a(345);a.n(h);h=a(10);var n=a.n(h),c=a(28),b=a(101),d=a(107);h=a(1);var e=a(8),g=a(167),l=a(346),
+k=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),t=function v(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return v(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},m=new Map([[c.c.AXIS_ALIGNED_BOUNDING_BOX,
+function(a,b,c,d){d=document.createElement("div");d.className="neuroglancer-annotation-details-volume";d.textContent=Object(g.a)(a.pointA,a.pointB,c);b.appendChild(d)}]]),r=function(a){function g(a,b,c){if(!(this instanceof g))throw new TypeError("Cannot call a class as a function");var d=q(this,(g.__proto__||Object.getPrototypeOf(g)).call(this));d.mouseState=a;d.layerManager=b;d.voxelSize=c;d.tooltip=void 0;d.debouncedShowTooltip=d.registerCancellable(n()(function(){return d.doCreateTooltip()},500));
+d.debouncedShowTooltip0=d.registerCancellable(n()(function(){return d.doCreateTooltip()},0));d.doCreateTooltip=function(){d.debouncedShowTooltip.cancel();d.debouncedShowTooltip0.cancel();var a=d.mouseState;d.maybeCreateTooltip()?d.tooltip.updatePosition(a.pageX,a.pageY):(a=d.tooltip,void 0!==a&&(a.dispose(),d.tooltip=void 0),d.setReference(void 0))};d.registerDisposer(a.changed.add(function(){return d.mouseStateChanged()}));return d}p(g,a);k(g,[{key:"setReference",value:function(a){var b=this.reference;
+void 0!==b&&(b.changed.remove(this.debouncedShowTooltip0),b.dispose(),this.reference=void 0);this.reference=a;void 0!==a&&a.changed.add(this.debouncedShowTooltip0)}},{key:"maybeCreateTooltip",value:function(){var a=Object(b.a)(this.mouseState,this.layerManager);if(void 0===a||!this.voxelSize.valid)return!1;var g=this.tooltip;void 0===g&&(g=this.tooltip=new l.a,g.element.classList.add("neuroglancer-mouse-selection-tooltip"));var f=a.annotationLayer.source.getReference(a.id);this.setReference(f);if(null===
+f.value)return!1;Object(e.a)(g.element);var k=document.createElement("div");k.className="neuroglancer-mouse-selection-tooltip-title";k.textContent=""+a.layer.name;var h=document.createElement("div");h.className="neuroglancer-mouse-selection-tooltip-description";f=f.value;h.textContent=void 0===f?"Loading...":f.description||"";g.element.appendChild(k);g.element.appendChild(h);if(null!=f){k=f.segments;if(void 0!==k&&0<k.length){var n=document.createElement("div");n.className="neuroglancer-annotation-segment-list";
+var r=a.annotationLayer.segmentationState.value,t=r?r.segmentColorHash:void 0;k.forEach(function(a,b){0!==b&&n.appendChild(document.createTextNode(" "));b=document.createElement("span");b.className="neuroglancer-annotation-segment-item";b.textContent=a.toString();void 0!==r&&(b.style.backgroundColor=t.computeCssColor(a));n.appendChild(b)});g.element.appendChild(n)}a=a.annotationLayer.objectToGlobal;k=Object(c.g)(f.type);h=document.createElement("div");h.appendChild(document.createTextNode(k.icon));
+Object(d.c)(h,f,a,this.voxelSize);h.className="neuroglancer-mouse-selection-tooltip-annotation-corners";g.element.appendChild(h);k=m.get(f.type);void 0!==k&&k(f,g.element,a,this.voxelSize)}return!0}},{key:"mouseStateChanged",value:function(){var a=this.tooltip;void 0!==a&&(a.dispose(),this.tooltip=void 0);this.setReference(void 0);this.debouncedShowTooltip()}},{key:"disposed",value:function(){var a=this.tooltip;void 0!==a&&(a.dispose(),this.tooltip=void 0);this.setReference(void 0);t(g.prototype.__proto__||
+Object.getPrototypeOf(g.prototype),"disposed",this).call(this)}}]);return g}(h.a)},function(h,f){},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return b});h=a(347);a.n(h);h=a(1);var p=a(8),n=function(){function a(a,
+b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),c=function e(a,b,c){null===a&&(a=Function.prototype);var g=Object.getOwnPropertyDescriptor(a,b);if(void 0===g){if(a=Object.getPrototypeOf(a),null!==a)return e(a,b,c)}else{if("value"in g)return g.value;b=g.get;return void 0===b?void 0:b.call(c)}},b=function(a){function b(){if(!(this instanceof
+b))throw new TypeError("Cannot call a class as a function");var a=(b.__proto__||Object.getPrototypeOf(b)).call(this);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");a=!a||"object"!==typeof a&&"function"!==typeof a?this:a;a.element=document.createElement("div");var c=a.element;c.className="neuroglancer-tooltip";c.style.visibility="hidden";document.body.appendChild(c);return a}q(b,a);n(b,[{key:"updatePosition",value:function(a,b){var c=this.element;c.style.left=
+a+"px";c.style.top=b+"px";c.style.visibility="inherit"}},{key:"disposed",value:function(){Object(p.b)(this.element);c(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"disposed",this).call(this)}}]);return b}(h.a)},function(h,f){},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+
+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return e});h=a(169);a.n(h);h=a(349);a.n(h);h=a(190);a.n(h);h=a(350);a.n(h);h=a(351);a.n(h);h=a(352);a.n(h);h=a(170);a.n(h);h=a(353);a.n(h);h=a(48);var n=a.n(h);h=a(10);var c=a.n(h);h=a(47);var b=a(66),d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||
+!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),e=function(a){function e(a){if(!(this instanceof e))throw new TypeError("Cannot call a class as a function");var b=q(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));b.viewer=a;b.parsedValue=null;b.debouncedValueUpdater=c()(function(){var a=b.textEditor.getValue();try{var c=JSON.parse(a);b.parsedValue=c;b.applyButton.disabled=!1;b.textEditor.setOption("lint",
+void 0)}catch(y){b.parsedValue=null;b.applyButton.disabled=!0;var d=0,e=0,g="Unknown parse error";y instanceof Error&&(c=y.message.match(/^((?:.|\n)*) in JSON at position ([0-9]+)$/),null!==c?(g=c[1],c=parseInt(c[2],10),a=a.substring(0,c).split("\n"),d=a.length-1,e=a[a.length-1].length):g=y.message);b.textEditor.setOption("lint",{getAnnotations:function(){return[{message:g,severity:"error",from:n.a.Pos(d,e)}]}})}},100);b.content.classList.add("neuroglancer-state-editor");a=b.applyButton=document.createElement("button");
+a.textContent="Apply changes";b.content.appendChild(a);a.addEventListener("click",function(){return b.applyChanges()});a.disabled=!0;b.textEditor=n()(function(a){},{value:"",mode:{name:"javascript",json:!0},foldGutter:!0,gutters:["CodeMirror-lint-markers","CodeMirror-foldgutter"]});b.updateView();b.textEditor.on("change",function(){b.debouncedValueUpdater()});b.content.appendChild(b.textEditor.getWrapperElement());b.textEditor.refresh();return b}p(e,a);d(e,[{key:"applyChanges",value:function(){null!==
+this.parsedValue&&(this.viewer.state.reset(),this.viewer.state.restoreState(this.parsedValue));this.applyButton.disabled=!0}},{key:"updateView",value:function(){this.textEditor.setValue(this.getJson());this.textEditor.execCommand("foldAll");this.textEditor.execCommand("unfold")}},{key:"getJson",value:function(){return JSON.stringify(Object(b.b)(this.viewer.state).value,null,"  ")}}]);return e}(h.a)},function(h,f,a){(function(a){a.defineMode("javascript",function(f,h){function c(a,b,c){ib=a;Va=c;return b}
+function b(a,b){var f=a.next();if('"'==f||"'"==f)return b.tokenize=d(f),b.tokenize(a,b);if("."==f&&a.match(/^\d+(?:[eE][+\-]?\d+)?/))return c("number","number");if("."==f&&a.match(".."))return c("spread","meta");if(/[\[\]{}\(\),;\:\.]/.test(f))return c(f);if("="==f&&a.eat(">"))return c("=>","operator");if("0"==f&&a.eat(/x/i))return a.eatWhile(/[\da-f]/i),c("number","number");if("0"==f&&a.eat(/o/i))return a.eatWhile(/[0-7]/i),c("number","number");if("0"==f&&a.eat(/b/i))return a.eatWhile(/[01]/i),c("number",
+"number");if(/\d/.test(f))return a.match(/^\d*(?:\.\d*)?(?:[eE][+\-]?\d+)?/),c("number","number");if("/"==f){if(a.eat("*"))return b.tokenize=e,e(a,b);if(a.eat("/"))return a.skipToEnd(),c("comment","comment");if(ac(a,b,1)){a:for(var k=b=!1;null!=(f=a.next());){if(!b){if("/"==f&&!k)break a;"["==f?k=!0:k&&"]"==f&&(k=!1)}b=!b&&"\\"==f}a.match(/^\b(([gimyu])(?![gimyu]*\2))+\b/);return c("regexp","string-2")}a.eat("=");return c("operator","operator",a.current())}if("`"==f)return b.tokenize=g,g(a,b);if("#"==
+f)return a.skipToEnd(),c("error","error");if(bc.test(f))return">"==f&&b.lexical&&">"==b.lexical.type||(a.eat("=")?"!"!=f&&"="!=f||a.eat("="):/[<>*+\-]/.test(f)&&(a.eat(f),">"==f&&a.eat(f))),c("operator","operator",a.current());if(Oa.test(f)){a.eatWhile(Oa);f=a.current();if("."!=b.lastType){if(Ib.propertyIsEnumerable(f))return a=Ib[f],c(a.type,a.style,f);if("async"==f&&a.match(/^\s*[\(\w]/,!1))return c("async","keyword",f)}return c("variable","variable",f)}}function d(a){return function(d,e){var g=
+!1,f;if(bb&&"@"==d.peek()&&d.match(Sc))return e.tokenize=b,c("jsonld-keyword","meta");for(;null!=(f=d.next())&&(f!=a||g);)g=!g&&"\\"==f;g||(e.tokenize=b);return c("string","string")}}function e(a,d){for(var e=!1,g;g=a.next();){if("/"==g&&e){d.tokenize=b;break}e="*"==g}return c("comment","comment")}function g(a,d){for(var e=!1,g;null!=(g=a.next());){if(!e&&("`"==g||"$"==g&&a.eat("{"))){d.tokenize=b;break}e=!e&&"\\"==g}return c("quasi","string-2",a.current())}function l(a,b){b.fatArrowAt&&(b.fatArrowAt=
+null);var c=a.string.indexOf("=>",a.start);if(!(0>c)){if(ta){var d=/:\s*(?:\w+(?:<[^>]*>|\[\])?|\{[^}]*\})\s*$/.exec(a.string.slice(a.start,c));d&&(c=d.index)}d=0;var e=!1;for(--c;0<=c;--c){var g=a.string.charAt(c),f="([{}])".indexOf(g);if(0<=f&&3>f){if(!d){++c;break}if(0==--d){"("==g&&(e=!0);break}}else if(3<=f&&6>f)++d;else if(Oa.test(g))e=!0;else{if(/["'\/]/.test(g))return;if(e&&!d){++c;break}}}e&&!d&&(b.fatArrowAt=c)}}function k(a,b,c,d,e,g){this.indented=a;this.column=b;this.type=c;this.prev=
+e;this.info=g;null!=d&&(this.align=d)}function n(){for(var a=arguments.length-1;0<=a;a--)K.cc.push(arguments[a])}function m(){n.apply(null,arguments);return!0}function r(a){function b(b){for(;b;b=b.next)if(b.name==a)return!0;return!1}var c=K.state;K.marked="def";c.context?b(c.localVars)||(c.localVars={name:a,next:c.localVars}):!b(c.globalVars)&&h.globalVars&&(c.globalVars={name:a,next:c.globalVars})}function p(){K.state.context={prev:K.state.context,vars:K.state.localVars};K.state.localVars=dc}function q(){K.state.localVars=
+K.state.context.vars;K.state.context=K.state.context.prev}function w(a,b){var c=function(){var c=K.state,d=c.indented;if("stat"==c.lexical.type)d=c.lexical.indented;else for(var e=c.lexical;e&&")"==e.type&&e.align;e=e.prev)d=e.indented;c.lexical=new k(d,K.stream.column(),a,null,c.lexical,b)};c.lex=!0;return c}function y(){var a=K.state;a.lexical.prev&&(")"==a.lexical.type&&(a.indented=a.lexical.indented),a.lexical=a.lexical.prev)}function x(a){function b(c){return c==a?m():";"==a?n():m(b)}return b}
+function A(a,b){return"var"==a?m(w("vardef",b.length),Eb,x(";"),y):"keyword a"==a?m(w("form"),E,A,y):"keyword b"==a?m(w("form"),A,y):"keyword d"==a?K.stream.match(/^\s*$/,!1)?m():m(w("stat"),C,x(";"),y):"debugger"==a?m(x(";")):"{"==a?m(w("}"),fa,y):";"==a?m():"if"==a?("else"==K.state.lexical.info&&K.state.cc[K.state.cc.length-1]==y&&K.state.cc.pop()(),m(w("form"),E,A,y,Ga)):"function"==a?m(xa):"for"==a?m(w("form"),Xb,A,y):"variable"==a?ta&&"type"==b?(K.marked="keyword",m(X,x("operator"),X,x(";"))):
+ta&&"declare"==b?(K.marked="keyword",m(A)):m(w("stat"),U):"switch"==a?m(w("form"),E,x("{"),w("}","switch"),fa,y,y):"case"==a?m(z,x(":")):"default"==a?m(x(":")):"catch"==a?m(w("form"),p,x("("),ab,x(")"),A,y,q):"class"==a?m(w("form"),Ua,y):"export"==a?m(w("stat"),ia,y):"import"==a?m(w("stat"),Da,y):"module"==a?m(w("form"),Aa,x("{"),w("}"),fa,y,y):"async"==a?m(A):"@"==b?m(z,A):n(w("stat"),z,x(";"),y)}function z(a){return G(a,!1)}function D(a){return G(a,!0)}function E(a){return"("!=a?n():m(w(")"),z,
+x(")"),y)}function G(a,b){if(K.state.fatArrowAt==K.stream.start){var c=b?M:O;if("("==a)return m(p,w(")"),ba(ab,")"),y,x("=>"),c,q);if("variable"==a)return n(p,Aa,x("=>"),c,q)}c=b?F:B;return cc.hasOwnProperty(a)?m(c):"function"==a?m(xa,c):"class"==a?m(w("form"),qd,y):"keyword c"==a||"async"==a?m(b?D:z):"("==a?m(w(")"),C,x(")"),y,c):"operator"==a||"spread"==a?m(b?D:z):"["==a?m(w("]"),pb,y,c):"{"==a?ka(H,"}",null,c):"quasi"==a?n(L,c):"new"==a?m(P(b)):m()}function C(a){return a.match(/[;\}\)\],]/)?n():
+n(z)}function B(a,b){return","==a?m(z):F(a,b,!1)}function F(a,b,c){var d=0==c?B:F,e=0==c?z:D;if("=>"==a)return m(p,c?M:O,q);if("operator"==a)return/\+\+|--/.test(b)||ta&&"!"==b?m(d):"?"==b?m(z,x(":"),e):m(e);if("quasi"==a)return n(L,d);if(";"!=a){if("("==a)return ka(D,")","call",d);if("."==a)return m(Z,d);if("["==a)return m(w("]"),C,x("]"),y,d);if(ta&&"as"==b)return K.marked="keyword",m(X,d);if("regexp"==a)return K.state.lastType=K.marked="operator",K.stream.backUp(K.stream.pos-K.stream.start-1),
+m(e)}}function L(a,b){return"quasi"!=a?n():"${"!=b.slice(b.length-2)?m(L):m(z,I)}function I(a){if("}"==a)return K.marked="string-2",K.state.tokenize=g,m(L)}function O(a){l(K.stream,K.state);return n("{"==a?A:z)}function M(a){l(K.stream,K.state);return n("{"==a?A:D)}function P(a){return function(b){return"."==b?m(a?S:N):"variable"==b&&ta?m(Wb,a?F:B):n(a?D:z)}}function N(a,b){if("target"==b)return K.marked="keyword",m(B)}function S(a,b){if("target"==b)return K.marked="keyword",m(F)}function U(a){return":"==
+a?m(y,A):n(B,x(";"),y)}function Z(a){if("variable"==a)return K.marked="property",m()}function H(a,b){if("async"==a)return K.marked="property",m(H);if("variable"==a||"keyword"==K.style){K.marked="property";if("get"==b||"set"==b)return m(Q);var c;ta&&K.state.fatArrowAt==K.stream.start&&(c=K.stream.match(/^\s*:\s*/,!1))&&(K.state.fatArrowAt=K.stream.pos+c[0].length);return m(aa)}if("number"==a||"string"==a)return K.marked=bb?"property":K.style+" property",m(aa);if("jsonld-keyword"==a)return m(aa);if("modifier"==
+a)return m(H);if("["==a)return m(z,x("]"),aa);if("spread"==a)return m(D,aa);if("*"==b)return K.marked="keyword",m(H);if(":"==a)return n(aa)}function Q(a){if("variable"!=a)return n(aa);K.marked="property";return m(xa)}function aa(a){if(":"==a)return m(D);if("("==a)return n(xa)}function ba(a,b,c){function d(e,g){return(c?-1<c.indexOf(e):","==e)?(e=K.state.lexical,"call"==e.info&&(e.pos=(e.pos||0)+1),m(function(c,d){return c==b||d==b?n():n(a)},d)):e==b||g==b?m():m(x(b))}return function(c,e){return c==
+b||e==b?m():n(a,d)}}function ka(a,b,c){for(var d=3;d<arguments.length;d++)K.cc.push(arguments[d]);return m(w(b,c),ba(a,b),y)}function fa(a){return"}"==a?m():n(A,fa)}function R(a,b){if(ta){if(":"==a)return m(X);if("?"==b)return m(R)}}function X(a,b){if("variable"==a||"void"==b){if("keyof"==b)return K.marked="keyword",m(X);K.marked="type";return m(Ta)}if("string"==a||"number"==a||"atom"==a)return m(Ta);if("["==a)return m(w("]"),ba(X,"]",","),y,Ta);if("{"==a)return m(w("}"),ba(Ba,"}",",;"),y,Ta);if("("==
+a)return m(ba(Za,")"),Ka)}function Ka(a){if("=>"==a)return m(X)}function Ba(a,b){if("variable"==a||"keyword"==K.style)return K.marked="property",m(Ba);if("?"==b)return m(Ba);if(":"==a)return m(X);if("["==a)return m(z,R,x("]"),Ba)}function Za(a){if("variable"==a)return m(Za);if(":"==a)return m(X)}function Ta(a,b){if("<"==b)return m(w(">"),ba(X,">"),y,Ta);if("|"==b||"."==a)return m(X);if("["==a)return m(x("]"),Ta);if("extends"==b)return m(X)}function Wb(a,b){if("<"==b)return m(w(">"),ba(X,">"),y,Ta)}
+function Eb(){return n(Aa,R,wa,Fb)}function Aa(a,b){if("modifier"==a)return m(Aa);if("variable"==a)return r(b),m();if("spread"==a)return m(Aa);if("["==a)return ka(Aa,"]");if("{"==a)return ka(Mc,"}")}function Mc(a,b){if("variable"==a&&!K.stream.match(/^\s*:/,!1))return r(b),m(wa);"variable"==a&&(K.marked="property");return"spread"==a?m(Aa):"}"==a?n():m(x(":"),Aa,wa)}function wa(a,b){if("="==b)return m(D)}function Fb(a){if(","==a)return m(Eb)}function Ga(a,b){if("keyword b"==a&&"else"==b)return m(w("form",
+"else"),A,y)}function Xb(a){if("("==a)return m(w(")"),Nc,x(")"),y)}function Nc(a){return"var"==a?m(Eb,x(";"),gb):";"==a?m(gb):"variable"==a?m($a):n(z,x(";"),gb)}function $a(a,b){return"in"==b||"of"==b?(K.marked="keyword",m(z)):m(B,gb)}function gb(a,b){return";"==a?m(Ha):"in"==b||"of"==b?(K.marked="keyword",m(z)):n(z,x(";"),Ha)}function Ha(a){")"!=a&&m(z)}function xa(a,b){if("*"==b)return K.marked="keyword",m(xa);if("variable"==a)return r(b),m(xa);if("("==a)return m(p,w(")"),ba(ab,")"),y,R,A,q);if(ta&&
+"<"==b)return m(w(">"),ba(X,">"),y,xa)}function ab(a,b){"@"==b&&m(z,ab);return"spread"==a||"modifier"==a?m(ab):n(Aa,R,wa)}function qd(a,b){return"variable"==a?Ua(a,b):Ca(a,b)}function Ua(a,b){if("variable"==a)return r(b),m(Ca)}function Ca(a,b){if("<"==b)return m(w(">"),ba(X,">"),y,Ca);if("extends"==b||"implements"==b||ta&&","==a)return m(ta?X:z,Ca);if("{"==a)return m(w("}"),ha,y)}function ha(a,b){if("modifier"==a||"async"==a||"variable"==a&&("static"==b||"get"==b||"set"==b)&&K.stream.match(/^\s+[\w$\xa1-\uffff]/,
+!1))return K.marked="keyword",m(ha);if("variable"==a||"keyword"==K.style)return K.marked="property",m(ta?da:xa,ha);if("["==a)return m(z,x("]"),ta?da:xa,ha);if("*"==b)return K.marked="keyword",m(ha);if(";"==a)return m(ha);if("}"==a)return m();if("@"==b)return m(z,ha)}function da(a,b){return"?"==b?m(da):":"==a?m(X,wa):"="==b?m(D):n(xa)}function ia(a,b){return"*"==b?(K.marked="keyword",m(ob,x(";"))):"default"==b?(K.marked="keyword",m(z,x(";"))):"{"==a?m(ba($b,"}"),ob,x(";")):n(A)}function $b(a,b){if("as"==
+b)return K.marked="keyword",m(x("variable"));if("variable"==a)return n(D,$b)}function Da(a){return"string"==a?m():n(La,na,ob)}function La(a,b){if("{"==a)return ka(La,"}");"variable"==a&&r(b);"*"==b&&(K.marked="keyword");return m(Qc)}function na(a){if(","==a)return m(La,na)}function Qc(a,b){if("as"==b)return K.marked="keyword",m(La)}function ob(a,b){if("from"==b)return K.marked="keyword",m(z)}function pb(a){return"]"==a?m():n(ba(D,"]"))}function ac(a,c,d){return c.tokenize==b&&/^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\[{}\(,;:]|=>)$/.test(c.lastType)||
+"quasi"==c.lastType&&/\{\s*$/.test(a.string.slice(0,a.pos-(d||0)))}var hb=f.indentUnit,Rc=h.statementIndent,bb=h.jsonld,Na=h.json||bb,ta=h.typescript,Oa=h.wordCharacters||/[\w$\xa1-\uffff]/,Ib=function(){function a(a){return{type:a,style:"keyword"}}var b=a("keyword a"),c=a("keyword b"),d=a("keyword c"),e=a("keyword d"),g=a("operator"),f={type:"atom",style:"atom"};b={"if":a("if"),"while":b,"with":b,"else":c,"do":c,"try":c,"finally":c,"return":e,"break":e,"continue":e,"new":a("new"),"delete":d,"void":d,
+"throw":d,"debugger":a("debugger"),"var":a("var"),"const":a("var"),let:a("var"),"function":a("function"),"catch":a("catch"),"for":a("for"),"switch":a("switch"),"case":a("case"),"default":a("default"),"in":g,"typeof":g,"instanceof":g,"true":f,"false":f,"null":f,undefined:f,NaN:f,Infinity:f,"this":a("this"),"class":a("class"),"super":a("atom"),yield:d,"export":a("export"),"import":a("import"),"extends":d,await:d};if(ta){c={type:"variable",style:"type"};d={"interface":a("class"),"implements":d,namespace:d,
+module:a("module"),"enum":a("module"),"public":a("modifier"),"private":a("modifier"),"protected":a("modifier"),"abstract":a("modifier"),readonly:a("modifier"),string:c,number:c,"boolean":c,any:c};for(var k in d)b[k]=d[k]}return b}(),bc=/[+\-*&%=<>!?|~^@]/,Sc=/^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)"/,ib,Va,cc={atom:!0,number:!0,variable:!0,string:!0,regexp:!0,"this":!0,"jsonld-keyword":!0},K={state:null,column:null,marked:null,cc:null},dc={name:"this",
+next:{name:"arguments"}};y.lex=!0;return{startState:function(a){a={tokenize:b,lastType:"sof",cc:[],lexical:new k((a||0)-hb,0,"block",!1),localVars:h.localVars,context:h.localVars&&{vars:h.localVars},indented:a||0};h.globalVars&&"object"==typeof h.globalVars&&(a.globalVars=h.globalVars);return a},token:function(a,b){a.sol()&&(b.lexical.hasOwnProperty("align")||(b.lexical.align=!1),b.indented=a.indentation(),l(a,b));if(b.tokenize!=e&&a.eatSpace())return null;var c=b.tokenize(a,b);if("comment"==ib)return c;
+b.lastType="operator"!=ib||"++"!=Va&&"--"!=Va?ib:"incdec";a:{var d=ib,g=Va,f=b.cc;K.state=b;K.stream=a;K.marked=null;K.cc=f;K.style=c;b.lexical.hasOwnProperty("align")||(b.lexical.align=!0);for(;;)if((f.length?f.pop():Na?z:A)(d,g)){for(;f.length&&f[f.length-1].lex;)f.pop()();if(K.marked){c=K.marked;break a}if(a="variable"==d)b:{for(a=b.localVars;a;a=a.next)if(a.name==g){a=!0;break b}for(b=b.context;b;b=b.prev)for(a=b.vars;a;a=a.next)if(a.name==g){a=!0;break b}a=void 0}if(a){c="variable-2";break a}break a}}return c},
+indent:function(c,d){if(c.tokenize==e)return a.Pass;if(c.tokenize!=b)return 0;var g=d&&d.charAt(0),f=c.lexical,k;if(!/^\s*else\b/.test(d))for(var l=c.cc.length-1;0<=l;--l){var m=c.cc[l];if(m==y)f=f.prev;else if(m!=Ga)break}for(;!("stat"!=f.type&&"form"!=f.type||"}"!=g&&(!(k=c.cc[c.cc.length-1])||k!=B&&k!=F||/^[,\.=+\-*:?[\(]/.test(d)));)f=f.prev;Rc&&")"==f.type&&"stat"==f.prev.type&&(f=f.prev);k=f.type;l=g==k;return"vardef"==k?f.indented+("operator"==c.lastType||","==c.lastType?f.info+1:0):"form"==
+k&&"{"==g?f.indented:"form"==k?f.indented+hb:"stat"==k?(g=f.indented,c="operator"==c.lastType||","==c.lastType||bc.test(d.charAt(0))||/[,.]/.test(d.charAt(0)),g+(c?Rc||hb:0)):"switch"!=f.info||l||0==h.doubleIndentSwitch?f.align?f.column+(l?0:1):f.indented+(l?0:hb):f.indented+(/^(?:case|default)\b/.test(d)?hb:2*hb)},electricInput:/^\s*(?:case .*?:|default:|\{|\})$/,blockCommentStart:Na?null:"/*",blockCommentEnd:Na?null:"*/",blockCommentContinue:Na?null:" * ",lineComment:Na?null:"//",fold:"brace",closeBrackets:"()[]{}''\"\"``",
+helperType:Na?"json":"javascript",jsonldMode:bb,jsonMode:Na,expressionAllowed:ac,skipExpression:function(a){var b=a.cc[a.cc.length-1];b!=z&&b!=D||a.cc.pop()}}});a.registerHelper("wordChars","javascript",/[\w$]/);a.defineMIME("text/javascript","javascript");a.defineMIME("text/ecmascript","javascript");a.defineMIME("application/javascript","javascript");a.defineMIME("application/x-javascript","javascript");a.defineMIME("application/ecmascript","javascript");a.defineMIME("application/json",{name:"javascript",
+json:!0});a.defineMIME("application/x-json",{name:"javascript",json:!0});a.defineMIME("application/ld+json",{name:"javascript",jsonld:!0});a.defineMIME("text/typescript",{name:"javascript",typescript:!0});a.defineMIME("application/typescript",{name:"javascript",typescript:!0})})(a(48))},function(h,f,a){(function(a){function f(a){this.options=a;this.from=this.to=0}function h(a,b){a=a.findMarks(t(b,0),t(b+1,0));for(var c=0;c<a.length;++c)if(a[c].__isFold&&a[c].find().from.line==b)return a[c]}function c(a){if("string"==
+typeof a){var b=document.createElement("div");b.className=a+" CodeMirror-guttermarker-subtle";return b}return a.cloneNode(!0)}function b(a,b,d){var e=a.state.foldGutter.options,g=b,f=a.foldOption(e,"minFoldSize"),k=a.foldOption(e,"rangeFinder");a.eachLine(b,d,function(b){var d=null;if(h(a,g))d=c(e.indicatorFolded);else{var l=t(g,0);(l=k&&k(a,l))&&l.to.line-l.from.line>=f&&(d=c(e.indicatorOpen))}a.setGutterMarker(b,e.gutter,d);++g})}function d(a){var c=a.getViewport(),d=a.state.foldGutter;d&&(a.operation(function(){b(a,
+c.from,c.to)}),d.from=c.from,d.to=c.to)}function e(a,b,c){var d=a.state.foldGutter;d&&(d=d.options,c==d.gutter&&((c=h(a,b))?c.clear():a.foldCode(t(b,0),d.rangeFinder)))}function g(a){var b=a.state.foldGutter;if(b){var c=b.options;b.from=b.to=0;clearTimeout(b.changeUpdate);b.changeUpdate=setTimeout(function(){d(a)},c.foldOnChangeTimeSpan||600)}}function l(a){var c=a.state.foldGutter;if(c){var e=c.options;clearTimeout(c.changeUpdate);c.changeUpdate=setTimeout(function(){var e=a.getViewport();c.from==
+c.to||20<e.from-c.to||20<c.from-e.to?d(a):a.operation(function(){e.from<c.from&&(b(a,e.from,c.from),c.from=e.from);e.to>c.to&&(b(a,c.to,e.to),c.to=e.to)})},e.updateViewportTimeSpan||400)}}function k(a,c){var d=a.state.foldGutter;d&&(c=c.line,c>=d.from&&c<d.to&&b(a,c,c+1))}a.defineOption("foldGutter",!1,function(b,c,h){h&&h!=a.Init&&(b.clearGutter(b.state.foldGutter.options.gutter),b.state.foldGutter=null,b.off("gutterClick",e),b.off("change",g),b.off("viewportChange",l),b.off("fold",k),b.off("unfold",
+k),b.off("swapDoc",g));c&&(h=b.state,!0===c&&(c={}),null==c.gutter&&(c.gutter="CodeMirror-foldgutter"),null==c.indicatorOpen&&(c.indicatorOpen="CodeMirror-foldgutter-open"),null==c.indicatorFolded&&(c.indicatorFolded="CodeMirror-foldgutter-folded"),h.foldGutter=new f(c),d(b),b.on("gutterClick",e),b.on("change",g),b.on("viewportChange",l),b.on("fold",k),b.on("unfold",k),b.on("swapDoc",g))});var t=a.Pos})(a(48),a(190))},function(h,f,a){(function(a){a.registerHelper("fold","brace",function(f,h){function c(c){for(var g=
+h.ch,k=0;;)if(g=0>=g?-1:d.lastIndexOf(c,g-1),-1==g){if(1==k)break;k=1;g=d.length}else{if(1==k&&g<h.ch)break;e=f.getTokenTypeAt(a.Pos(b,g+1));if(!/^(comment|string)/.test(e))return g+1;--g}}var b=h.line,d=f.getLine(b),e,g="{",l="}",k=c("{");null==k&&(g="[",l="]",k=c("["));if(null!=k){var n=1,m=f.lastLine(),r=b;a:for(;r<=m;++r)for(var p=f.getLine(r),q=r==b?k:0;;){var w=p.indexOf(g,q);q=p.indexOf(l,q);0>w&&(w=p.length);0>q&&(q=p.length);q=Math.min(w,q);if(q==p.length)break;if(f.getTokenTypeAt(a.Pos(r,
+q+1))==e)if(q==w)++n;else if(!--n){var y=r;var x=q;break a}++q}if(null!=y&&(b!=y||x!=k))return{from:a.Pos(b,k),to:a.Pos(y,x)}}});a.registerHelper("fold","import",function(f,h){function c(b){if(b<f.firstLine()||b>f.lastLine())return null;var c=f.getTokenAt(a.Pos(b,1));/\S/.test(c.string)||(c=f.getTokenAt(a.Pos(b,c.end+1)));if("keyword"!=c.type||"import"!=c.string)return null;var d=b;for(b=Math.min(f.lastLine(),b+10);d<=b;++d){var e=f.getLine(d).indexOf(";");if(-1!=e)return{startCh:c.end,end:a.Pos(d,
+e)}}}h=h.line;var b=c(h),d;if(!b||c(h-1)||(d=c(h-2))&&d.end.line==h-1)return null;for(d=b.end;;){var e=c(d.line+1);if(null==e)break;d=e.end}return{from:f.clipPos(a.Pos(h,b.startCh+1)),to:d}});a.registerHelper("fold","include",function(f,h){function c(b){if(b<f.firstLine()||b>f.lastLine())return null;var c=f.getTokenAt(a.Pos(b,1));/\S/.test(c.string)||(c=f.getTokenAt(a.Pos(b,c.end+1)));if("meta"==c.type&&"#include"==c.string.slice(0,8))return c.start+8}h=h.line;var b=c(h);if(null==b||null!=c(h-1))return null;
+for(var d=h;null!=c(d+1);)++d;return{from:a.Pos(h,b+1),to:f.clipPos(a.Pos(d))}})})(a(48))},function(h,f){},function(h,f){},function(h,f,a){function q(a,c){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!c||"object"!==typeof c&&"function"!==typeof c?a:c}function p(a,c){if("function"!==typeof c&&null!==c)throw new TypeError("Super expression must either be null or a function, not "+typeof c);a.prototype=Object.create(c&&c.prototype,{constructor:{value:a,
+enumerable:!1,writable:!0,configurable:!0}});c&&(Object.setPrototypeOf?Object.setPrototypeOf(a,c):a.__proto__=c)}a.d(f,"a",function(){return c});h=a(355);a.n(h);a=a(1);var n=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,g){c&&a(b.prototype,c);g&&a(b,g);return b}}(),c=function(a){function b(a){if(!(this instanceof b))throw new TypeError("Cannot call a class as a function");
+var c=q(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.selectedLayer=a;c.element=document.createElement("div");c.element.className="neuroglancer-annotation-tool-status-widget";c.registerDisposer(a.changed.add(function(){return c.selectedLayerChanged()}));c.selectedLayerChanged();return c}p(b,a);n(b,[{key:"selectedLayerChanged",value:function(){var a=this,b=this.unbindPreviousLayer;void 0!==b&&b();b=this.selectedLayer.layer;void 0!==b&&(this.unbindPreviousLayer=b.specificationChanged.add(function(){a.updateView()}));
+this.updateView()}},{key:"disposed",value:function(){var a=this.unbindPreviousLayer;void 0!==a&&a();this.unbindPreviousLayer=void 0}},{key:"getDescriptionText",value:function(){var a=this.selectedLayer.layer;if(void 0!==a&&(a=a.layer,null!==a&&(a=a.tool.value,void 0!==a)))return a.description}},{key:"updateView",value:function(){this.element.textContent=this.getDescriptionText()||""}}]);return b}(a.a)},function(h,f){},function(h,f,a){function q(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
+return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function p(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return e});var n=a(9);h=a(1);var c=a(8),b=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];
+d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),d=function l(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return l(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},e=function(a){function e(a,b){b=void 0===b?{}:b;if(!(this instanceof e))throw new TypeError("Cannot call a class as a function");
+var c=q(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));c.model=a;c.element=document.createElement("label");c.inputElement=document.createElement("input");var d=b;b=d.validator;d=d.label;var f=c.element,k=c.inputElement;void 0===b&&(b=a instanceof n.c?a.validator:function(a){return a});c.validator=b;void 0!==d&&(f.textContent=d);f.appendChild(k);f.className="neuroglancer-number-input";k.type="input";c.registerDisposer(c.model.changed.add(function(){return c.updateView()}));c.registerEventListener(k,
+"change",function(){return c.updateModel()});c.updateView();return c}p(e,a);b(e,[{key:"updateView",value:function(){this.inputElement.value=""+this.model.value}},{key:"updateModel",value:function(){var a=parseFloat(this.inputElement.value.trim());if(Number.isNaN(a))this.updateView();else try{a=this.validator(a),this.model.value=a}catch(m){this.updateView()}}},{key:"disposed",value:function(){Object(c.b)(this.element);d(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"disposed",this).call(this)}}]);
+return e}(h.a)},function(h,f){},function(h,f,a){f.a=function(){return Object(q.c)(document,"contextmenu",function(a){a.preventDefault()})};f.b=function(){return Object(q.c)(document,"wheel",function(a){a.ctrlKey&&a.preventDefault()})};var q=a(1)},function(h,f,a){function q(){var a=g.SingleMeshUserLayer.prototype.addRenderLayer;g.SingleMeshUserLayer.prototype.addRenderLayer=function(b){b instanceof l.c&&Object(r.a)(b);a.call(this,b)}}function p(){var a=d.ImageUserLayer.prototype.transformPickedValue;
+d.ImageUserLayer.prototype.transformPickedValue=function(b){b=a.call(this,b);null===b&&(b=void 0);return b}}function n(){var a=e.SegmentationUserLayer.prototype.addRenderLayer;e.SegmentationUserLayer.prototype.addRenderLayer=function(b){b instanceof k.a&&(b.segmentColorShaderManager=new u.b("segmentColorHash"));a.call(this,b)}}function c(){e.SegmentationUserLayer.prototype.addMesh=function(a){this.meshLayer=new m.a(this.manager.chunkManager,a,this.displayState);this.addRenderLayer(this.meshLayer)}}
+f.a=function(a){a=a.globals||{};v||(a.useNehubaLayout&&(b.c.clear(),b.c.set("4panel",{factory:function(a,b,c,d){return new t.a(a,b,c,d)}}),b.c.set("xy",{factory:function(a,b,c,d){return new t.a(a,b,c,d)}})),a.hideNullImageValues&&p(),a.useCustomSegmentColors&&n(),a.useNehubaMeshLayer&&c(),a.useNehubaSingleMeshLayer&&q(),v=!0)};var b=a(82),d=a(106),e=a(64),g=a(176),l=a(115),k=a(175),t=a(121),m=a(123),r=a(362),u=a(122),v=!1},function(h,f,a){function q(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");
+}function p(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b}function n(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}a.d(f,"a",function(){return l});
+a.d(f,"b",function(){return k});h=a(1);var c=a(2),b=a(22),d=a(24),e=a(52),g=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),l=function(a){function f(a,b,g){q(this,f);var k=p(this,(f.__proto__||Object.getPrototypeOf(f)).call(this));k.gl=a;k.copyVertexPositionsBuffer=Object(e.a)(k.gl);k.textureCoordinateAdjustment=
+new Float32Array(4);k.discardColor=c.u.fromValues(.5,.5,.5,1);var h=new d.a(a);h.addVarying("vec2","vTexCoord");h.addUniform("sampler2D","uSampler");h.addInitializer(function(b){a.uniform1i(b.uniform("uSampler"),0)});h.addUniform("vec4","uColorFactor");h.addUniform("vec4","uBackgroundColor");h.addUniform("mat4","uProjectionMatrix");h.addUniform("vec4","uTextureCoordinateAdjustment");h.addUniform("vec4","uDiscardColor");h.require(b);h.setFragmentMain("none"===g?"\nvec4 sampledColor = texture(uSampler, vTexCoord);\nif (sampledColor.a == 0.0) {\n  sampledColor = uBackgroundColor;\n}\nemit(sampledColor * uColorFactor, vec4(0,0,0,0));\n":
+"\nvec4 sampledColor = texture(uSampler, vTexCoord);\nif (sampledColor.a == 0.0) {\n  sampledColor = uBackgroundColor;\n}\nif (sampledColor.r "+g+" uDiscardColor.r && sampledColor.g "+g+" uDiscardColor.g && sampledColor.b "+g+" uDiscardColor.b) discard;\nelse emit(sampledColor * uColorFactor, vec4(0,0,0,0));\n");h.addAttribute("vec4","aVertexPosition");h.setVertexMain("\nvTexCoord = uTextureCoordinateAdjustment.xy + 0.5 * (aVertexPosition.xy + 1.0) * uTextureCoordinateAdjustment.zw;\ngl_Position = uProjectionMatrix * aVertexPosition;\n");
+k.shader=k.registerDisposer(h.build());return k}n(f,a);g(f,[{key:"draw",value:function(a,b,c,d,e,g,f,k){var h=this.gl,l=this.shader,m=this.textureCoordinateAdjustment;m[0]=e;m[1]=g;m[2]=f-e;m[3]=k-g;l.bind();h.activeTexture(h.TEXTURE0);h.bindTexture(h.TEXTURE_2D,a);h.uniformMatrix4fv(l.uniform("uProjectionMatrix"),!1,b);h.uniform4fv(l.uniform("uColorFactor"),c);h.uniform4fv(l.uniform("uBackgroundColor"),d);h.uniform4fv(l.uniform("uTextureCoordinateAdjustment"),m);h.uniform4fv(l.uniform("uDiscardColor"),
+this.discardColor);a=l.attribute("aVertexPosition");this.copyVertexPositionsBuffer.bindToVertexAttrib(a,2);h.drawArrays(h.TRIANGLE_FAN,0,4);h.disableVertexAttribArray(a);h.bindTexture(h.TEXTURE_2D,null)}},{key:"setDiscardColor",value:function(a){this.discardColor=a}}],[{key:"get",value:function(a,c,d){return a.memoize.get("nehuba/NehubaSliceViewRenderHelper:"+Object(b.a)(c)+":"+d,function(){return new f(a,c,d)})}}]);return f}(h.a),k=function(a){function c(a,b){q(this,c);var g=p(this,(c.__proto__||
+Object.getPrototypeOf(c)).call(this));g.gl=a;g.copyVertexPositionsBuffer=Object(e.a)(g.gl);a=new d.a(a);a.addUniform("mat4","uProjectionMatrix");a.addUniform("vec4","uColor");a.require(b);a.setFragmentMain("\nemit(uColor, vec4(0.0));\n");a.addAttribute("vec4","aVertexPosition");a.setVertexMain("\ngl_Position = uProjectionMatrix * aVertexPosition;\n");g.shader=g.registerDisposer(a.build());return g}n(c,a);g(c,[{key:"draw",value:function(a,b,c){var d=this.gl,e=this.shader;e.bind();d.uniformMatrix4fv(e.uniform("uProjectionMatrix"),
+!1,a);d.uniform4fv(e.uniform("uColor"),b);a=e.attribute("aVertexPosition");this.copyVertexPositionsBuffer.bindToVertexAttrib(a,2);c&&(d.enable(d.POLYGON_OFFSET_FILL),d.polygonOffset(c.factor,c.units));d.depthMask(!1);d.enable(d.BLEND);d.blendFunc(d.SRC_ALPHA,d.ONE_MINUS_SRC_ALPHA);d.drawArrays(d.TRIANGLE_FAN,0,4);d.disable(d.BLEND);d.depthMask(!0);d.polygonOffset(0,0);d.disable(d.POLYGON_OFFSET_FILL);d.disableVertexAttribArray(a)}}],[{key:"get",value:function(a,d){return a.memoize.get("nehuba/TransparentPlaneRenderHelper:"+
+Object(b.a)(d),function(){return new c(a,d)})}}]);return c}(h.a)},function(h,f){},function(h,f,a){function q(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}f.a=function(a){a.makeShaderManager=function(a){a=void 0===a?this.displayState.fragmentMain.value:
+a;return new e(this.displayState.attributeNames.value,this.source.info.vertexAttributes,a)};a.draw=function(a){if(a.emitColor||!a.alreadyEmittedPickID){var b=this.source.chunks.get(n.b);if(void 0!==b&&b.state===p.d.GPU_MEMORY){var d=this.getShader(a.emitter);if(null!==d){var e=this.gl,g=this.shaderManager;d.bind();g.beginLayer(e,d,a);a.extra||console.error("Bad configuration. Nehuba mesh layer is used by neuroglancer code.");var f=Object(c.c)(a.extra);g.setNavState(e,d,f.navState);g.setOctant(e,d,
+f.octant);g.setBackFaceColor(e,d,f.backFaceColor);f=a.pickIDs;g.beginObject(e,d,this.displayState.objectToDataTransform.transform);a.emitPickID&&g.setPickID(e,d,f.register(this,b.numIndices/3));g.drawFragment(e,d,b,this.countingBuffer);g.endLayer(e,d);a.extra.meshRendered=!0}}}}};var p=a(30),n=a(177);h=a(115);var c=a(123),b=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}
+return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),d=function l(a,b,c){null===a&&(a=Function.prototype);var d=Object.getOwnPropertyDescriptor(a,b);if(void 0===d){if(a=Object.getPrototypeOf(a),null!==a)return l(a,b,c)}else{if("value"in d)return d.value;b=d.get;return void 0===b?void 0:b.call(c)}},e=function(a){function c(){if(!(this instanceof c))throw new TypeError("Cannot call a class as a function");var a=(c.__proto__||Object.getPrototypeOf(c)).apply(this,arguments);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
+return!a||"object"!==typeof a&&"function"!==typeof a?this:a}q(c,a);b(c,[{key:"defineShader",value:function(a){d(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"defineShader",this).call(this,a);a.addVarying("highp vec4","vNavPos");a.addUniform("highp mat4","uNavState");a.addUniform("highp vec4","uOctant");a.addUniform("highp vec4","uBackFaceColor");a.addVertexMain("\nvec4 position = uModelMatrix * vec4(vertexPosition, 1.0);\nvNavPos = uNavState * position * uOctant;\n");a.addFragmentCode(this.fragmentMain.replace("void main()",
+"void userMain()"));a.setFragmentMain("\nif (vNavPos.x > 0.0 && vNavPos.y > 0.0 && vNavPos.z > 0.0) {\n  discard;\n} else {\n  if (gl_FrontFacing) userMain();\n  else emit(uBackFaceColor, uPickID);\n}\n")}},{key:"setNavState",value:function(a,b,c){a.uniformMatrix4fv(b.uniform("uNavState"),!1,c)}},{key:"setOctant",value:function(a,b,c){a.uniform4fv(b.uniform("uOctant"),c)}},{key:"setBackFaceColor",value:function(a,b,c){a.uniform4fv(b.uniform("uBackFaceColor"),c)}}]);return c}(h.d)},function(h,f,a){f.a=
+function(a,c,b){var d=Object.assign({prefire:!0,share:!0},b),e=a instanceof q.a?a:a.s,g=a instanceof q.a?a:a.r;a=p.Observable.create(function(a){d.prefire&&a.next(c(e));var b=e.changed.add(function(){a.next(c(e))}),f=g.registerDisposer(function(){return a.complete()});return function(){b();g.unregisterDisposer(f)}});return d.share?d.prefire?a.publishReplay(1).refCount():a.share():a};var q=a(1),p=a(194);a.n(p)},function(h,f,a){h=a(12);f.Subject=h.Subject;f.AnonymousSubject=h.AnonymousSubject;h=a(0);
+f.Observable=h.Observable;a(366);a(369);a(372);a(375);a(377);a(380);a(382);a(385);a(389);a(392);a(395);a(397);a(400);a(403);a(408);a(410);a(412);a(415);a(417);a(419);a(422);a(425);a(428);a(431);a(434);a(436);a(438);a(444);a(446);a(448);a(450);a(452);a(454);a(456);a(458);a(459);a(460);a(462);a(464);a(466);a(468);a(470);a(472);a(474);a(476);a(478);a(480);a(483);a(484);a(486);a(488);a(490);a(492);a(494);a(496);a(497);a(499);a(500);a(502);a(504);a(509);a(511);a(513);a(515);a(517);a(519);a(521);a(523);
+a(524);a(526);a(528);a(530);a(531);a(532);a(533);a(534);a(536);a(538);a(539);a(540);a(541);a(543);a(546);a(548);a(550);a(552);a(554);a(556);a(557);a(558);a(560);a(562);a(564);a(566);a(568);a(570);a(572);a(574);a(576);a(578);a(580);a(582);a(584);a(586);a(588);a(590);a(598);a(600);a(602);a(604);a(606);a(608);a(610);a(612);a(613);a(615);a(616);a(618);a(620);a(621);a(623);a(625);a(627);a(629);a(631);a(633);a(635);a(637);a(638);h=a(11);f.Subscription=h.Subscription;h=a(3);f.Subscriber=h.Subscriber;h=a(88);
+f.AsyncSubject=h.AsyncSubject;h=a(92);f.ReplaySubject=h.ReplaySubject;h=a(215);f.BehaviorSubject=h.BehaviorSubject;h=a(214);f.ConnectableObservable=h.ConnectableObservable;h=a(68);f.Notification=h.Notification;h=a(93);f.EmptyError=h.EmptyError;h=a(71);f.ArgumentOutOfRangeError=h.ArgumentOutOfRangeError;h=a(87);f.ObjectUnsubscribedError=h.ObjectUnsubscribedError;h=a(220);f.TimeoutError=h.TimeoutError;h=a(196);f.UnsubscriptionError=h.UnsubscriptionError;h=a(219);f.TimeInterval=h.TimeInterval;h=a(221);
+f.Timestamp=h.Timestamp;h=a(640);f.TestScheduler=h.TestScheduler;h=a(225);f.VirtualTimeScheduler=h.VirtualTimeScheduler;h=a(207);f.AjaxResponse=h.AjaxResponse;f.AjaxError=h.AjaxError;f.AjaxTimeoutError=h.AjaxTimeoutError;h=a(216);var q=a(19),p=a(208),n=a(643),c=a(85),b=a(67);a=a(86);f.Scheduler={asap:h.asap,queue:p.queue,animationFrame:n.animationFrame,async:q.async};f.Symbol={rxSubscriber:c.rxSubscriber,observable:a.observable,iterator:b.iterator}},function(h,f,a){var q=a(3),p=a(85),n=a(197);f.toSubscriber=
+function(a,b,d){if(a){if(a instanceof q.Subscriber)return a;if(a[p.rxSubscriber])return a[p.rxSubscriber]()}return a||b||d?new q.Subscriber(a,b,d):new q.Subscriber(n.empty)}},function(h,f,a){h=a(0);a=a(367);h.Observable.bindCallback=a.bindCallback},function(h,f,a){h=a(368);f.bindCallback=h.BoundCallbackObservable.create},function(h,f,a){function q(a){var b=a.subject;b.next(a.value);b.complete()}function p(a){a.subject.error(a.err)}var n=this&&this.__extends||function(a,b){function c(){this.constructor=
+a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(0);var c=a(17),b=a(13),d=a(88);a=function(a){function e(b,c,d,e,g){a.call(this);this.callbackFunc=b;this.selector=c;this.args=d;this.context=e;this.scheduler=g}n(e,a);e.create=function(a,b,c){void 0===b&&(b=void 0);return function(){for(var d=[],g=0;g<arguments.length;g++)d[g-0]=arguments[g];return new e(a,b,d,this,c)}};e.prototype._subscribe=function(a){var g=this.callbackFunc,
+f=this.args,h=this.scheduler,l=this.subject;if(h)return h.schedule(e.dispatch,0,{source:this,subscriber:a,context:this.context});l||(l=this.subject=new d.AsyncSubject,h=function v(){for(var a=[],d=0;d<arguments.length;d++)a[d-0]=arguments[d];var e=v.source;d=e.selector;e=e.subject;d?(a=c.tryCatch(d).apply(this,a),a===b.errorObject?e.error(b.errorObject.e):(e.next(a),e.complete())):(e.next(1>=a.length?a[0]:a),e.complete())},h.source=this,c.tryCatch(g).apply(this.context,f.concat(h))===b.errorObject&&
+l.error(b.errorObject.e));return l.subscribe(a)};e.dispatch=function(a){var e=this,g=a.source,f=a.subscriber;a=a.context;var h=g.callbackFunc,l=g.args,n=g.scheduler,w=g.subject;if(!w){w=g.subject=new d.AsyncSubject;var y=function A(){for(var a=[],d=0;d<arguments.length;d++)a[d-0]=arguments[d];var g=A.source;d=g.selector;g=g.subject;d?(a=c.tryCatch(d).apply(this,a),a===b.errorObject?e.add(n.schedule(p,0,{err:b.errorObject.e,subject:g})):e.add(n.schedule(q,0,{value:a,subject:g}))):e.add(n.schedule(q,
+0,{value:1>=a.length?a[0]:a,subject:g}))};y.source=g;c.tryCatch(h).apply(a,l.concat(y))===b.errorObject&&w.error(b.errorObject.e)}e.add(w.subscribe(f))};return e}(h.Observable);f.BoundCallbackObservable=a},function(h,f,a){h=a(0);a=a(370);h.Observable.bindNodeCallback=a.bindNodeCallback},function(h,f,a){h=a(371);f.bindNodeCallback=h.BoundNodeCallbackObservable.create},function(h,f,a){function q(a){var c=this,g=a.source,f=a.subscriber;a=a.context;var h=g.callbackFunc,r=g.args,q=g.scheduler,v=g.subject;
+if(!v){v=g.subject=new e.AsyncSubject;var w=function x(){for(var a=[],e=0;e<arguments.length;e++)a[e-0]=arguments[e];var g=x.source;e=g.selector;g=g.subject;var f=a.shift();f?c.add(q.schedule(n,0,{err:f,subject:g})):e?(a=b.tryCatch(e).apply(this,a),a===d.errorObject?c.add(q.schedule(n,0,{err:d.errorObject.e,subject:g})):c.add(q.schedule(p,0,{value:a,subject:g}))):c.add(q.schedule(p,0,{value:1>=a.length?a[0]:a,subject:g}))};w.source=g;b.tryCatch(h).apply(a,r.concat(w))===d.errorObject&&c.add(q.schedule(n,
+0,{err:d.errorObject.e,subject:v}))}c.add(v.subscribe(f))}function p(a){var b=a.subject;b.next(a.value);b.complete()}function n(a){a.subject.error(a.err)}var c=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(0);var b=a(17),d=a(13),e=a(88);a=function(a){function g(b,c,d,e,g){a.call(this);this.callbackFunc=b;this.selector=c;this.args=d;this.context=e;this.scheduler=
+g}c(g,a);g.create=function(a,b,c){void 0===b&&(b=void 0);return function(){for(var d=[],e=0;e<arguments.length;e++)d[e-0]=arguments[e];return new g(a,b,d,this,c)}};g.prototype._subscribe=function(a){var c=this.callbackFunc,g=this.args,f=this.scheduler,k=this.subject;if(f)return f.schedule(q,0,{source:this,subscriber:a,context:this.context});k||(k=this.subject=new e.AsyncSubject,f=function w(){for(var a=[],c=0;c<arguments.length;c++)a[c-0]=arguments[c];var e=w.source;c=e.selector;e=e.subject;var g=
+a.shift();g?e.error(g):c?(a=b.tryCatch(c).apply(this,a),a===d.errorObject?e.error(d.errorObject.e):(e.next(a),e.complete())):(e.next(1>=a.length?a[0]:a),e.complete())},f.source=this,b.tryCatch(c).apply(this.context,g.concat(f))===d.errorObject&&k.error(d.errorObject.e));return k.subscribe(a)};return g}(h.Observable);f.BoundNodeCallbackObservable=a},function(h,f,a){h=a(0);a=a(373);h.Observable.combineLatest=a.combineLatest},function(h,f,a){var q=a(37),p=a(36),n=a(38),c=a(125);f.combineLatest=function(){for(var a=
+[],d=0;d<arguments.length;d++)a[d-0]=arguments[d];var e=d=null;q.isScheduler(a[a.length-1])&&(e=a.pop());"function"===typeof a[a.length-1]&&(d=a.pop());1===a.length&&p.isArray(a[0])&&(a=a[0]);return(new n.ArrayObservable(a,e)).lift(new c.CombineLatestOperator(d))}},function(h,f,a){var q=this&&this.__extends||function(a,f){function c(){this.constructor=a}for(var b in f)f.hasOwnProperty(b)&&(a[b]=f[b]);a.prototype=null===f?Object.create(f):(c.prototype=f.prototype,new c)};h=function(a){function f(c,
+b,d){a.call(this);this.parent=c;this.outerValue=b;this.outerIndex=d;this.index=0}q(f,a);f.prototype._next=function(a){this.parent.notifyNext(this.outerValue,a,this.outerIndex,this.index++,this)};f.prototype._error=function(a){this.parent.notifyError(a,this);this.unsubscribe()};f.prototype._complete=function(){this.parent.notifyComplete(this);this.unsubscribe()};return f}(a(3).Subscriber);f.InnerSubscriber=h},function(h,f,a){h=a(0);a=a(376);h.Observable.concat=a.concat},function(h,f,a){h=a(126);f.concat=
+h.concatStatic},function(h,f,a){h=a(0);a=a(378);h.Observable.defer=a.defer},function(h,f,a){h=a(379);f.defer=h.DeferObservable.create},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var e in b)b.hasOwnProperty(e)&&(a[e]=b[e]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(0);var p=a(6);a=a(5);h=function(a){function b(b){a.call(this);this.observableFactory=b}q(b,a);b.create=function(a){return new b(a)};b.prototype._subscribe=
+function(a){return new n(a,this.observableFactory)};return b}(h.Observable);f.DeferObservable=h;var n=function(a){function b(b,c){a.call(this,b);this.factory=c;this.tryDefer()}q(b,a);b.prototype.tryDefer=function(){try{this._callFactory()}catch(d){this._error(d)}};b.prototype._callFactory=function(){var a=this.factory();a&&this.add(p.subscribeToResult(this,a))};return b}(a.OuterSubscriber)},function(h,f,a){h=a(0);a=a(381);h.Observable.empty=a.empty},function(h,f,a){h=a(42);f.empty=h.EmptyObservable.create},
+function(h,f,a){h=a(0);a=a(383);h.Observable.forkJoin=a.forkJoin},function(h,f,a){h=a(384);f.forkJoin=h.ForkJoinObservable.create},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(0);var p=a(42),n=a(36),c=a(6);a=a(5);h=function(a){function c(b,c){a.call(this);this.sources=b;this.resultSelector=c}q(c,a);c.create=function(){for(var a=[],
+b=0;b<arguments.length;b++)a[b-0]=arguments[b];if(null===a||0===arguments.length)return new p.EmptyObservable;b=null;"function"===typeof a[a.length-1]&&(b=a.pop());1===a.length&&n.isArray(a[0])&&(a=a[0]);return 0===a.length?new p.EmptyObservable:new c(a,b)};c.prototype._subscribe=function(a){return new b(a,this.sources,this.resultSelector)};return c}(h.Observable);f.ForkJoinObservable=h;var b=function(a){function b(b,d,e){a.call(this,b);this.sources=d;this.resultSelector=e;this.haveValues=this.completed=
+0;this.total=b=d.length;this.values=Array(b);for(e=0;e<b;e++){var g=c.subscribeToResult(this,d[e],null,e);g&&(g.outerIndex=e,this.add(g))}}q(b,a);b.prototype.notifyNext=function(a,b,c,d,e){this.values[c]=b;e._hasValue||(e._hasValue=!0,this.haveValues++)};b.prototype.notifyComplete=function(a){var b=this.destination,c=this.haveValues,d=this.resultSelector,e=this.values,g=e.length;a._hasValue?(this.completed++,this.completed===g&&(c===g&&(a=d?d.apply(this,e):e,b.next(a)),b.complete())):b.complete()};
+return b}(a.OuterSubscriber)},function(h,f,a){h=a(0);a=a(386);h.Observable.from=a.from},function(h,f,a){h=a(201);f.from=h.FromObservable.create},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(16);h=a(0);var n=a(67);a=function(a){function d(d,e){a.call(this);this.scheduler=e;if(null==d)throw Error("iterator cannot be null.");if((e=d[n.iterator])||
+"string"!==typeof d)if(e||void 0===d.length){if(!e)throw new TypeError("object is not iterable");d=d[n.iterator]()}else d=new b(d);else d=new c(d);this.iterator=d}q(d,a);d.create=function(a,b){return new d(a,b)};d.dispatch=function(a){var b=a.index,c=a.iterator,d=a.subscriber;if(a.hasError)d.error(a.error);else{var e=c.next();e.done?d.complete():(d.next(e.value),a.index=b+1,d.closed?"function"===typeof c.return&&c.return():this.schedule(a))}};d.prototype._subscribe=function(a){var b=this.iterator,
+c=this.scheduler;if(c)return c.schedule(d.dispatch,0,{index:0,iterator:b,subscriber:a});do{c=b.next();if(c.done){a.complete();break}else a.next(c.value);if(a.closed){"function"===typeof b.return&&b.return();break}}while(1)};return d}(h.Observable);f.IteratorObservable=a;var c=function(){function a(a,b,c){void 0===b&&(b=0);void 0===c&&(c=a.length);this.str=a;this.idx=b;this.len=c}a.prototype[n.iterator]=function(){return this};a.prototype.next=function(){return this.idx<this.len?{done:!1,value:this.str.charAt(this.idx++)}:
+{done:!0,value:void 0}};return a}(),b=function(){function a(a,b,c){void 0===b&&(b=0);if(void 0===c)if(c=+a.length,isNaN(c))c=0;else if(0!==c&&"number"===typeof c&&p.root.isFinite(c)){var e=+c;e=0===e?e:isNaN(e)?e:0>e?-1:1;c=e*Math.floor(Math.abs(c));c=0>=c?0:c>d?d:c}this.arr=a;this.idx=b;this.len=c}a.prototype[n.iterator]=function(){return this};a.prototype.next=function(){return this.idx<this.len?{done:!1,value:this.arr[this.idx++]}:{done:!0,value:void 0}};return a}(),d=Math.pow(2,53)-1},function(h,
+f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var e in b)b.hasOwnProperty(e)&&(a[e]=b[e]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(0);var p=a(124),n=a(42);a=function(a){function b(b,c){a.call(this);this.arrayLike=b;this.scheduler=c;c||1!==b.length||(this._isScalar=!0,this.value=b[0])}q(b,a);b.create=function(a,c){var d=a.length;return 0===d?new n.EmptyObservable:1===d?new p.ScalarObservable(a[0],c):new b(a,c)};b.dispatch=function(a){var b=
+a.arrayLike,c=a.index,d=a.subscriber;d.closed||(c>=a.length?d.complete():(d.next(b[c]),a.index=c+1,this.schedule(a)))};b.prototype._subscribe=function(a){var c=this.arrayLike,d=this.scheduler,f=c.length;if(d)return d.schedule(b.dispatch,0,{arrayLike:c,index:0,length:f,subscriber:a});for(d=0;d<f&&!a.closed;d++)a.next(c[d]);a.complete()};return b}(h.Observable);f.ArrayLikeObservable=a},function(h,f,a){h=a(0);a=a(390);h.Observable.fromEvent=a.fromEvent},function(h,f,a){h=a(391);f.fromEvent=h.FromEventObservable.create},
+function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(0);var p=a(17),n=a(84),c=a(13),b=a(11),d=Object.prototype.toString;a=function(a){function e(b,c,d,e){a.call(this);this.sourceObj=b;this.eventName=c;this.selector=d;this.options=e}q(e,a);e.create=function(a,b,c,d){n.isFunction(c)&&(d=c,c=void 0);return new e(a,b,d,c)};e.setupSubscription=
+function(a,c,g,f,h){if(a&&"[object NodeList]"===d.call(a)||a&&"[object HTMLCollection]"===d.call(a))for(var k=0,l=a.length;k<l;k++)e.setupSubscription(a[k],c,g,f,h);else if(a&&"function"===typeof a.addEventListener&&"function"===typeof a.removeEventListener){a.addEventListener(c,g,h);var m=function(){return a.removeEventListener(c,g)}}else if(a&&"function"===typeof a.on&&"function"===typeof a.off)a.on(c,g),m=function(){return a.off(c,g)};else if(a&&"function"===typeof a.addListener&&"function"===
+typeof a.removeListener)a.addListener(c,g),m=function(){return a.removeListener(c,g)};else throw new TypeError("Invalid event target");f.add(new b.Subscription(m))};e.prototype._subscribe=function(a){var b=this.selector;e.setupSubscription(this.sourceObj,this.eventName,b?function(){for(var d=[],e=0;e<arguments.length;e++)d[e-0]=arguments[e];d=p.tryCatch(b).apply(void 0,d);d===c.errorObject?a.error(c.errorObject.e):a.next(d)}:function(b){return a.next(b)},a,this.options)};return e}(h.Observable);f.FromEventObservable=
+a},function(h,f,a){h=a(0);a=a(393);h.Observable.fromEventPattern=a.fromEventPattern},function(h,f,a){h=a(394);f.fromEventPattern=h.FromEventPatternObservable.create},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var e in b)b.hasOwnProperty(e)&&(a[e]=b[e]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(84);h=a(0);var n=a(11);a=function(a){function b(b,c,g){a.call(this);this.addHandler=b;this.removeHandler=c;this.selector=g}
+q(b,a);b.create=function(a,c,g){return new b(a,c,g)};b.prototype._subscribe=function(a){var b=this,c=this.removeHandler,d=this.selector?function(){for(var c=[],d=0;d<arguments.length;d++)c[d-0]=arguments[d];b._callSelector(a,c)}:function(b){a.next(b)},f=this._callAddHandler(d,a);p.isFunction(c)&&a.add(new n.Subscription(function(){c(d,f)}))};b.prototype._callSelector=function(a,b){try{var c=this.selector.apply(this,b);a.next(c)}catch(l){a.error(l)}};b.prototype._callAddHandler=function(a,b){try{return this.addHandler(a)||
+null}catch(g){b.error(g)}};return b}(h.Observable);f.FromEventPatternObservable=a},function(h,f,a){h=a(0);a=a(396);h.Observable.fromPromise=a.fromPromise},function(h,f,a){h=a(202);f.fromPromise=h.PromiseObservable.create},function(h,f,a){h=a(0);a=a(398);h.Observable.generate=a.generate},function(h,f,a){h=a(399);f.generate=h.GenerateObservable.create},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var e in b)b.hasOwnProperty(e)&&(a[e]=b[e]);a.prototype=
+null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(0);var p=a(37),n=function(a){return a};a=function(a){function b(b,c,g,f,k){a.call(this);this.initialState=b;this.condition=c;this.iterate=g;this.resultSelector=f;this.scheduler=k}q(b,a);b.create=function(a,c,g,f,k){return 1==arguments.length?new b(a.initialState,a.condition,a.iterate,a.resultSelector||n,a.scheduler):void 0===f||p.isScheduler(f)?new b(a,c,g,n,f):new b(a,c,g,f,k)};b.prototype._subscribe=function(a){var c=this.initialState;
+if(this.scheduler)return this.scheduler.schedule(b.dispatch,0,{subscriber:a,iterate:this.iterate,condition:this.condition,resultSelector:this.resultSelector,state:c});var d=this.condition,f=this.resultSelector,k=this.iterate;do{if(d){var h=void 0;try{h=d(c)}catch(m){a.error(m);break}if(!h){a.complete();break}}h=void 0;try{h=f(c)}catch(m){a.error(m);break}a.next(h);if(a.closed)break;try{c=k(c)}catch(m){a.error(m);break}}while(1)};b.dispatch=function(a){var b=a.subscriber,c=a.condition;if(!b.closed){if(a.needIterate)try{a.state=
+a.iterate(a.state)}catch(t){b.error(t);return}else a.needIterate=!0;if(c){var d=void 0;try{d=c(a.state)}catch(t){b.error(t);return}if(!d){b.complete();return}if(b.closed)return}try{var f=a.resultSelector(a.state)}catch(t){b.error(t);return}if(!b.closed&&(b.next(f),!b.closed))return this.schedule(a)}};return b}(h.Observable);f.GenerateObservable=a},function(h,f,a){h=a(0);a=a(401);h.Observable.if=a._if},function(h,f,a){h=a(402);f._if=h.IfObservable.create},function(h,f,a){var q=this&&this.__extends||
+function(a,b){function c(){this.constructor=a}for(var e in b)b.hasOwnProperty(e)&&(a[e]=b[e]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(0);var p=a(6);a=a(5);h=function(a){function b(b,c,g){a.call(this);this.condition=b;this.thenSource=c;this.elseSource=g}q(b,a);b.create=function(a,c,g){return new b(a,c,g)};b.prototype._subscribe=function(a){return new n(a,this.condition,this.thenSource,this.elseSource)};return b}(h.Observable);f.IfObservable=h;var n=function(a){function b(b,
+c,g,f){a.call(this,b);this.condition=c;this.thenSource=g;this.elseSource=f;this.tryIf()}q(b,a);b.prototype.tryIf=function(){var a=this.condition,b=this.thenSource,c=this.elseSource,f;try{(a=(f=a())?b:c)?this.add(p.subscribeToResult(this,a)):this._complete()}catch(k){this._error(k)}};return b}(a.OuterSubscriber)},function(h,f,a){h=a(0);a=a(404);h.Observable.interval=a.interval},function(h,f,a){h=a(405);f.interval=h.IntervalObservable.create},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=
+a}for(var e in b)b.hasOwnProperty(e)&&(a[e]=b[e]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(90);h=a(0);var n=a(19);a=function(a){function b(b,c){void 0===b&&(b=0);void 0===c&&(c=n.async);a.call(this);this.period=b;this.scheduler=c;if(!p.isNumeric(b)||0>b)this.period=0;c&&"function"===typeof c.schedule||(this.scheduler=n.async)}q(b,a);b.create=function(a,c){void 0===a&&(a=0);void 0===c&&(c=n.async);return new b(a,c)};b.dispatch=function(a){var b=a.subscriber,c=a.period;
+b.next(a.index);b.closed||(a.index+=1,this.schedule(a,c))};b.prototype._subscribe=function(a){var c=this.period;a.add(this.scheduler.schedule(b.dispatch,c,{index:0,subscriber:a,period:c}))};return b}(h.Observable);f.IntervalObservable=a},function(h,f,a){var q=this&&this.__extends||function(a,f){function c(){this.constructor=a}for(var b in f)f.hasOwnProperty(b)&&(a[b]=f[b]);a.prototype=null===f?Object.create(f):(c.prototype=f.prototype,new c)};h=function(a){function f(c,b){a.call(this)}q(f,a);f.prototype.schedule=
+function(a,b){return this};return f}(a(11).Subscription);f.Action=h},function(h,f,a){h=function(){function a(f,h){void 0===h&&(h=a.now);this.SchedulerAction=f;this.now=h}a.prototype.schedule=function(a,f,c){void 0===f&&(f=0);return(new this.SchedulerAction(this,a)).schedule(c,f)};a.now=Date.now?Date.now:function(){return+new Date};return a}();f.Scheduler=h},function(h,f,a){h=a(0);a=a(409);h.Observable.merge=a.merge},function(h,f,a){h=a(203);f.merge=h.mergeStatic},function(h,f,a){h=a(0);a=a(411);h.Observable.race=
+a.race},function(h,f,a){h=a(204);f.race=h.raceStatic},function(h,f,a){h=a(0);a=a(413);h.Observable.never=a.never},function(h,f,a){h=a(414);f.never=h.NeverObservable.create},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(0);var p=a(205);a=function(a){function c(){a.call(this)}q(c,a);c.create=function(){return new c};c.prototype._subscribe=
+function(a){p.noop()};return c}(h.Observable);f.NeverObservable=a},function(h,f,a){h=a(0);a=a(416);h.Observable.of=a.of},function(h,f,a){h=a(38);f.of=h.ArrayObservable.of},function(h,f,a){h=a(0);a=a(418);h.Observable.onErrorResumeNext=a.onErrorResumeNext},function(h,f,a){h=a(206);f.onErrorResumeNext=h.onErrorResumeNextStatic},function(h,f,a){h=a(0);a=a(420);h.Observable.pairs=a.pairs},function(h,f,a){h=a(421);f.pairs=h.PairsObservable.create},function(h,f,a){function q(a){var c=a.obj,b=a.keys,d=a.index,
+e=a.subscriber;d===a.length?e.complete():(b=b[d],e.next([b,c[b]]),a.index=d+1,this.schedule(a))}var p=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=function(a){function c(b,c){a.call(this);this.obj=b;this.scheduler=c;this.keys=Object.keys(b)}p(c,a);c.create=function(a,d){return new c(a,d)};c.prototype._subscribe=function(a){var b=this.keys,c=this.scheduler,
+g=b.length;if(c)return c.schedule(q,0,{obj:this.obj,keys:b,length:g,index:0,subscriber:a});for(c=0;c<g;c++){var f=b[c];a.next([f,this.obj[f]])}a.complete()};return c}(a(0).Observable);f.PairsObservable=h},function(h,f,a){h=a(0);a=a(423);h.Observable.range=a.range},function(h,f,a){h=a(424);f.range=h.RangeObservable.create},function(h,f,a){var q=this&&this.__extends||function(a,f){function c(){this.constructor=a}for(var b in f)f.hasOwnProperty(b)&&(a[b]=f[b]);a.prototype=null===f?Object.create(f):(c.prototype=
+f.prototype,new c)};h=function(a){function f(c,b,d){a.call(this);this.start=c;this._count=b;this.scheduler=d}q(f,a);f.create=function(a,b,d){void 0===a&&(a=0);void 0===b&&(b=0);return new f(a,b,d)};f.dispatch=function(a){var b=a.start,c=a.index,e=a.subscriber;c>=a.count?e.complete():(e.next(b),e.closed||(a.index=c+1,a.start=b+1,this.schedule(a)))};f.prototype._subscribe=function(a){var b=0,c=this.start,e=this._count,g=this.scheduler;if(g)return g.schedule(f.dispatch,0,{index:b,count:e,start:c,subscriber:a});
+do{if(b++>=e){a.complete();break}a.next(c++);if(a.closed)break}while(1)};return f}(a(0).Observable);f.RangeObservable=h},function(h,f,a){h=a(0);a=a(426);h.Observable.using=a.using},function(h,f,a){h=a(427);f.using=h.UsingObservable.create},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var e in b)b.hasOwnProperty(e)&&(a[e]=b[e]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(0);var p=a(6);a=a(5);h=function(a){function b(b,
+c){a.call(this);this.resourceFactory=b;this.observableFactory=c}q(b,a);b.create=function(a,c){return new b(a,c)};b.prototype._subscribe=function(a){var b=this.resourceFactory,c=this.observableFactory;try{var d=b();return new n(a,d,c)}catch(k){a.error(k)}};return b}(h.Observable);f.UsingObservable=h;var n=function(a){function b(b,c,g){a.call(this,b);this.resource=c;this.observableFactory=g;b.add(c);this.tryUse()}q(b,a);b.prototype.tryUse=function(){try{var a=this.observableFactory.call(this,this.resource);
+a&&this.add(p.subscribeToResult(this,a))}catch(e){this._error(e)}};return b}(a.OuterSubscriber)},function(h,f,a){h=a(0);a=a(429);h.Observable.throw=a._throw},function(h,f,a){h=a(430);f._throw=h.ErrorObservable.create},function(h,f,a){var q=this&&this.__extends||function(a,f){function c(){this.constructor=a}for(var b in f)f.hasOwnProperty(b)&&(a[b]=f[b]);a.prototype=null===f?Object.create(f):(c.prototype=f.prototype,new c)};h=function(a){function f(c,b){a.call(this);this.error=c;this.scheduler=b}q(f,
+a);f.create=function(a,b){return new f(a,b)};f.dispatch=function(a){a.subscriber.error(a.error)};f.prototype._subscribe=function(a){var b=this.error,c=this.scheduler;a.syncErrorThrowable=!0;if(c)return c.schedule(f.dispatch,0,{error:b,subscriber:a});a.error(b)};return f}(a(0).Observable);f.ErrorObservable=h},function(h,f,a){h=a(0);a=a(432);h.Observable.timer=a.timer},function(h,f,a){h=a(433);f.timer=h.TimerObservable.create},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=
+a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(90);h=a(0);var n=a(19),c=a(37),b=a(91);a=function(a){function d(d,e,f){void 0===d&&(d=0);a.call(this);this.period=-1;this.dueTime=0;p.isNumeric(e)?this.period=1>Number(e)&&1||Number(e):c.isScheduler(e)&&(f=e);c.isScheduler(f)||(f=n.async);this.scheduler=f;this.dueTime=b.isDate(d)?+d-this.scheduler.now():d}q(d,a);d.create=function(a,b,c){void 0===a&&(a=0);return new d(a,b,c)};
+d.dispatch=function(a){var b=a.index,c=a.period,d=a.subscriber;d.next(b);if(!d.closed){if(-1===c)return d.complete();a.index=b+1;this.schedule(a,c)}};d.prototype._subscribe=function(a){return this.scheduler.schedule(d.dispatch,this.dueTime,{index:0,period:this.period,subscriber:a})};return d}(h.Observable);f.TimerObservable=a},function(h,f,a){h=a(0);a=a(435);h.Observable.zip=a.zip},function(h,f,a){h=a(128);f.zip=h.zipStatic},function(h,f,a){h=a(0);a=a(437);h.Observable.ajax=a.ajax},function(h,f,a){h=
+a(207);f.ajax=h.AjaxObservable.create},function(h,f,a){h=a(0);a=a(439);h.Observable.webSocket=a.webSocket},function(h,f,a){h=a(440);f.webSocket=h.WebSocketSubject.create},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(12),n=a(3),c=a(0),b=a(11),d=a(16),e=a(92),g=a(17),l=a(13),k=a(443);h=function(a){function f(b,g){if(b instanceof c.Observable)a.call(this,
+g,b);else{a.call(this);this.WebSocketCtor=d.root.WebSocket;this._output=new p.Subject;"string"===typeof b?this.url=b:k.assign(this,b);if(!this.WebSocketCtor)throw Error("no WebSocket constructor can be found");this.destination=new e.ReplaySubject}}q(f,a);f.prototype.resultSelector=function(a){return JSON.parse(a.data)};f.create=function(a){return new f(a)};f.prototype.lift=function(a){var b=new f(this,this.destination);b.operator=a;return b};f.prototype._resetState=function(){this.socket=null;this.source||
+(this.destination=new e.ReplaySubject);this._output=new p.Subject};f.prototype.multiplex=function(a,b,d){var e=this;return new c.Observable(function(c){var f=g.tryCatch(a)();f===l.errorObject?c.error(l.errorObject.e):e.next(f);var k=e.subscribe(function(a){var b=g.tryCatch(d)(a);b===l.errorObject?c.error(l.errorObject.e):b&&c.next(a)},function(a){return c.error(a)},function(){return c.complete()});return function(){var a=g.tryCatch(b)();a===l.errorObject?c.error(l.errorObject.e):e.next(a);k.unsubscribe()}})};
+f.prototype._connectSocket=function(){var a=this,c=this.WebSocketCtor,d=this._output,f=null;try{this.socket=f=this.protocol?new c(this.url,this.protocol):new c(this.url),this.binaryType&&(this.socket.binaryType=this.binaryType)}catch(x){d.error(x);return}var k=new b.Subscription(function(){a.socket=null;f&&1===f.readyState&&f.close()});f.onopen=function(b){var c=a.openObserver;c&&c.next(b);b=a.destination;a.destination=n.Subscriber.create(function(a){return 1===f.readyState&&f.send(a)},function(b){var c=
+a.closingObserver;c&&c.next(void 0);b&&b.code?f.close(b.code,b.reason):d.error(new TypeError("WebSocketSubject.error must be called with an object with an error code, and an optional reason: { code: number, reason: string }"));a._resetState()},function(){var b=a.closingObserver;b&&b.next(void 0);f.close();a._resetState()});b&&b instanceof e.ReplaySubject&&k.add(b.subscribe(a.destination))};f.onerror=function(b){a._resetState();d.error(b)};f.onclose=function(b){a._resetState();var c=a.closeObserver;
+c&&c.next(b);b.wasClean?d.complete():d.error(b)};f.onmessage=function(b){b=g.tryCatch(a.resultSelector)(b);b===l.errorObject?d.error(l.errorObject.e):d.next(b)}};f.prototype._subscribe=function(a){var c=this,d=this.source;if(d)return d.subscribe(a);this.socket||this._connectSocket();d=new b.Subscription;d.add(this._output.subscribe(a));d.add(function(){var a=c.socket;0===c._output.observers.length&&(a&&1===a.readyState&&a.close(),c._resetState())});return d};f.prototype.unsubscribe=function(){var b=
+this.source,c=this.socket;c&&1===c.readyState&&(c.close(),this._resetState());a.prototype.unsubscribe.call(this);b||(this.destination=new e.ReplaySubject)};return f}(p.AnonymousSubject);f.WebSocketSubject=h},function(h,f,a){var q=this&&this.__extends||function(a,f){function c(){this.constructor=a}for(var b in f)f.hasOwnProperty(b)&&(a[b]=f[b]);a.prototype=null===f?Object.create(f):(c.prototype=f.prototype,new c)};h=function(a){function f(c,b){a.call(this,c,b);this.scheduler=c;this.work=b}q(f,a);f.prototype.schedule=
+function(c,b){void 0===b&&(b=0);if(0<b)return a.prototype.schedule.call(this,c,b);this.delay=b;this.state=c;this.scheduler.flush(this);return this};f.prototype.execute=function(c,b){return 0<b||this.closed?a.prototype.execute.call(this,c,b):this._execute(c,b)};f.prototype.requestAsyncId=function(c,b,d){void 0===d&&(d=0);return null!==d&&0<d||null===d&&0<this.delay?a.prototype.requestAsyncId.call(this,c,b,d):c.flush(this)};return f}(a(69).AsyncAction);f.QueueAction=h},function(h,f,a){var q=this&&this.__extends||
+function(a,f){function c(){this.constructor=a}for(var b in f)f.hasOwnProperty(b)&&(a[b]=f[b]);a.prototype=null===f?Object.create(f):(c.prototype=f.prototype,new c)};h=function(a){function f(){a.apply(this,arguments)}q(f,a);return f}(a(70).AsyncScheduler);f.QueueScheduler=h},function(h,f,a){function q(a){for(var c=[],b=1;b<arguments.length;b++)c[b-1]=arguments[b];b=c.length;for(var d=0;d<b;d++){var e=c[d],g;for(g in e)e.hasOwnProperty(g)&&(a[g]=e[g])}return a}function p(a){return a.Object.assign||
+q}h=a(16);f.assignImpl=q;f.getAssign=p;f.assign=p(h.root)},function(h,f,a){h=a(0);a=a(445);h.Observable.prototype.buffer=a.buffer},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(5);var p=a(6);f.buffer=function(a){return this.lift(new n(a))};var n=function(){function a(a){this.closingNotifier=a}a.prototype.call=function(a,b){return b.subscribe(new c(a,
+this.closingNotifier))};return a}(),c=function(a){function b(b,c){a.call(this,b);this.buffer=[];this.add(p.subscribeToResult(this,c))}q(b,a);b.prototype._next=function(a){this.buffer.push(a)};b.prototype.notifyNext=function(a,b,c,d,f){a=this.buffer;this.buffer=[];this.destination.next(a)};return b}(h.OuterSubscriber)},function(h,f,a){h=a(0);a=a(447);h.Observable.prototype.bufferCount=a.bufferCount},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&
+(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(3);f.bufferCount=function(a,c){void 0===c&&(c=null);return this.lift(new p(a,c))};var p=function(){function a(a,b){this.bufferSize=a;this.subscriberClass=(this.startBufferEvery=b)&&a!==b?c:n}a.prototype.call=function(a,b){return b.subscribe(new this.subscriberClass(a,this.bufferSize,this.startBufferEvery))};return a}(),n=function(a){function b(b,c){a.call(this,b);this.bufferSize=c;this.buffer=[]}q(b,a);b.prototype._next=
+function(a){var b=this.buffer;b.push(a);b.length==this.bufferSize&&(this.destination.next(b),this.buffer=[])};b.prototype._complete=function(){var b=this.buffer;0<b.length&&this.destination.next(b);a.prototype._complete.call(this)};return b}(h.Subscriber),c=function(a){function b(b,c,d){a.call(this,b);this.bufferSize=c;this.startBufferEvery=d;this.buffers=[];this.count=0}q(b,a);b.prototype._next=function(a){var b=this.bufferSize,c=this.startBufferEvery,d=this.buffers,e=this.count;this.count++;0===
+e%c&&d.push([]);for(c=d.length;c--;)e=d[c],e.push(a),e.length===b&&(d.splice(c,1),this.destination.next(e))};b.prototype._complete=function(){for(var b=this.buffers,c=this.destination;0<b.length;){var d=b.shift();0<d.length&&c.next(d)}a.prototype._complete.call(this)};return b}(h.Subscriber)},function(h,f,a){h=a(0);a=a(449);h.Observable.prototype.bufferTime=a.bufferTime},function(h,f,a){function q(a){var b=a.subscriber,c=a.context;c&&b.closeContext(c);b.closed||(a.context=b.openContext(),a.context.closeAction=
+this.schedule(a,a.bufferTimeSpan))}function p(a){var b=a.bufferCreationInterval,c=a.bufferTimeSpan,d=a.subscriber,e=a.scheduler,g=d.openContext();d.closed||(d.add(g.closeAction=e.schedule(n,c,{subscriber:d,context:g})),this.schedule(a,b))}function n(a){a.subscriber.closeContext(a.context)}var c=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},b=a(19);h=a(3);var d=
+a(37);f.bufferTime=function(a){var c=arguments.length,g=b.async;d.isScheduler(arguments[arguments.length-1])&&(g=arguments[arguments.length-1],c--);var f=null;2<=c&&(f=arguments[1]);var k=Number.POSITIVE_INFINITY;3<=c&&(k=arguments[2]);return this.lift(new e(a,f,k,g))};var e=function(){function a(a,b,c,d){this.bufferTimeSpan=a;this.bufferCreationInterval=b;this.maxBufferSize=c;this.scheduler=d}a.prototype.call=function(a,b){return b.subscribe(new l(a,this.bufferTimeSpan,this.bufferCreationInterval,
+this.maxBufferSize,this.scheduler))};return a}(),g=function(){return function(){this.buffer=[]}}(),l=function(a){function b(b,c,d,e,g){a.call(this,b);this.bufferTimeSpan=c;this.bufferCreationInterval=d;this.maxBufferSize=e;this.scheduler=g;this.contexts=[];b=this.openContext();(this.timespanOnly=null==d||0>d)?this.add(b.closeAction=g.schedule(q,c,{subscriber:this,context:b,bufferTimeSpan:c})):(e={bufferTimeSpan:c,bufferCreationInterval:d,subscriber:this,scheduler:g},this.add(b.closeAction=g.schedule(n,
+c,{subscriber:this,context:b})),this.add(g.schedule(p,d,e)))}c(b,a);b.prototype._next=function(a){for(var b=this.contexts,c=b.length,d,e=0;e<c;e++){var g=b[e],f=g.buffer;f.push(a);f.length==this.maxBufferSize&&(d=g)}if(d)this.onBufferFull(d)};b.prototype._error=function(b){this.contexts.length=0;a.prototype._error.call(this,b)};b.prototype._complete=function(){for(var b=this.contexts,c=this.destination;0<b.length;){var d=b.shift();c.next(d.buffer)}a.prototype._complete.call(this)};b.prototype._unsubscribe=
+function(){this.contexts=null};b.prototype.onBufferFull=function(a){this.closeContext(a);a=a.closeAction;a.unsubscribe();this.remove(a);if(!this.closed&&this.timespanOnly){a=this.openContext();var b=this.bufferTimeSpan;this.add(a.closeAction=this.scheduler.schedule(q,b,{subscriber:this,context:a,bufferTimeSpan:b}))}};b.prototype.openContext=function(){var a=new g;this.contexts.push(a);return a};b.prototype.closeContext=function(a){this.destination.next(a.buffer);var b=this.contexts;0<=(b?b.indexOf(a):
+-1)&&b.splice(b.indexOf(a),1)};return b}(h.Subscriber)},function(h,f,a){h=a(0);a=a(451);h.Observable.prototype.bufferToggle=a.bufferToggle},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(11),n=a(6);h=a(5);f.bufferToggle=function(a,b){return this.lift(new c(a,b))};var c=function(){function a(a,b){this.openings=a;this.closingSelector=b}
+a.prototype.call=function(a,c){return c.subscribe(new b(a,this.openings,this.closingSelector))};return a}(),b=function(a){function b(b,c,d){a.call(this,b);this.openings=c;this.closingSelector=d;this.contexts=[];this.add(n.subscribeToResult(this,c))}q(b,a);b.prototype._next=function(a){for(var b=this.contexts,c=b.length,d=0;d<c;d++)b[d].buffer.push(a)};b.prototype._error=function(b){for(var c=this.contexts;0<c.length;){var d=c.shift();d.subscription.unsubscribe();d.buffer=null;d.subscription=null}this.contexts=
+null;a.prototype._error.call(this,b)};b.prototype._complete=function(){for(var b=this.contexts;0<b.length;){var c=b.shift();this.destination.next(c.buffer);c.subscription.unsubscribe();c.buffer=null;c.subscription=null}this.contexts=null;a.prototype._complete.call(this)};b.prototype.notifyNext=function(a,b,c,d,e){a?this.closeBuffer(a):this.openBuffer(b)};b.prototype.notifyComplete=function(a){this.closeBuffer(a.context)};b.prototype.openBuffer=function(a){try{var b=this.closingSelector.call(this,
+a);b&&this.trySubscribe(b)}catch(k){this._error(k)}};b.prototype.closeBuffer=function(a){var b=this.contexts;if(b&&a){var c=a.subscription;this.destination.next(a.buffer);b.splice(b.indexOf(a),1);this.remove(c);c.unsubscribe()}};b.prototype.trySubscribe=function(a){var b=this.contexts,c=new p.Subscription,d={buffer:[],subscription:c};b.push(d);a=n.subscribeToResult(this,a,d);!a||a.closed?this.closeBuffer(d):(a.context=d,this.add(a),c.add(a))};return b}(h.OuterSubscriber)},function(h,f,a){h=a(0);a=
+a(453);h.Observable.prototype.bufferWhen=a.bufferWhen},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(11),n=a(17),c=a(13);h=a(5);var b=a(6);f.bufferWhen=function(a){return this.lift(new d(a))};var d=function(){function a(a){this.closingSelector=a}a.prototype.call=function(a,b){return b.subscribe(new e(a,this.closingSelector))};return a}(),
+e=function(a){function d(b,c){a.call(this,b);this.closingSelector=c;this.subscribing=!1;this.openBuffer()}q(d,a);d.prototype._next=function(a){this.buffer.push(a)};d.prototype._complete=function(){var b=this.buffer;b&&this.destination.next(b);a.prototype._complete.call(this)};d.prototype._unsubscribe=function(){this.buffer=null;this.subscribing=!1};d.prototype.notifyNext=function(a,b,c,d,e){this.openBuffer()};d.prototype.notifyComplete=function(){this.subscribing?this.complete():this.openBuffer()};
+d.prototype.openBuffer=function(){var a=this.closingSubscription;a&&(this.remove(a),a.unsubscribe());(a=this.buffer)&&this.destination.next(a);this.buffer=[];var d=n.tryCatch(this.closingSelector)();d===c.errorObject?this.error(c.errorObject.e):(this.closingSubscription=a=new p.Subscription,this.add(a),this.subscribing=!0,a.add(b.subscribeToResult(this,d)),this.subscribing=!1)};return d}(h.OuterSubscriber)},function(h,f,a){h=a(0);a=a(455);h.Observable.prototype.catch=a._catch;h.Observable.prototype._catch=
+a._catch},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(5);var p=a(6);f._catch=function(a){a=new n(a);var b=this.lift(a);return a.caught=b};var n=function(){function a(a){this.selector=a}a.prototype.call=function(a,b){return b.subscribe(new c(a,this.selector,this.caught))};return a}(),c=function(a){function b(b,c,d){a.call(this,b);this.selector=
+c;this.caught=d}q(b,a);b.prototype.error=function(b){if(!this.isStopped){var c=void 0;try{c=this.selector(b,this.caught)}catch(l){a.prototype.error.call(this,l);return}this._unsubscribeAndRecycle();this.add(p.subscribeToResult(this,c))}};return b}(h.OuterSubscriber)},function(h,f,a){h=a(0);a=a(457);h.Observable.prototype.combineAll=a.combineAll},function(h,f,a){var q=a(125);f.combineAll=function(a){return this.lift(new q.CombineLatestOperator(a))}},function(h,f,a){h=a(0);a=a(125);h.Observable.prototype.combineLatest=
+a.combineLatest},function(h,f,a){h=a(0);a=a(126);h.Observable.prototype.concat=a.concat},function(h,f,a){h=a(0);a=a(461);h.Observable.prototype.concatAll=a.concatAll},function(h,f,a){var q=a(89);f.concatAll=function(){return this.lift(new q.MergeAllOperator(1))}},function(h,f,a){h=a(0);a=a(463);h.Observable.prototype.concatMap=a.concatMap},function(h,f,a){var q=a(209);f.concatMap=function(a,f){return this.lift(new q.MergeMapOperator(a,f,1))}},function(h,f,a){h=a(0);a=a(465);h.Observable.prototype.concatMapTo=
+a.concatMapTo},function(h,f,a){var q=a(210);f.concatMapTo=function(a,f){return this.lift(new q.MergeMapToOperator(a,f,1))}},function(h,f,a){h=a(0);a=a(467);h.Observable.prototype.count=a.count},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var e in b)b.hasOwnProperty(e)&&(a[e]=b[e]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);f.count=function(a){return this.lift(new p(a,this))};var p=function(){function a(a,c){this.predicate=
+a;this.source=c}a.prototype.call=function(a,c){return c.subscribe(new n(a,this.predicate,this.source))};return a}(),n=function(a){function b(b,c,g){a.call(this,b);this.predicate=c;this.source=g;this.index=this.count=0}q(b,a);b.prototype._next=function(a){this.predicate?this._tryPredicate(a):this.count++};b.prototype._tryPredicate=function(a){try{var b=this.predicate(a,this.index++,this.source)}catch(g){this.destination.error(g);return}b&&this.count++};b.prototype._complete=function(){this.destination.next(this.count);
+this.destination.complete()};return b}(h.Subscriber)},function(h,f,a){h=a(0);a=a(469);h.Observable.prototype.dematerialize=a.dematerialize},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var e in b)b.hasOwnProperty(e)&&(a[e]=b[e]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);f.dematerialize=function(){return this.lift(new p)};var p=function(){function a(){}a.prototype.call=function(a,c){return c.subscribe(new n(a))};return a}(),
+n=function(a){function b(b){a.call(this,b)}q(b,a);b.prototype._next=function(a){a.observe(this.destination)};return b}(h.Subscriber)},function(h,f,a){h=a(0);a=a(471);h.Observable.prototype.debounce=a.debounce},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(5);var p=a(6);f.debounce=function(a){return this.lift(new n(a))};var n=function(){function a(a){this.durationSelector=
+a}a.prototype.call=function(a,b){return b.subscribe(new c(a,this.durationSelector))};return a}(),c=function(a){function b(b,c){a.call(this,b);this.durationSelector=c;this.hasValue=!1;this.durationSubscription=null}q(b,a);b.prototype._next=function(a){try{var b=this.durationSelector.call(this,a);b&&this._tryNext(a,b)}catch(l){this.destination.error(l)}};b.prototype._complete=function(){this.emitValue();this.destination.complete()};b.prototype._tryNext=function(a,b){var c=this.durationSubscription;
+this.value=a;this.hasValue=!0;c&&(c.unsubscribe(),this.remove(c));c=p.subscribeToResult(this,b);c.closed||this.add(this.durationSubscription=c)};b.prototype.notifyNext=function(a,b,c,d,f){this.emitValue()};b.prototype.notifyComplete=function(){this.emitValue()};b.prototype.emitValue=function(){if(this.hasValue){var b=this.value,c=this.durationSubscription;c&&(this.durationSubscription=null,c.unsubscribe(),this.remove(c));this.value=null;this.hasValue=!1;a.prototype._next.call(this,b)}};return b}(h.OuterSubscriber)},
+function(h,f,a){h=a(0);a=a(473);h.Observable.prototype.debounceTime=a.debounceTime},function(h,f,a){function q(a){a.debouncedNext()}var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);var n=a(19);f.debounceTime=function(a,b){void 0===b&&(b=n.async);return this.lift(new c(a,b))};var c=function(){function a(a,b){this.dueTime=a;this.scheduler=b}a.prototype.call=
+function(a,c){return c.subscribe(new b(a,this.dueTime,this.scheduler))};return a}(),b=function(a){function b(b,c,d){a.call(this,b);this.dueTime=c;this.scheduler=d;this.lastValue=this.debouncedSubscription=null;this.hasValue=!1}p(b,a);b.prototype._next=function(a){this.clearDebounce();this.lastValue=a;this.hasValue=!0;this.add(this.debouncedSubscription=this.scheduler.schedule(q,this.dueTime,this))};b.prototype._complete=function(){this.debouncedNext();this.destination.complete()};b.prototype.debouncedNext=
+function(){this.clearDebounce();this.hasValue&&(this.destination.next(this.lastValue),this.lastValue=null,this.hasValue=!1)};b.prototype.clearDebounce=function(){var a=this.debouncedSubscription;null!==a&&(this.remove(a),a.unsubscribe(),this.debouncedSubscription=null)};return b}(h.Subscriber)},function(h,f,a){h=a(0);a=a(475);h.Observable.prototype.defaultIfEmpty=a.defaultIfEmpty},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var e in b)b.hasOwnProperty(e)&&
+(a[e]=b[e]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);f.defaultIfEmpty=function(a){void 0===a&&(a=null);return this.lift(new p(a))};var p=function(){function a(a){this.defaultValue=a}a.prototype.call=function(a,c){return c.subscribe(new n(a,this.defaultValue))};return a}(),n=function(a){function b(b,c){a.call(this,b);this.defaultValue=c;this.isEmpty=!0}q(b,a);b.prototype._next=function(a){this.isEmpty=!1;this.destination.next(a)};b.prototype._complete=function(){this.isEmpty&&
+this.destination.next(this.defaultValue);this.destination.complete()};return b}(h.Subscriber)},function(h,f,a){h=a(0);a=a(477);h.Observable.prototype.delay=a.delay},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(19),n=a(91);h=a(3);var c=a(68);f.delay=function(a,c){void 0===c&&(c=p.async);a=n.isDate(a)?+a-c.now():Math.abs(a);return this.lift(new b(a,
+c))};var b=function(){function a(a,b){this.delay=a;this.scheduler=b}a.prototype.call=function(a,b){return b.subscribe(new d(a,this.delay,this.scheduler))};return a}(),d=function(a){function b(b,c,d){a.call(this,b);this.delay=c;this.scheduler=d;this.queue=[];this.errored=this.active=!1}q(b,a);b.dispatch=function(a){for(var b=a.source,c=b.queue,d=a.scheduler,e=a.destination;0<c.length&&0>=c[0].time-d.now();)c.shift().notification.observe(e);0<c.length?(b=Math.max(0,c[0].time-d.now()),this.schedule(a,
+b)):b.active=!1};b.prototype._schedule=function(a){this.active=!0;this.add(a.schedule(b.dispatch,this.delay,{source:this,destination:this.destination,scheduler:a}))};b.prototype.scheduleNotification=function(a){if(!0!==this.errored){var b=this.scheduler;a=new e(b.now()+this.delay,a);this.queue.push(a);!1===this.active&&this._schedule(b)}};b.prototype._next=function(a){this.scheduleNotification(c.Notification.createNext(a))};b.prototype._error=function(a){this.errored=!0;this.queue=[];this.destination.error(a)};
+b.prototype._complete=function(){this.scheduleNotification(c.Notification.createComplete())};return b}(h.Subscriber),e=function(){return function(a,b){this.time=a;this.notification=b}}()},function(h,f,a){h=a(0);a=a(479);h.Observable.prototype.delayWhen=a.delayWhen},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);var p=a(0),n=a(5),c=
+a(6);f.delayWhen=function(a,c){return c?(new e(this,c)).lift(new b(a)):this.lift(new b(a))};var b=function(){function a(a){this.delayDurationSelector=a}a.prototype.call=function(a,b){return b.subscribe(new d(a,this.delayDurationSelector))};return a}(),d=function(a){function b(b,c){a.call(this,b);this.delayDurationSelector=c;this.completed=!1;this.delayNotifierSubscriptions=[];this.values=[]}q(b,a);b.prototype.notifyNext=function(a,b,c,d,e){this.destination.next(a);this.removeSubscription(e);this.tryComplete()};
+b.prototype.notifyError=function(a,b){this._error(a)};b.prototype.notifyComplete=function(a){(a=this.removeSubscription(a))&&this.destination.next(a);this.tryComplete()};b.prototype._next=function(a){try{var b=this.delayDurationSelector(a);b&&this.tryDelay(b,a)}catch(r){this.destination.error(r)}};b.prototype._complete=function(){this.completed=!0;this.tryComplete()};b.prototype.removeSubscription=function(a){a.unsubscribe();a=this.delayNotifierSubscriptions.indexOf(a);var b=null;-1!==a&&(b=this.values[a],
+this.delayNotifierSubscriptions.splice(a,1),this.values.splice(a,1));return b};b.prototype.tryDelay=function(a,b){(a=c.subscribeToResult(this,a,b))&&!a.closed&&(this.add(a),this.delayNotifierSubscriptions.push(a));this.values.push(b)};b.prototype.tryComplete=function(){this.completed&&0===this.delayNotifierSubscriptions.length&&this.destination.complete()};return b}(n.OuterSubscriber),e=function(a){function b(b,c){a.call(this);this.source=b;this.subscriptionDelay=c}q(b,a);b.prototype._subscribe=function(a){this.subscriptionDelay.subscribe(new g(a,
+this.source))};return b}(p.Observable),g=function(a){function b(b,c){a.call(this);this.parent=b;this.source=c;this.sourceSubscribed=!1}q(b,a);b.prototype._next=function(a){this.subscribeToSource()};b.prototype._error=function(a){this.unsubscribe();this.parent.error(a)};b.prototype._complete=function(){this.subscribeToSource()};b.prototype.subscribeToSource=function(){this.sourceSubscribed||(this.sourceSubscribed=!0,this.unsubscribe(),this.source.subscribe(this.parent))};return b}(h.Subscriber)},function(h,
+f,a){h=a(0);a=a(481);h.Observable.prototype.distinct=a.distinct},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(5);var p=a(6),n=a(482);f.distinct=function(a,b){return this.lift(new c(a,b))};var c=function(){function a(a,b){this.keySelector=a;this.flushes=b}a.prototype.call=function(a,c){return c.subscribe(new b(a,this.keySelector,this.flushes))};
+return a}(),b=function(a){function b(b,c,d){a.call(this,b);this.keySelector=c;this.values=new n.Set;d&&this.add(p.subscribeToResult(this,d))}q(b,a);b.prototype.notifyNext=function(a,b,c,d,e){this.values.clear()};b.prototype.notifyError=function(a,b){this._error(a)};b.prototype._next=function(a){this.keySelector?this._useKeySelector(a):this._finalizeNext(a,a)};b.prototype._useKeySelector=function(a){var b=this.destination;try{var c=this.keySelector(a)}catch(t){b.error(t);return}this._finalizeNext(c,
+a)};b.prototype._finalizeNext=function(a,b){var c=this.values;c.has(a)||(c.add(a),this.destination.next(b))};return b}(h.OuterSubscriber);f.DistinctSubscriber=b},function(h,f,a){function q(){return function(){function a(){this._values=[]}a.prototype.add=function(a){this.has(a)||this._values.push(a)};a.prototype.has=function(a){return-1!==this._values.indexOf(a)};Object.defineProperty(a.prototype,"size",{get:function(){return this._values.length},enumerable:!0,configurable:!0});a.prototype.clear=function(){this._values.length=
+0};return a}()}h=a(16);f.minimalSetImpl=q;f.Set=h.root.Set||q()},function(h,f,a){h=a(0);a=a(211);h.Observable.prototype.distinctUntilChanged=a.distinctUntilChanged},function(h,f,a){h=a(0);a=a(485);h.Observable.prototype.distinctUntilKeyChanged=a.distinctUntilKeyChanged},function(h,f,a){var q=a(211);f.distinctUntilKeyChanged=function(a,f){return q.distinctUntilChanged.call(this,function(c,b){return f?f(c[a],b[a]):c[a]===b[a]})}},function(h,f,a){h=a(0);a=a(487);h.Observable.prototype.do=a._do;h.Observable.prototype._do=
+a._do},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)},p=a(3);f._do=function(a,c,e){return this.lift(new n(a,c,e))};var n=function(){function a(a,b,c){this.nextOrObserver=a;this.error=b;this.complete=c}a.prototype.call=function(a,b){return b.subscribe(new c(a,this.nextOrObserver,this.error,this.complete))};return a}(),c=function(a){function b(b,
+c,d,f){a.call(this,b);b=new p.Subscriber(c,d,f);b.syncErrorThrowable=!0;this.add(b);this.safeSubscriber=b}q(b,a);b.prototype._next=function(a){var b=this.safeSubscriber;b.next(a);b.syncErrorThrown?this.destination.error(b.syncErrorValue):this.destination.next(a)};b.prototype._error=function(a){var b=this.safeSubscriber;b.error(a);b.syncErrorThrown?this.destination.error(b.syncErrorValue):this.destination.error(a)};b.prototype._complete=function(){var a=this.safeSubscriber;a.complete();a.syncErrorThrown?
+this.destination.error(a.syncErrorValue):this.destination.complete()};return b}(p.Subscriber)},function(h,f,a){h=a(0);a=a(489);h.Observable.prototype.exhaust=a.exhaust},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(5);var p=a(6);f.exhaust=function(){return this.lift(new n)};var n=function(){function a(){}a.prototype.call=function(a,
+b){return b.subscribe(new c(a))};return a}(),c=function(a){function b(b){a.call(this,b);this.hasSubscription=this.hasCompleted=!1}q(b,a);b.prototype._next=function(a){this.hasSubscription||(this.hasSubscription=!0,this.add(p.subscribeToResult(this,a)))};b.prototype._complete=function(){this.hasCompleted=!0;this.hasSubscription||this.destination.complete()};b.prototype.notifyComplete=function(a){this.remove(a);this.hasSubscription=!1;this.hasCompleted&&this.destination.complete()};return b}(h.OuterSubscriber)},
+function(h,f,a){h=a(0);a=a(491);h.Observable.prototype.exhaustMap=a.exhaustMap},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(5);var p=a(6);f.exhaustMap=function(a,c){return this.lift(new n(a,c))};var n=function(){function a(a,b){this.project=a;this.resultSelector=b}a.prototype.call=function(a,b){return b.subscribe(new c(a,this.project,
+this.resultSelector))};return a}(),c=function(a){function b(b,c,d){a.call(this,b);this.project=c;this.resultSelector=d;this.hasCompleted=this.hasSubscription=!1;this.index=0}q(b,a);b.prototype._next=function(a){this.hasSubscription||this.tryNext(a)};b.prototype.tryNext=function(a){var b=this.index++,c=this.destination;try{var d=this.project(a,b);this.hasSubscription=!0;this.add(p.subscribeToResult(this,d,a,b))}catch(t){c.error(t)}};b.prototype._complete=function(){this.hasCompleted=!0;this.hasSubscription||
+this.destination.complete()};b.prototype.notifyNext=function(a,b,c,d,f){f=this.destination;this.resultSelector?this.trySelectResult(a,b,c,d):f.next(b)};b.prototype.trySelectResult=function(a,b,c,d){var e=this.resultSelector,g=this.destination;try{var f=e(a,b,c,d);g.next(f)}catch(u){g.error(u)}};b.prototype.notifyError=function(a){this.destination.error(a)};b.prototype.notifyComplete=function(a){this.remove(a);this.hasSubscription=!1;this.hasCompleted&&this.destination.complete()};return b}(h.OuterSubscriber)},
+function(h,f,a){h=a(0);a=a(493);h.Observable.prototype.expand=a.expand},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(17),n=a(13);h=a(5);var c=a(6);f.expand=function(a,c,d){void 0===c&&(c=Number.POSITIVE_INFINITY);void 0===d&&(d=void 0);c=1>(c||0)?Number.POSITIVE_INFINITY:c;return this.lift(new b(a,c,d))};var b=function(){function a(a,
+b,c){this.project=a;this.concurrent=b;this.scheduler=c}a.prototype.call=function(a,b){return b.subscribe(new d(a,this.project,this.concurrent,this.scheduler))};return a}();f.ExpandOperator=b;var d=function(a){function b(b,c,d,e){a.call(this,b);this.project=c;this.concurrent=d;this.scheduler=e;this.active=this.index=0;this.hasCompleted=!1;d<Number.POSITIVE_INFINITY&&(this.buffer=[])}q(b,a);b.dispatch=function(a){a.subscriber.subscribeToProjection(a.result,a.value,a.index)};b.prototype._next=function(a){var c=
+this.destination;if(c.closed)this._complete();else{var d=this.index++;if(this.active<this.concurrent){c.next(a);var e=p.tryCatch(this.project)(a,d);e===n.errorObject?c.error(n.errorObject.e):this.scheduler?this.add(this.scheduler.schedule(b.dispatch,0,{subscriber:this,result:e,value:a,index:d})):this.subscribeToProjection(e,a,d)}else this.buffer.push(a)}};b.prototype.subscribeToProjection=function(a,b,d){this.active++;this.add(c.subscribeToResult(this,a,b,d))};b.prototype._complete=function(){(this.hasCompleted=
+!0,0===this.active)&&this.destination.complete()};b.prototype.notifyNext=function(a,b,c,d,e){this._next(b)};b.prototype.notifyComplete=function(a){var b=this.buffer;this.remove(a);this.active--;b&&0<b.length&&this._next(b.shift());this.hasCompleted&&0===this.active&&this.destination.complete()};return b}(h.OuterSubscriber);f.ExpandSubscriber=d},function(h,f,a){h=a(0);a=a(495);h.Observable.prototype.elementAt=a.elementAt},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=
+a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(3);var p=a(71);f.elementAt=function(a,c){return this.lift(new n(a,c))};var n=function(){function a(a,b){this.index=a;this.defaultValue=b;if(0>a)throw new p.ArgumentOutOfRangeError;}a.prototype.call=function(a,b){return b.subscribe(new c(a,this.index,this.defaultValue))};return a}(),c=function(a){function b(b,c,d){a.call(this,b);this.index=c;this.defaultValue=d}q(b,a);b.prototype._next=
+function(a){0===this.index--&&(this.destination.next(a),this.destination.complete())};b.prototype._complete=function(){var a=this.destination;0<=this.index&&("undefined"!==typeof this.defaultValue?a.next(this.defaultValue):a.error(new p.ArgumentOutOfRangeError));a.complete()};return b}(h.Subscriber)},function(h,f,a){h=a(0);a=a(212);h.Observable.prototype.filter=a.filter},function(h,f,a){h=a(0);a=a(498);h.Observable.prototype.finally=a._finally;h.Observable.prototype._finally=a._finally},function(h,
+f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(3);var p=a(11);f._finally=function(a){return this.lift(new n(a))};var n=function(){function a(a){this.callback=a}a.prototype.call=function(a,b){return b.subscribe(new c(a,this.callback))};return a}(),c=function(a){function b(b,c){a.call(this,b);this.add(new p.Subscription(c))}q(b,a);return b}(h.Subscriber)},
+function(h,f,a){h=a(0);a=a(213);h.Observable.prototype.find=a.find},function(h,f,a){h=a(0);a=a(501);h.Observable.prototype.findIndex=a.findIndex},function(h,f,a){var q=a(213);f.findIndex=function(a,f){return this.lift(new q.FindValueOperator(a,this,!0,f))}},function(h,f,a){h=a(0);a=a(503);h.Observable.prototype.first=a.first},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):
+(b.prototype=c.prototype,new b)};h=a(3);var p=a(93);f.first=function(a,c,e){return this.lift(new n(a,c,e,this))};var n=function(){function a(a,b,c,f){this.predicate=a;this.resultSelector=b;this.defaultValue=c;this.source=f}a.prototype.call=function(a,b){return b.subscribe(new c(a,this.predicate,this.resultSelector,this.defaultValue,this.source))};return a}(),c=function(a){function b(b,c,d,f,h){a.call(this,b);this.predicate=c;this.resultSelector=d;this.defaultValue=f;this.source=h;this.index=0;this._emitted=
+this.hasCompleted=!1}q(b,a);b.prototype._next=function(a){var b=this.index++;this.predicate?this._tryPredicate(a,b):this._emit(a,b)};b.prototype._tryPredicate=function(a,b){try{var c=this.predicate(a,b,this.source)}catch(k){this.destination.error(k);return}c&&this._emit(a,b)};b.prototype._emit=function(a,b){this.resultSelector?this._tryResultSelector(a,b):this._emitFinal(a)};b.prototype._tryResultSelector=function(a,b){try{var c=this.resultSelector(a,b)}catch(k){this.destination.error(k);return}this._emitFinal(c)};
+b.prototype._emitFinal=function(a){var b=this.destination;this._emitted||(this._emitted=!0,b.next(a),b.complete(),this.hasCompleted=!0)};b.prototype._complete=function(){var a=this.destination;this.hasCompleted||"undefined"===typeof this.defaultValue?this.hasCompleted||a.error(new p.EmptyError):(a.next(this.defaultValue),a.complete())};return b}(h.Subscriber)},function(h,f,a){h=a(0);a=a(505);h.Observable.prototype.groupBy=a.groupBy},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=
+a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);var p=a(11),n=a(0),c=a(12),b=a(506),d=a(508);f.groupBy=function(a,b,c,d){return this.lift(new e(a,b,c,d))};var e=function(){function a(a,b,c,d){this.keySelector=a;this.elementSelector=b;this.durationSelector=c;this.subjectSelector=d}a.prototype.call=function(a,b){return b.subscribe(new g(a,this.keySelector,this.elementSelector,this.durationSelector,this.subjectSelector))};
+return a}(),g=function(a){function e(b,c,d,e,g){a.call(this,b);this.keySelector=c;this.elementSelector=d;this.durationSelector=e;this.subjectSelector=g;this.groups=null;this.attemptedToUnsubscribe=!1;this.count=0}q(e,a);e.prototype._next=function(a){try{var b=this.keySelector(a)}catch(w){this.error(w);return}this._group(a,b)};e.prototype._group=function(a,e){var g=this.groups;g||(g=this.groups="string"===typeof e?new d.FastMap:new b.Map);var f=g.get(e);if(this.elementSelector)try{var h=this.elementSelector(a)}catch(A){this.error(A)}else h=
+a;if(!f&&(f=this.subjectSelector?this.subjectSelector():new c.Subject,g.set(e,f),a=new k(e,f,this),this.destination.next(a),this.durationSelector)){a=void 0;try{a=this.durationSelector(new k(e,f))}catch(A){this.error(A);return}this.add(a.subscribe(new l(e,f,this)))}f.closed||f.next(h)};e.prototype._error=function(a){var b=this.groups;b&&(b.forEach(function(b,c){b.error(a)}),b.clear());this.destination.error(a)};e.prototype._complete=function(){var a=this.groups;a&&(a.forEach(function(a,b){a.complete()}),
+a.clear());this.destination.complete()};e.prototype.removeGroup=function(a){this.groups.delete(a)};e.prototype.unsubscribe=function(){this.closed||(this.attemptedToUnsubscribe=!0,0===this.count&&a.prototype.unsubscribe.call(this))};return e}(h.Subscriber),l=function(a){function b(b,c,d){a.call(this,c);this.key=b;this.group=c;this.parent=d}q(b,a);b.prototype._next=function(a){this.complete()};b.prototype._unsubscribe=function(){var a=this.parent,b=this.key;this.key=this.parent=null;a&&a.removeGroup(b)};
+return b}(h.Subscriber),k=function(a){function b(b,c,d){a.call(this);this.key=b;this.groupSubject=c;this.refCountSubscription=d}q(b,a);b.prototype._subscribe=function(a){var b=new p.Subscription,c=this.refCountSubscription,d=this.groupSubject;c&&!c.closed&&b.add(new t(c));b.add(d.subscribe(a));return b};return b}(n.Observable);f.GroupedObservable=k;var t=function(a){function b(b){a.call(this);this.parent=b;b.count++}q(b,a);b.prototype.unsubscribe=function(){var b=this.parent;b.closed||this.closed||
+(a.prototype.unsubscribe.call(this),--b.count,0===b.count&&b.attemptedToUnsubscribe&&b.unsubscribe())};return b}(p.Subscription)},function(h,f,a){h=a(16);a=a(507);f.Map=h.root.Map||a.MapPolyfill},function(h,f,a){h=function(){function a(){this.size=0;this._values=[];this._keys=[]}a.prototype.get=function(a){a=this._keys.indexOf(a);return-1===a?void 0:this._values[a]};a.prototype.set=function(a,f){var c=this._keys.indexOf(a);-1===c?(this._keys.push(a),this._values.push(f),this.size++):this._values[c]=
+f;return this};a.prototype.delete=function(a){a=this._keys.indexOf(a);if(-1===a)return!1;this._values.splice(a,1);this._keys.splice(a,1);this.size--;return!0};a.prototype.clear=function(){this._keys.length=0;this.size=this._values.length=0};a.prototype.forEach=function(a,f){for(var c=0;c<this.size;c++)a.call(f,this._values[c],this._keys[c])};return a}();f.MapPolyfill=h},function(h,f,a){h=function(){function a(){this.values={}}a.prototype.delete=function(a){this.values[a]=null;return!0};a.prototype.set=
+function(a,f){this.values[a]=f;return this};a.prototype.get=function(a){return this.values[a]};a.prototype.forEach=function(a,f){var c=this.values,b;for(b in c)c.hasOwnProperty(b)&&null!==c[b]&&a.call(f,c[b],b)};a.prototype.clear=function(){this.values={}};return a}();f.FastMap=h},function(h,f,a){h=a(0);a=a(510);h.Observable.prototype.ignoreElements=a.ignoreElements},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=
+c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(3);var p=a(205);f.ignoreElements=function(){return this.lift(new n)};var n=function(){function a(){}a.prototype.call=function(a,b){return b.subscribe(new c(a))};return a}(),c=function(a){function b(){a.apply(this,arguments)}q(b,a);b.prototype._next=function(a){p.noop()};return b}(h.Subscriber)},function(h,f,a){h=a(0);a=a(512);h.Observable.prototype.isEmpty=a.isEmpty},function(h,f,a){var q=this&&this.__extends||function(a,
+b){function c(){this.constructor=a}for(var e in b)b.hasOwnProperty(e)&&(a[e]=b[e]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);f.isEmpty=function(){return this.lift(new p)};var p=function(){function a(){}a.prototype.call=function(a,c){return c.subscribe(new n(a))};return a}(),n=function(a){function b(b){a.call(this,b)}q(b,a);b.prototype.notifyComplete=function(a){var b=this.destination;b.next(a);b.complete()};b.prototype._next=function(a){this.notifyComplete(!1)};
+b.prototype._complete=function(){this.notifyComplete(!0)};return b}(h.Subscriber)},function(h,f,a){h=a(0);a=a(514);h.Observable.prototype.audit=a.audit},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(17),n=a(13);h=a(5);var c=a(6);f.audit=function(a){return this.lift(new b(a))};var b=function(){function a(a){this.durationSelector=a}a.prototype.call=
+function(a,b){return b.subscribe(new d(a,this.durationSelector))};return a}(),d=function(a){function b(b,c){a.call(this,b);this.durationSelector=c;this.hasValue=!1}q(b,a);b.prototype._next=function(a){this.value=a;this.hasValue=!0;this.throttled||(a=p.tryCatch(this.durationSelector)(a),a===n.errorObject?this.destination.error(n.errorObject.e):(a=c.subscribeToResult(this,a),a.closed?this.clearThrottle():this.add(this.throttled=a)))};b.prototype.clearThrottle=function(){var a=this.value,b=this.hasValue,
+c=this.throttled;c&&(this.remove(c),this.throttled=null,c.unsubscribe());b&&(this.value=null,this.hasValue=!1,this.destination.next(a))};b.prototype.notifyNext=function(a,b,c,d){this.clearThrottle()};b.prototype.notifyComplete=function(){this.clearThrottle()};return b}(h.OuterSubscriber)},function(h,f,a){h=a(0);a=a(516);h.Observable.prototype.auditTime=a.auditTime},function(h,f,a){function q(a){a.clearThrottle()}var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&
+(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},n=a(19);h=a(3);f.auditTime=function(a,b){void 0===b&&(b=n.async);return this.lift(new c(a,b))};var c=function(){function a(a,b){this.duration=a;this.scheduler=b}a.prototype.call=function(a,c){return c.subscribe(new b(a,this.duration,this.scheduler))};return a}(),b=function(a){function b(b,c,d){a.call(this,b);this.duration=c;this.scheduler=d;this.hasValue=!1}p(b,a);b.prototype._next=function(a){this.value=a;this.hasValue=
+!0;this.throttled||this.add(this.throttled=this.scheduler.schedule(q,this.duration,this))};b.prototype.clearThrottle=function(){var a=this.value,b=this.hasValue,c=this.throttled;c&&(this.remove(c),this.throttled=null,c.unsubscribe());b&&(this.value=null,this.hasValue=!1,this.destination.next(a))};return b}(h.Subscriber)},function(h,f,a){h=a(0);a=a(518);h.Observable.prototype.last=a.last},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&
+(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(3);var p=a(93);f.last=function(a,c,e){return this.lift(new n(a,c,e,this))};var n=function(){function a(a,b,c,f){this.predicate=a;this.resultSelector=b;this.defaultValue=c;this.source=f}a.prototype.call=function(a,b){return b.subscribe(new c(a,this.predicate,this.resultSelector,this.defaultValue,this.source))};return a}(),c=function(a){function b(b,c,d,f,h){a.call(this,b);this.predicate=c;this.resultSelector=d;this.defaultValue=
+f;this.source=h;this.hasValue=!1;this.index=0;"undefined"!==typeof f&&(this.lastValue=f,this.hasValue=!0)}q(b,a);b.prototype._next=function(a){var b=this.index++;this.predicate?this._tryPredicate(a,b):this.resultSelector?this._tryResultSelector(a,b):(this.lastValue=a,this.hasValue=!0)};b.prototype._tryPredicate=function(a,b){try{var c=this.predicate(a,b,this.source)}catch(k){this.destination.error(k);return}c&&(this.resultSelector?this._tryResultSelector(a,b):(this.lastValue=a,this.hasValue=!0))};
+b.prototype._tryResultSelector=function(a,b){try{var c=this.resultSelector(a,b)}catch(k){this.destination.error(k);return}this.lastValue=c;this.hasValue=!0};b.prototype._complete=function(){var a=this.destination;this.hasValue?(a.next(this.lastValue),a.complete()):a.error(new p.EmptyError)};return b}(h.Subscriber)},function(h,f,a){h=a(0);a=a(520);h.Observable.prototype.let=a.letProto;h.Observable.prototype.letBind=a.letProto},function(h,f,a){f.letProto=function(a){return a(this)}},function(h,f,a){h=
+a(0);a=a(522);h.Observable.prototype.every=a.every},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var e in b)b.hasOwnProperty(e)&&(a[e]=b[e]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);f.every=function(a,b){return this.lift(new p(a,b,this))};var p=function(){function a(a,c,e){this.predicate=a;this.thisArg=c;this.source=e}a.prototype.call=function(a,c){return c.subscribe(new n(a,this.predicate,this.thisArg,this.source))};
+return a}(),n=function(a){function b(b,c,g,f){a.call(this,b);this.predicate=c;this.thisArg=g;this.source=f;this.index=0;this.thisArg=g||this}q(b,a);b.prototype.notifyComplete=function(a){this.destination.next(a);this.destination.complete()};b.prototype._next=function(a){var b=!1;try{b=this.predicate.call(this.thisArg,a,this.index++,this.source)}catch(g){this.destination.error(g);return}b||this.notifyComplete(!1)};b.prototype._complete=function(){this.notifyComplete(!0)};return b}(h.Subscriber)},function(h,
+f,a){h=a(0);a=a(129);h.Observable.prototype.map=a.map},function(h,f,a){h=a(0);a=a(525);h.Observable.prototype.mapTo=a.mapTo},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var e in b)b.hasOwnProperty(e)&&(a[e]=b[e]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);f.mapTo=function(a){return this.lift(new p(a))};var p=function(){function a(a){this.value=a}a.prototype.call=function(a,c){return c.subscribe(new n(a,this.value))};
+return a}(),n=function(a){function b(b,c){a.call(this,b);this.value=c}q(b,a);b.prototype._next=function(a){this.destination.next(this.value)};return b}(h.Subscriber)},function(h,f,a){h=a(0);a=a(527);h.Observable.prototype.materialize=a.materialize},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(3);var p=a(68);f.materialize=function(){return this.lift(new n)};
+var n=function(){function a(){}a.prototype.call=function(a,b){return b.subscribe(new c(a))};return a}(),c=function(a){function b(b){a.call(this,b)}q(b,a);b.prototype._next=function(a){this.destination.next(p.Notification.createNext(a))};b.prototype._error=function(a){var b=this.destination;b.next(p.Notification.createError(a));b.complete()};b.prototype._complete=function(){var a=this.destination;a.next(p.Notification.createComplete());a.complete()};return b}(h.Subscriber)},function(h,f,a){h=a(0);
+a=a(529);h.Observable.prototype.max=a.max},function(h,f,a){var q=a(130);f.max=function(a){return this.lift(new q.ReduceOperator("function"===typeof a?function(f,c){return 0<a(f,c)?f:c}:function(a,c){return a>c?a:c}))}},function(h,f,a){h=a(0);a=a(203);h.Observable.prototype.merge=a.merge},function(h,f,a){h=a(0);a=a(89);h.Observable.prototype.mergeAll=a.mergeAll},function(h,f,a){h=a(0);a=a(209);h.Observable.prototype.mergeMap=a.mergeMap;h.Observable.prototype.flatMap=a.mergeMap},function(h,f,a){h=a(0);
+a=a(210);h.Observable.prototype.flatMapTo=a.mergeMapTo;h.Observable.prototype.mergeMapTo=a.mergeMapTo},function(h,f,a){h=a(0);a=a(535);h.Observable.prototype.mergeScan=a.mergeScan},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(17),n=a(13),c=a(6);h=a(5);f.mergeScan=function(a,c,d){void 0===d&&(d=Number.POSITIVE_INFINITY);return this.lift(new b(a,
+c,d))};var b=function(){function a(a,b,c){this.accumulator=a;this.seed=b;this.concurrent=c}a.prototype.call=function(a,b){return b.subscribe(new d(a,this.accumulator,this.seed,this.concurrent))};return a}();f.MergeScanOperator=b;var d=function(a){function b(b,c,d,e){a.call(this,b);this.accumulator=c;this.acc=d;this.concurrent=e;this.hasCompleted=this.hasValue=!1;this.buffer=[];this.index=this.active=0}q(b,a);b.prototype._next=function(a){if(this.active<this.concurrent){var b=this.index++,c=p.tryCatch(this.accumulator)(this.acc,
+a),d=this.destination;c===n.errorObject?d.error(n.errorObject.e):(this.active++,this._innerSub(c,a,b))}else this.buffer.push(a)};b.prototype._innerSub=function(a,b,d){this.add(c.subscribeToResult(this,a,b,d))};b.prototype._complete=function(){this.hasCompleted=!0;0===this.active&&0===this.buffer.length&&(!1===this.hasValue&&this.destination.next(this.acc),this.destination.complete())};b.prototype.notifyNext=function(a,b,c,d,e){a=this.destination;this.acc=b;this.hasValue=!0;a.next(b)};b.prototype.notifyComplete=
+function(a){var b=this.buffer;this.remove(a);this.active--;0<b.length?this._next(b.shift()):0===this.active&&this.hasCompleted&&(!1===this.hasValue&&this.destination.next(this.acc),this.destination.complete())};return b}(h.OuterSubscriber);f.MergeScanSubscriber=d},function(h,f,a){h=a(0);a=a(537);h.Observable.prototype.min=a.min},function(h,f,a){var q=a(130);f.min=function(a){return this.lift(new q.ReduceOperator("function"===typeof a?function(f,c){return 0>a(f,c)?f:c}:function(a,c){return a<c?a:c}))}},
+function(h,f,a){h=a(0);a=a(49);h.Observable.prototype.multicast=a.multicast},function(h,f,a){h=a(0);a=a(127);h.Observable.prototype.observeOn=a.observeOn},function(h,f,a){h=a(0);a=a(206);h.Observable.prototype.onErrorResumeNext=a.onErrorResumeNext},function(h,f,a){h=a(0);a=a(542);h.Observable.prototype.pairwise=a.pairwise},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var e in b)b.hasOwnProperty(e)&&(a[e]=b[e]);a.prototype=null===b?Object.create(b):
+(c.prototype=b.prototype,new c)};h=a(3);f.pairwise=function(){return this.lift(new p)};var p=function(){function a(){}a.prototype.call=function(a,c){return c.subscribe(new n(a))};return a}(),n=function(a){function b(b){a.call(this,b);this.hasPrev=!1}q(b,a);b.prototype._next=function(a){this.hasPrev?this.destination.next([this.prev,a]):this.hasPrev=!0;this.prev=a};return b}(h.Subscriber)},function(h,f,a){h=a(0);a=a(544);h.Observable.prototype.partition=a.partition},function(h,f,a){var q=a(545),p=a(212);
+f.partition=function(a,c){return[p.filter.call(this,a,c),p.filter.call(this,q.not(a,c))]}},function(h,f,a){f.not=function(a,f){function h(){return!h.pred.apply(h.thisArg,arguments)}h.pred=a;h.thisArg=f;return h}},function(h,f,a){h=a(0);a=a(547);h.Observable.prototype.pluck=a.pluck},function(h,f,a){function q(a,c){return function(b){var d=b;for(b=0;b<c;b++)if(d=d[a[b]],"undefined"===typeof d)return;return d}}var p=a(129);f.pluck=function(){for(var a=[],c=0;c<arguments.length;c++)a[c-0]=arguments[c];
+c=a.length;if(0===c)throw Error("list of properties cannot be empty.");return p.map.call(this,q(a,c))}},function(h,f,a){h=a(0);a=a(549);h.Observable.prototype.publish=a.publish},function(h,f,a){var q=a(12),p=a(49);f.publish=function(a){return a?p.multicast.call(this,function(){return new q.Subject},a):p.multicast.call(this,new q.Subject)}},function(h,f,a){h=a(0);a=a(551);h.Observable.prototype.publishBehavior=a.publishBehavior},function(h,f,a){var q=a(215),p=a(49);f.publishBehavior=function(a){return p.multicast.call(this,
+new q.BehaviorSubject(a))}},function(h,f,a){h=a(0);a=a(553);h.Observable.prototype.publishReplay=a.publishReplay},function(h,f,a){var q=a(92),p=a(49);f.publishReplay=function(a,c,b){void 0===a&&(a=Number.POSITIVE_INFINITY);void 0===c&&(c=Number.POSITIVE_INFINITY);return p.multicast.call(this,new q.ReplaySubject(a,c,b))}},function(h,f,a){h=a(0);a=a(555);h.Observable.prototype.publishLast=a.publishLast},function(h,f,a){var q=a(88),p=a(49);f.publishLast=function(){return p.multicast.call(this,new q.AsyncSubject)}},
+function(h,f,a){h=a(0);a=a(204);h.Observable.prototype.race=a.race},function(h,f,a){h=a(0);a=a(130);h.Observable.prototype.reduce=a.reduce},function(h,f,a){h=a(0);a=a(559);h.Observable.prototype.repeat=a.repeat},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(3);var p=a(42);f.repeat=function(a){void 0===a&&(a=-1);return 0===a?new p.EmptyObservable:
+0>a?this.lift(new n(-1,this)):this.lift(new n(a-1,this))};var n=function(){function a(a,b){this.count=a;this.source=b}a.prototype.call=function(a,b){return b.subscribe(new c(a,this.count,this.source))};return a}(),c=function(a){function b(b,c,d){a.call(this,b);this.count=c;this.source=d}q(b,a);b.prototype.complete=function(){if(!this.isStopped){var b=this.source,c=this.count;if(0===c)return a.prototype.complete.call(this);-1<c&&(this.count=c-1);b.subscribe(this._unsubscribeAndRecycle())}};return b}(h.Subscriber)},
+function(h,f,a){h=a(0);a=a(561);h.Observable.prototype.repeatWhen=a.repeatWhen},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(12),n=a(17),c=a(13);h=a(5);var b=a(6);f.repeatWhen=function(a){return this.lift(new d(a))};var d=function(){function a(a){this.notifier=a}a.prototype.call=function(a,b){return b.subscribe(new e(a,this.notifier,
+b))};return a}(),e=function(a){function d(b,c,d){a.call(this,b);this.notifier=c;this.source=d;this.sourceIsBeingSubscribedTo=!0}q(d,a);d.prototype.notifyNext=function(a,b,c,d,e){this.sourceIsBeingSubscribedTo=!0;this.source.subscribe(this)};d.prototype.notifyComplete=function(b){if(!1===this.sourceIsBeingSubscribedTo)return a.prototype.complete.call(this)};d.prototype.complete=function(){this.sourceIsBeingSubscribedTo=!1;if(!this.isStopped){if(!this.retries)this.subscribeToRetries();else if(this.retriesSubscription.closed)return a.prototype.complete.call(this);
+this._unsubscribeAndRecycle();this.notifications.next()}};d.prototype._unsubscribe=function(){var a=this.notifications,b=this.retriesSubscription;a&&(a.unsubscribe(),this.notifications=null);b&&(b.unsubscribe(),this.retriesSubscription=null);this.retries=null};d.prototype._unsubscribeAndRecycle=function(){var b=this.notifications,c=this.retries,d=this.retriesSubscription;this.retriesSubscription=this.retries=this.notifications=null;a.prototype._unsubscribeAndRecycle.call(this);this.notifications=
+b;this.retries=c;this.retriesSubscription=d;return this};d.prototype.subscribeToRetries=function(){this.notifications=new p.Subject;var d=n.tryCatch(this.notifier)(this.notifications);if(d===c.errorObject)return a.prototype.complete.call(this);this.retries=d;this.retriesSubscription=b.subscribeToResult(this,d)};return d}(h.OuterSubscriber)},function(h,f,a){h=a(0);a=a(563);h.Observable.prototype.retry=a.retry},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=
+a}for(var e in b)b.hasOwnProperty(e)&&(a[e]=b[e]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);f.retry=function(a){void 0===a&&(a=-1);return this.lift(new p(a,this))};var p=function(){function a(a,c){this.count=a;this.source=c}a.prototype.call=function(a,c){return c.subscribe(new n(a,this.count,this.source))};return a}(),n=function(a){function b(b,c,f){a.call(this,b);this.count=c;this.source=f}q(b,a);b.prototype.error=function(b){if(!this.isStopped){var c=this.source,
+d=this.count;if(0===d)return a.prototype.error.call(this,b);-1<d&&(this.count=d-1);c.subscribe(this._unsubscribeAndRecycle())}};return b}(h.Subscriber)},function(h,f,a){h=a(0);a=a(565);h.Observable.prototype.retryWhen=a.retryWhen},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(12),n=a(17),c=a(13);h=a(5);var b=a(6);f.retryWhen=function(a){return this.lift(new d(a,
+this))};var d=function(){function a(a,b){this.notifier=a;this.source=b}a.prototype.call=function(a,b){return b.subscribe(new e(a,this.notifier,this.source))};return a}(),e=function(a){function d(b,c,d){a.call(this,b);this.notifier=c;this.source=d}q(d,a);d.prototype.error=function(d){if(!this.isStopped){var e=this.errors,f=this.retries,g=this.retriesSubscription;if(f)this.retriesSubscription=this.errors=null;else{e=new p.Subject;f=n.tryCatch(this.notifier)(e);if(f===c.errorObject)return a.prototype.error.call(this,
+c.errorObject.e);g=b.subscribeToResult(this,f)}this._unsubscribeAndRecycle();this.errors=e;this.retries=f;this.retriesSubscription=g;e.next(d)}};d.prototype._unsubscribe=function(){var a=this.errors,b=this.retriesSubscription;a&&(a.unsubscribe(),this.errors=null);b&&(b.unsubscribe(),this.retriesSubscription=null);this.retries=null};d.prototype.notifyNext=function(a,b,c,d,e){a=this.errors;b=this.retries;c=this.retriesSubscription;this.retriesSubscription=this.retries=this.errors=null;this._unsubscribeAndRecycle();
+this.errors=a;this.retries=b;this.retriesSubscription=c;this.source.subscribe(this)};return d}(h.OuterSubscriber)},function(h,f,a){h=a(0);a=a(567);h.Observable.prototype.sample=a.sample},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(5);var p=a(6);f.sample=function(a){return this.lift(new n(a))};var n=function(){function a(a){this.notifier=
+a}a.prototype.call=function(a,b){a=new c(a);b=b.subscribe(a);b.add(p.subscribeToResult(a,this.notifier));return b};return a}(),c=function(a){function b(){a.apply(this,arguments);this.hasValue=!1}q(b,a);b.prototype._next=function(a){this.value=a;this.hasValue=!0};b.prototype.notifyNext=function(a,b,c,d,f){this.emitValue()};b.prototype.notifyComplete=function(){this.emitValue()};b.prototype.emitValue=function(){this.hasValue&&(this.hasValue=!1,this.destination.next(this.value))};return b}(h.OuterSubscriber)},
+function(h,f,a){h=a(0);a=a(569);h.Observable.prototype.sampleTime=a.sampleTime},function(h,f,a){function q(a){var b=a.period;a.subscriber.notifyNext();this.schedule(a,b)}var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);var n=a(19);f.sampleTime=function(a,b){void 0===b&&(b=n.async);return this.lift(new c(a,b))};var c=function(){function a(a,b){this.period=
+a;this.scheduler=b}a.prototype.call=function(a,c){return c.subscribe(new b(a,this.period,this.scheduler))};return a}(),b=function(a){function b(b,c,d){a.call(this,b);this.period=c;this.scheduler=d;this.hasValue=!1;this.add(d.schedule(q,c,{subscriber:this,period:c}))}p(b,a);b.prototype._next=function(a){this.lastValue=a;this.hasValue=!0};b.prototype.notifyNext=function(){this.hasValue&&(this.hasValue=!1,this.destination.next(this.lastValue))};return b}(h.Subscriber)},function(h,f,a){h=a(0);a=a(571);
+h.Observable.prototype.scan=a.scan},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var e in b)b.hasOwnProperty(e)&&(a[e]=b[e]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);f.scan=function(a,b){var c=!1;2<=arguments.length&&(c=!0);return this.lift(new p(a,b,c))};var p=function(){function a(a,c,e){void 0===e&&(e=!1);this.accumulator=a;this.seed=c;this.hasSeed=e}a.prototype.call=function(a,c){return c.subscribe(new n(a,this.accumulator,
+this.seed,this.hasSeed))};return a}(),n=function(a){function b(b,c,f,h){a.call(this,b);this.accumulator=c;this._seed=f;this.hasSeed=h;this.index=0}q(b,a);Object.defineProperty(b.prototype,"seed",{get:function(){return this._seed},set:function(a){this.hasSeed=!0;this._seed=a},enumerable:!0,configurable:!0});b.prototype._next=function(a){if(this.hasSeed)return this._tryNext(a);this.seed=a;this.destination.next(a)};b.prototype._tryNext=function(a){var b=this.index++;try{var c=this.accumulator(this.seed,
+a,b)}catch(l){this.destination.error(l)}this.seed=c;this.destination.next(c)};return b}(h.Subscriber)},function(h,f,a){h=a(0);a=a(573);h.Observable.prototype.sequenceEqual=a.sequenceEqual},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);var p=a(17),n=a(13);f.sequenceEqual=function(a,b){return this.lift(new c(a,b))};var c=function(){function a(a,
+b){this.compareTo=a;this.comparor=b}a.prototype.call=function(a,c){return c.subscribe(new b(a,this.compareTo,this.comparor))};return a}();f.SequenceEqualOperator=c;var b=function(a){function b(b,c,e){a.call(this,b);this.compareTo=c;this.comparor=e;this._a=[];this._b=[];this._oneComplete=!1;this.add(c.subscribe(new d(b,this)))}q(b,a);b.prototype._next=function(a){this._oneComplete&&0===this._b.length?this.emit(!1):(this._a.push(a),this.checkValues())};b.prototype._complete=function(){this._oneComplete?
+this.emit(0===this._a.length&&0===this._b.length):this._oneComplete=!0};b.prototype.checkValues=function(){for(var a=this._a,b=this._b,c=this.comparor;0<a.length&&0<b.length;){var d=a.shift(),e=b.shift();c?(d=p.tryCatch(c)(d,e),d===n.errorObject&&this.destination.error(n.errorObject.e)):d=d===e;d||this.emit(!1)}};b.prototype.emit=function(a){var b=this.destination;b.next(a);b.complete()};b.prototype.nextB=function(a){this._oneComplete&&0===this._a.length?this.emit(!1):(this._b.push(a),this.checkValues())};
+return b}(h.Subscriber);f.SequenceEqualSubscriber=b;var d=function(a){function b(b,c){a.call(this,b);this.parent=c}q(b,a);b.prototype._next=function(a){this.parent.nextB(a)};b.prototype._error=function(a){this.parent.error(a)};b.prototype._complete=function(){this.parent._complete()};return b}(h.Subscriber)},function(h,f,a){h=a(0);a=a(575);h.Observable.prototype.share=a.share},function(h,f,a){function q(){return new n.Subject}var p=a(49),n=a(12);f.share=function(){return p.multicast.call(this,q).refCount()}},
+function(h,f,a){h=a(0);a=a(577);h.Observable.prototype.shareReplay=a.shareReplay},function(h,f,a){var q=a(49),p=a(92);f.shareReplay=function(a,c,b){var d;return q.multicast.call(this,function(){return this._isComplete?d:d=new p.ReplaySubject(a,c,b)}).refCount()}},function(h,f,a){h=a(0);a=a(579);h.Observable.prototype.single=a.single},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):
+(b.prototype=c.prototype,new b)};h=a(3);var p=a(93);f.single=function(a){return this.lift(new n(a,this))};var n=function(){function a(a,b){this.predicate=a;this.source=b}a.prototype.call=function(a,b){return b.subscribe(new c(a,this.predicate,this.source))};return a}(),c=function(a){function b(b,c,d){a.call(this,b);this.predicate=c;this.source=d;this.seenValue=!1;this.index=0}q(b,a);b.prototype.applySingleValue=function(a){this.seenValue?this.destination.error("Sequence contains more than one element"):
+(this.seenValue=!0,this.singleValue=a)};b.prototype._next=function(a){var b=this.index++;this.predicate?this.tryNext(a,b):this.applySingleValue(a)};b.prototype.tryNext=function(a,b){try{this.predicate(a,b,this.source)&&this.applySingleValue(a)}catch(l){this.destination.error(l)}};b.prototype._complete=function(){var a=this.destination;0<this.index?(a.next(this.seenValue?this.singleValue:void 0),a.complete()):a.error(new p.EmptyError)};return b}(h.Subscriber)},function(h,f,a){h=a(0);a=a(581);h.Observable.prototype.skip=
+a.skip},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var e in b)b.hasOwnProperty(e)&&(a[e]=b[e]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);f.skip=function(a){return this.lift(new p(a))};var p=function(){function a(a){this.total=a}a.prototype.call=function(a,c){return c.subscribe(new n(a,this.total))};return a}(),n=function(a){function b(b,c){a.call(this,b);this.total=c;this.count=0}q(b,a);b.prototype._next=function(a){++this.count>
+this.total&&this.destination.next(a)};return b}(h.Subscriber)},function(h,f,a){h=a(0);a=a(583);h.Observable.prototype.skipLast=a.skipLast},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(3),n=a(71);f.skipLast=function(a){return this.lift(new c(a))};var c=function(){function a(a){this._skipCount=a;if(0>this._skipCount)throw new n.ArgumentOutOfRangeError;
+}a.prototype.call=function(a,c){return 0===this._skipCount?c.subscribe(new p.Subscriber(a)):c.subscribe(new b(a,this._skipCount))};return a}(),b=function(a){function b(b,c){a.call(this,b);this._skipCount=c;this._count=0;this._ring=Array(c)}q(b,a);b.prototype._next=function(a){var b=this._skipCount,c=this._count++;if(c<b)this._ring[c]=a;else{b=c%b;c=this._ring;var d=c[b];c[b]=a;this.destination.next(d)}};return b}(p.Subscriber)},function(h,f,a){h=a(0);a=a(585);h.Observable.prototype.skipUntil=a.skipUntil},
+function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(5);var p=a(6);f.skipUntil=function(a){return this.lift(new n(a))};var n=function(){function a(a){this.notifier=a}a.prototype.call=function(a,b){return b.subscribe(new c(a,this.notifier))};return a}(),c=function(a){function b(b,c){a.call(this,b);this.isInnerStopped=this.hasValue=!1;this.add(p.subscribeToResult(this,
+c))}q(b,a);b.prototype._next=function(b){this.hasValue&&a.prototype._next.call(this,b)};b.prototype._complete=function(){this.isInnerStopped?a.prototype._complete.call(this):this.unsubscribe()};b.prototype.notifyNext=function(a,b,c,d,f){this.hasValue=!0};b.prototype.notifyComplete=function(){this.isInnerStopped=!0;this.isStopped&&a.prototype._complete.call(this)};return b}(h.OuterSubscriber)},function(h,f,a){h=a(0);a=a(587);h.Observable.prototype.skipWhile=a.skipWhile},function(h,f,a){var q=this&&
+this.__extends||function(a,b){function c(){this.constructor=a}for(var e in b)b.hasOwnProperty(e)&&(a[e]=b[e]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);f.skipWhile=function(a){return this.lift(new p(a))};var p=function(){function a(a){this.predicate=a}a.prototype.call=function(a,c){return c.subscribe(new n(a,this.predicate))};return a}(),n=function(a){function b(b,c){a.call(this,b);this.predicate=c;this.skipping=!0;this.index=0}q(b,a);b.prototype._next=function(a){var b=
+this.destination;this.skipping&&this.tryCallPredicate(a);this.skipping||b.next(a)};b.prototype.tryCallPredicate=function(a){try{this.skipping=!!this.predicate(a,this.index++)}catch(e){this.destination.error(e)}};return b}(h.Subscriber)},function(h,f,a){h=a(0);a=a(589);h.Observable.prototype.startWith=a.startWith},function(h,f,a){var q=a(38),p=a(124),n=a(42),c=a(126),b=a(37);f.startWith=function(){for(var a=[],e=0;e<arguments.length;e++)a[e-0]=arguments[e];e=a[a.length-1];b.isScheduler(e)?a.pop():
+e=null;var f=a.length;return 1===f?c.concatStatic(new p.ScalarObservable(a[0],e),this):1<f?c.concatStatic(new q.ArrayObservable(a,e),this):c.concatStatic(new n.EmptyObservable(e),this)}},function(h,f,a){h=a(0);a=a(591);h.Observable.prototype.subscribeOn=a.subscribeOn},function(h,f,a){var q=a(592);f.subscribeOn=function(a,c){void 0===c&&(c=0);return this.lift(new p(a,c))};var p=function(){function a(a,b){this.scheduler=a;this.delay=b}a.prototype.call=function(a,b){return(new q.SubscribeOnObservable(b,
+this.delay,this.scheduler)).subscribe(a)};return a}()},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var e in b)b.hasOwnProperty(e)&&(a[e]=b[e]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(0);var p=a(216),n=a(90);a=function(a){function b(b,c,f){void 0===c&&(c=0);void 0===f&&(f=p.asap);a.call(this);this.source=b;this.delayTime=c;this.scheduler=f;if(!n.isNumeric(c)||0>c)this.delayTime=0;f&&"function"===typeof f.schedule||
+(this.scheduler=p.asap)}q(b,a);b.create=function(a,c,f){void 0===c&&(c=0);void 0===f&&(f=p.asap);return new b(a,c,f)};b.dispatch=function(a){return this.add(a.source.subscribe(a.subscriber))};b.prototype._subscribe=function(a){return this.scheduler.schedule(b.dispatch,this.delayTime,{source:this.source,subscriber:a})};return b}(h.Observable);f.SubscribeOnObservable=a},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=
+c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)},p=a(594);h=function(a){function c(b,c){a.call(this,b,c);this.scheduler=b;this.work=c}q(c,a);c.prototype.requestAsyncId=function(b,c,e){void 0===e&&(e=0);if(null!==e&&0<e)return a.prototype.requestAsyncId.call(this,b,c,e);b.actions.push(this);return b.scheduled||(b.scheduled=p.Immediate.setImmediate(b.flush.bind(b,null)))};c.prototype.recycleAsyncId=function(b,c,e){void 0===e&&(e=0);if(null!==e&&0<e||null===e&&0<this.delay)return a.prototype.recycleAsyncId.call(this,
+b,c,e);0===b.actions.length&&(p.Immediate.clearImmediate(c),b.scheduled=void 0)};return c}(a(69).AsyncAction);f.AsapAction=h},function(h,f,a){(function(h,p){h=a(16);p=function(){function a(a){this.root=a;a.setImmediate&&"function"===typeof a.setImmediate?(this.setImmediate=a.setImmediate.bind(a),this.clearImmediate=a.clearImmediate.bind(a)):(this.nextHandle=1,this.tasksByHandle={},this.currentlyRunningATask=!1,this.canUseProcessNextTick()?this.setImmediate=this.createProcessNextTickSetImmediate():
+this.canUsePostMessage()?this.setImmediate=this.createPostMessageSetImmediate():this.canUseMessageChannel()?this.setImmediate=this.createMessageChannelSetImmediate():this.canUseReadyStateChange()?this.setImmediate=this.createReadyStateChangeSetImmediate():this.setImmediate=this.createSetTimeoutSetImmediate(),a=function d(a){delete d.instance.tasksByHandle[a]},a.instance=this,this.clearImmediate=a)}a.prototype.identify=function(a){return this.root.Object.prototype.toString.call(a)};a.prototype.canUseProcessNextTick=
+function(){return"[object process]"===this.identify(this.root.process)};a.prototype.canUseMessageChannel=function(){return!!this.root.MessageChannel};a.prototype.canUseReadyStateChange=function(){var a=this.root.document;return!!(a&&"onreadystatechange"in a.createElement("script"))};a.prototype.canUsePostMessage=function(){var a=this.root;if(a.postMessage&&!a.importScripts){var b=!0,d=a.onmessage;a.onmessage=function(){b=!1};a.postMessage("","*");a.onmessage=d;return b}return!1};a.prototype.partiallyApplied=
+function(a){for(var b=[],c=1;c<arguments.length;c++)b[c-1]=arguments[c];c=function g(){var a=g.handler,b=g.args;"function"===typeof a?a.apply(void 0,b):(new Function(""+a))()};c.handler=a;c.args=b;return c};a.prototype.addFromSetImmediateArguments=function(a){this.tasksByHandle[this.nextHandle]=this.partiallyApplied.apply(void 0,a);return this.nextHandle++};a.prototype.createProcessNextTickSetImmediate=function(){var a=function d(){var a=d.instance,c=a.addFromSetImmediateArguments(arguments);a.root.process.nextTick(a.partiallyApplied(a.runIfPresent,
+c));return c};a.instance=this;return a};a.prototype.createPostMessageSetImmediate=function(){var a=this.root,b="setImmediate$"+a.Math.random()+"$",d=function g(c){var d=g.instance;c.source===a&&"string"===typeof c.data&&0===c.data.indexOf(b)&&d.runIfPresent(+c.data.slice(b.length))};d.instance=this;a.addEventListener("message",d,!1);d=function l(){var a=l,b=a.messagePrefix;a=a.instance;var c=a.addFromSetImmediateArguments(arguments);a.root.postMessage(b+c,"*");return c};d.instance=this;d.messagePrefix=
+b;return d};a.prototype.runIfPresent=function(a){if(this.currentlyRunningATask)this.root.setTimeout(this.partiallyApplied(this.runIfPresent,a),0);else{var b=this.tasksByHandle[a];if(b){this.currentlyRunningATask=!0;try{b()}finally{this.clearImmediate(a),this.currentlyRunningATask=!1}}}};a.prototype.createMessageChannelSetImmediate=function(){var a=this,b=new this.root.MessageChannel;b.port1.onmessage=function(b){a.runIfPresent(b.data)};var d=function g(){var a=g,b=a.channel;a=a.instance.addFromSetImmediateArguments(arguments);
+b.port2.postMessage(a);return a};d.channel=b;d.instance=this;return d};a.prototype.createReadyStateChangeSetImmediate=function(){var a=function d(){var a=d.instance,c=a.root.document,f=c.documentElement,h=a.addFromSetImmediateArguments(arguments),n=c.createElement("script");n.onreadystatechange=function(){a.runIfPresent(h);n.onreadystatechange=null;f.removeChild(n);n=null};f.appendChild(n);return h};a.instance=this;return a};a.prototype.createSetTimeoutSetImmediate=function(){var a=function d(){var a=
+d.instance,c=a.addFromSetImmediateArguments(arguments);a.root.setTimeout(a.partiallyApplied(a.runIfPresent,c),0);return c};a.instance=this;return a};return a}();f.ImmediateDefinition=p;f.Immediate=new p(h.root)}).call(f,a(217).clearImmediate,a(217).setImmediate)},function(h,f,a){(function(a,f){(function(a,c){function b(a){delete p[a]}function d(a){if(q)setTimeout(d,0,a);else{var e=p[a];if(e){q=!0;try{var f=e.callback,g=e.args;switch(g.length){case 0:f();break;case 1:f(g[0]);break;case 2:f(g[0],g[1]);
+break;case 3:f(g[0],g[1],g[2]);break;default:f.apply(c,g)}}finally{b(a),q=!1}}}}function e(){y=function(a){f.nextTick(function(){d(a)})}}function g(){if(a.postMessage&&!a.importScripts){var b=!0,c=a.onmessage;a.onmessage=function(){b=!1};a.postMessage("","*");a.onmessage=c;return b}}function h(){var b="setImmediate$"+Math.random()+"$",c=function(c){c.source===a&&"string"===typeof c.data&&0===c.data.indexOf(b)&&d(+c.data.slice(b.length))};a.addEventListener?a.addEventListener("message",c,!1):a.attachEvent("onmessage",
+c);y=function(c){a.postMessage(b+c,"*")}}function k(){var a=new MessageChannel;a.port1.onmessage=function(a){d(a.data)};y=function(b){a.port2.postMessage(b)}}function n(){var a=w.documentElement;y=function(b){var c=w.createElement("script");c.onreadystatechange=function(){d(b);c.onreadystatechange=null;a.removeChild(c);c=null};a.appendChild(c)}}function m(){y=function(a){setTimeout(d,0,a)}}if(!a.setImmediate){var r=1,p={},q=!1,w=a.document,y,x=Object.getPrototypeOf&&Object.getPrototypeOf(a);x=x&&
+x.setTimeout?x:a;"[object process]"==={}.toString.call(a.process)?e():g()?h():a.MessageChannel?k():w&&"onreadystatechange"in w.createElement("script")?n():m();x.setImmediate=function(a){"function"!==typeof a&&(a=new Function(""+a));for(var b=Array(arguments.length-1),c=0;c<b.length;c++)b[c]=arguments[c+1];p[r]={callback:a,args:b};y(r);return r++};x.clearImmediate=b}})("undefined"===typeof self?"undefined"===typeof a?this:a:self)}).call(f,a(73),a(596))},function(h,f){function a(){throw Error("setTimeout has not been defined");
+}function q(){throw Error("clearTimeout has not been defined");}function p(b){if(g===setTimeout)return setTimeout(b,0);if((g===a||!g)&&setTimeout)return g=setTimeout,setTimeout(b,0);try{return g(b,0)}catch(v){try{return g.call(null,b,0)}catch(w){return g.call(this,b,0)}}}function n(a){if(l===clearTimeout)return clearTimeout(a);if((l===q||!l)&&clearTimeout)return l=clearTimeout,clearTimeout(a);try{return l(a)}catch(v){try{return l.call(null,a)}catch(w){return l.call(this,a)}}}function c(){t&&m&&(t=
+!1,m.length?k=m.concat(k):r=-1,k.length&&b())}function b(){if(!t){var a=p(c);t=!0;for(var b=k.length;b;){m=k;for(k=[];++r<b;)m&&m[r].run();r=-1;b=k.length}m=null;t=!1;n(a)}}function d(a,b){this.fun=a;this.array=b}function e(){}h=h.exports={};try{var g="function"===typeof setTimeout?setTimeout:a}catch(u){g=a}try{var l="function"===typeof clearTimeout?clearTimeout:q}catch(u){l=q}var k=[],t=!1,m,r=-1;h.nextTick=function(a){var c=Array(arguments.length-1);if(1<arguments.length)for(var e=1;e<arguments.length;e++)c[e-
+1]=arguments[e];k.push(new d(a,c));1!==k.length||t||p(b)};d.prototype.run=function(){this.fun.apply(null,this.array)};h.title="browser";h.browser=!0;h.env={};h.argv=[];h.version="";h.versions={};h.on=e;h.addListener=e;h.once=e;h.off=e;h.removeListener=e;h.removeAllListeners=e;h.emit=e;h.prependListener=e;h.prependOnceListener=e;h.listeners=function(a){return[]};h.binding=function(a){throw Error("process.binding is not supported");};h.cwd=function(){return"/"};h.chdir=function(a){throw Error("process.chdir is not supported");
+};h.umask=function(){return 0}},function(h,f,a){var q=this&&this.__extends||function(a,f){function c(){this.constructor=a}for(var b in f)f.hasOwnProperty(b)&&(a[b]=f[b]);a.prototype=null===f?Object.create(f):(c.prototype=f.prototype,new c)};h=function(a){function f(){a.apply(this,arguments)}q(f,a);f.prototype.flush=function(a){this.active=!0;this.scheduled=void 0;var b=this.actions,c,e=-1,f=b.length;a=a||b.shift();do if(c=a.execute(a.state,a.delay))break;while(++e<f&&(a=b.shift()));this.active=!1;
+if(c){for(;++e<f&&(a=b.shift());)a.unsubscribe();throw c;}};return f}(a(70).AsyncScheduler);f.AsapScheduler=h},function(h,f,a){h=a(0);a=a(599);h.Observable.prototype.switch=a._switch;h.Observable.prototype._switch=a._switch},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(5);var p=a(6);f._switch=function(){return this.lift(new n)};var n=
+function(){function a(){}a.prototype.call=function(a,b){return b.subscribe(new c(a))};return a}(),c=function(a){function b(b){a.call(this,b);this.active=0;this.hasCompleted=!1}q(b,a);b.prototype._next=function(a){this.unsubscribeInner();this.active++;this.add(this.innerSubscription=p.subscribeToResult(this,a))};b.prototype._complete=function(){this.hasCompleted=!0;0===this.active&&this.destination.complete()};b.prototype.unsubscribeInner=function(){this.active=0<this.active?this.active-1:0;var a=
+this.innerSubscription;a&&(a.unsubscribe(),this.remove(a))};b.prototype.notifyNext=function(a,b,c,d,f){this.destination.next(b)};b.prototype.notifyError=function(a){this.destination.error(a)};b.prototype.notifyComplete=function(){this.unsubscribeInner();this.hasCompleted&&0===this.active&&this.destination.complete()};return b}(h.OuterSubscriber)},function(h,f,a){h=a(0);a=a(601);h.Observable.prototype.switchMap=a.switchMap},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=
+a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(5);var p=a(6);f.switchMap=function(a,c){return this.lift(new n(a,c))};var n=function(){function a(a,b){this.project=a;this.resultSelector=b}a.prototype.call=function(a,b){return b.subscribe(new c(a,this.project,this.resultSelector))};return a}(),c=function(a){function b(b,c,d){a.call(this,b);this.project=c;this.resultSelector=d;this.index=0}q(b,a);b.prototype._next=function(a){var b=
+this.index++;try{var c=this.project(a,b)}catch(k){this.destination.error(k);return}this._innerSub(c,a,b)};b.prototype._innerSub=function(a,b,c){var d=this.innerSubscription;d&&d.unsubscribe();this.add(this.innerSubscription=p.subscribeToResult(this,a,b,c))};b.prototype._complete=function(){var b=this.innerSubscription;b&&!b.closed||a.prototype._complete.call(this)};b.prototype._unsubscribe=function(){this.innerSubscription=null};b.prototype.notifyComplete=function(b){this.remove(b);this.innerSubscription=
+null;this.isStopped&&a.prototype._complete.call(this)};b.prototype.notifyNext=function(a,b,c,d,f){this.resultSelector?this._tryNotifyNext(a,b,c,d):this.destination.next(b)};b.prototype._tryNotifyNext=function(a,b,c,d){try{var e=this.resultSelector(a,b,c,d)}catch(m){this.destination.error(m);return}this.destination.next(e)};return b}(h.OuterSubscriber)},function(h,f,a){h=a(0);a=a(603);h.Observable.prototype.switchMapTo=a.switchMapTo},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=
+a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(5);var p=a(6);f.switchMapTo=function(a,c){return this.lift(new n(a,c))};var n=function(){function a(a,b){this.observable=a;this.resultSelector=b}a.prototype.call=function(a,b){return b.subscribe(new c(a,this.observable,this.resultSelector))};return a}(),c=function(a){function b(b,c,d){a.call(this,b);this.inner=c;this.resultSelector=d;this.index=0}q(b,a);b.prototype._next=function(a){var b=
+this.innerSubscription;b&&b.unsubscribe();this.add(this.innerSubscription=p.subscribeToResult(this,this.inner,a,this.index++))};b.prototype._complete=function(){var b=this.innerSubscription;b&&!b.closed||a.prototype._complete.call(this)};b.prototype._unsubscribe=function(){this.innerSubscription=null};b.prototype.notifyComplete=function(b){this.remove(b);this.innerSubscription=null;this.isStopped&&a.prototype._complete.call(this)};b.prototype.notifyNext=function(a,b,c,d,f){f=this.destination;this.resultSelector?
+this.tryResultSelector(a,b,c,d):f.next(b)};b.prototype.tryResultSelector=function(a,b,c,d){var e=this.resultSelector,f=this.destination;try{var g=e(a,b,c,d)}catch(u){f.error(u);return}f.next(g)};return b}(h.OuterSubscriber)},function(h,f,a){h=a(0);a=a(605);h.Observable.prototype.take=a.take},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};
+h=a(3);var p=a(71),n=a(42);f.take=function(a){return 0===a?new n.EmptyObservable:this.lift(new c(a))};var c=function(){function a(a){this.total=a;if(0>this.total)throw new p.ArgumentOutOfRangeError;}a.prototype.call=function(a,c){return c.subscribe(new b(a,this.total))};return a}(),b=function(a){function b(b,c){a.call(this,b);this.total=c;this.count=0}q(b,a);b.prototype._next=function(a){var b=this.total,c=++this.count;c<=b&&(this.destination.next(a),c===b&&(this.destination.complete(),this.unsubscribe()))};
+return b}(h.Subscriber)},function(h,f,a){h=a(0);a=a(607);h.Observable.prototype.takeLast=a.takeLast},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);var p=a(71),n=a(42);f.takeLast=function(a){return 0===a?new n.EmptyObservable:this.lift(new c(a))};var c=function(){function a(a){this.total=a;if(0>this.total)throw new p.ArgumentOutOfRangeError;
+}a.prototype.call=function(a,c){return c.subscribe(new b(a,this.total))};return a}(),b=function(a){function b(b,c){a.call(this,b);this.total=c;this.ring=[];this.count=0}q(b,a);b.prototype._next=function(a){var b=this.ring,c=this.total,d=this.count++;b.length<c?b.push(a):b[d%c]=a};b.prototype._complete=function(){var a=this.destination,b=this.count;if(0<b)for(var c=this.count>=this.total?this.total:this.count,d=this.ring,e=0;e<c;e++){var f=b++%c;a.next(d[f])}a.complete()};return b}(h.Subscriber)},
+function(h,f,a){h=a(0);a=a(609);h.Observable.prototype.takeUntil=a.takeUntil},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(5);var p=a(6);f.takeUntil=function(a){return this.lift(new n(a))};var n=function(){function a(a){this.notifier=a}a.prototype.call=function(a,b){return b.subscribe(new c(a,this.notifier))};return a}(),c=function(a){function b(b,
+c){a.call(this,b);this.notifier=c;this.add(p.subscribeToResult(this,c))}q(b,a);b.prototype.notifyNext=function(a,b,c,d,f){this.complete()};b.prototype.notifyComplete=function(){};return b}(h.OuterSubscriber)},function(h,f,a){h=a(0);a=a(611);h.Observable.prototype.takeWhile=a.takeWhile},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var e in b)b.hasOwnProperty(e)&&(a[e]=b[e]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);
+f.takeWhile=function(a){return this.lift(new p(a))};var p=function(){function a(a){this.predicate=a}a.prototype.call=function(a,c){return c.subscribe(new n(a,this.predicate))};return a}(),n=function(a){function b(b,c){a.call(this,b);this.predicate=c;this.index=0}q(b,a);b.prototype._next=function(a){var b=this.destination;try{var c=this.predicate(a,this.index++)}catch(l){b.error(l);return}this.nextOrComplete(a,c)};b.prototype.nextOrComplete=function(a,b){var c=this.destination;b?c.next(a):c.complete()};
+return b}(h.Subscriber)},function(h,f,a){h=a(0);a=a(218);h.Observable.prototype.throttle=a.throttle},function(h,f,a){h=a(0);a=a(614);h.Observable.prototype.throttleTime=a.throttleTime},function(h,f,a){function q(a){a.subscriber.clearThrottle()}var p=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);var n=a(19),c=a(218);f.throttleTime=function(a,d,f){void 0===
+d&&(d=n.async);void 0===f&&(f=c.defaultThrottleConfig);return this.lift(new b(a,d,f.leading,f.trailing))};var b=function(){function a(a,b,c,d){this.duration=a;this.scheduler=b;this.leading=c;this.trailing=d}a.prototype.call=function(a,b){return b.subscribe(new d(a,this.duration,this.scheduler,this.leading,this.trailing))};return a}(),d=function(a){function b(b,c,d,e,f){a.call(this,b);this.duration=c;this.scheduler=d;this.leading=e;this.trailing=f;this._hasTrailingValue=!1;this._trailingValue=null}
+p(b,a);b.prototype._next=function(a){this.throttled?this.trailing&&(this._trailingValue=a,this._hasTrailingValue=!0):(this.add(this.throttled=this.scheduler.schedule(q,this.duration,{subscriber:this})),this.leading&&this.destination.next(a))};b.prototype.clearThrottle=function(){var a=this.throttled;a&&(this.trailing&&this._hasTrailingValue&&(this.destination.next(this._trailingValue),this._trailingValue=null,this._hasTrailingValue=!1),a.unsubscribe(),this.remove(a),this.throttled=null)};return b}(h.Subscriber)},
+function(h,f,a){h=a(0);a=a(219);h.Observable.prototype.timeInterval=a.timeInterval},function(h,f,a){h=a(0);a=a(617);h.Observable.prototype.timeout=a.timeout},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(19),n=a(91);h=a(3);var c=a(220);f.timeout=function(a,d){void 0===d&&(d=p.async);var e=n.isDate(a);a=e?+a-d.now():Math.abs(a);return this.lift(new b(a,
+e,d,new c.TimeoutError))};var b=function(){function a(a,b,c,d){this.waitFor=a;this.absoluteTimeout=b;this.scheduler=c;this.errorInstance=d}a.prototype.call=function(a,b){return b.subscribe(new d(a,this.absoluteTimeout,this.waitFor,this.scheduler,this.errorInstance))};return a}(),d=function(a){function b(b,c,d,e,f){a.call(this,b);this.absoluteTimeout=c;this.waitFor=d;this.scheduler=e;this.errorInstance=f;this.action=null;this.scheduleTimeout()}q(b,a);b.dispatchTimeout=function(a){a.error(a.errorInstance)};
+b.prototype.scheduleTimeout=function(){var a=this.action;a?this.action=a.schedule(this,this.waitFor):this.add(this.action=this.scheduler.schedule(b.dispatchTimeout,this.waitFor,this))};b.prototype._next=function(b){this.absoluteTimeout||this.scheduleTimeout();a.prototype._next.call(this,b)};b.prototype._unsubscribe=function(){this.errorInstance=this.scheduler=this.action=null};return b}(h.Subscriber)},function(h,f,a){h=a(0);a=a(619);h.Observable.prototype.timeoutWith=a.timeoutWith},function(h,f,a){var q=
+this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(19),n=a(91);h=a(5);var c=a(6);f.timeoutWith=function(a,c,d){void 0===d&&(d=p.async);var e=n.isDate(a);a=e?+a-d.now():Math.abs(a);return this.lift(new b(a,e,c,d))};var b=function(){function a(a,b,c,d){this.waitFor=a;this.absoluteTimeout=b;this.withObservable=c;this.scheduler=d}a.prototype.call=function(a,b){return b.subscribe(new d(a,
+this.absoluteTimeout,this.waitFor,this.withObservable,this.scheduler))};return a}(),d=function(a){function b(b,c,d,e,f){a.call(this,b);this.absoluteTimeout=c;this.waitFor=d;this.withObservable=e;this.scheduler=f;this.action=null;this.scheduleTimeout()}q(b,a);b.dispatchTimeout=function(a){var b=a.withObservable;a._unsubscribeAndRecycle();a.add(c.subscribeToResult(a,b))};b.prototype.scheduleTimeout=function(){var a=this.action;a?this.action=a.schedule(this,this.waitFor):this.add(this.action=this.scheduler.schedule(b.dispatchTimeout,
+this.waitFor,this))};b.prototype._next=function(b){this.absoluteTimeout||this.scheduleTimeout();a.prototype._next.call(this,b)};b.prototype._unsubscribe=function(){this.withObservable=this.scheduler=this.action=null};return b}(h.OuterSubscriber)},function(h,f,a){h=a(0);a=a(221);h.Observable.prototype.timestamp=a.timestamp},function(h,f,a){h=a(0);a=a(622);h.Observable.prototype.toArray=a.toArray},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var e in b)b.hasOwnProperty(e)&&
+(a[e]=b[e]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(3);f.toArray=function(){return this.lift(new p)};var p=function(){function a(){}a.prototype.call=function(a,c){return c.subscribe(new n(a))};return a}(),n=function(a){function b(b){a.call(this,b);this.array=[]}q(b,a);b.prototype._next=function(a){this.array.push(a)};b.prototype._complete=function(){this.destination.next(this.array);this.destination.complete()};return b}(h.Subscriber)},function(h,f,a){h=a(0);a=a(624);
+h.Observable.prototype.toPromise=a.toPromise},function(h,f,a){var q=a(16);f.toPromise=function(a){var f=this;a||(q.root.Rx&&q.root.Rx.config&&q.root.Rx.config.Promise?a=q.root.Rx.config.Promise:q.root.Promise&&(a=q.root.Promise));if(!a)throw Error("no Promise impl found");return new a(function(a,b){var c;f.subscribe(function(a){return c=a},function(a){return b(a)},function(){return a(c)})})}},function(h,f,a){h=a(0);a=a(626);h.Observable.prototype.window=a.window},function(h,f,a){var q=this&&this.__extends||
+function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(12);h=a(5);var n=a(6);f.window=function(a){return this.lift(new c(a))};var c=function(){function a(a){this.windowBoundaries=a}a.prototype.call=function(a,c){a=new b(a);c=c.subscribe(a);c.closed||a.add(n.subscribeToResult(a,this.windowBoundaries));return c};return a}(),b=function(a){function b(b){a.call(this,b);this.window=new p.Subject;
+b.next(this.window)}q(b,a);b.prototype.notifyNext=function(a,b,c,d,e){this.openWindow()};b.prototype.notifyError=function(a,b){this._error(a)};b.prototype.notifyComplete=function(a){this._complete()};b.prototype._next=function(a){this.window.next(a)};b.prototype._error=function(a){this.window.error(a);this.destination.error(a)};b.prototype._complete=function(){this.window.complete();this.destination.complete()};b.prototype._unsubscribe=function(){this.window=null};b.prototype.openWindow=function(){var a=
+this.window;a&&a.complete();a=this.destination;var b=this.window=new p.Subject;a.next(b)};return b}(h.OuterSubscriber)},function(h,f,a){h=a(0);a=a(628);h.Observable.prototype.windowCount=a.windowCount},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(3);var p=a(12);f.windowCount=function(a,c){void 0===c&&(c=0);return this.lift(new n(a,
+c))};var n=function(){function a(a,b){this.windowSize=a;this.startWindowEvery=b}a.prototype.call=function(a,b){return b.subscribe(new c(a,this.windowSize,this.startWindowEvery))};return a}(),c=function(a){function b(b,c,d){a.call(this,b);this.destination=b;this.windowSize=c;this.startWindowEvery=d;this.windows=[new p.Subject];this.count=0;b.next(this.windows[0])}q(b,a);b.prototype._next=function(a){for(var b=0<this.startWindowEvery?this.startWindowEvery:this.windowSize,c=this.destination,d=this.windowSize,
+e=this.windows,f=e.length,h=0;h<f&&!this.closed;h++)e[h].next(a);a=this.count-d+1;0<=a&&0===a%b&&!this.closed&&e.shift().complete();0!==++this.count%b||this.closed||(b=new p.Subject,e.push(b),c.next(b))};b.prototype._error=function(a){var b=this.windows;if(b)for(;0<b.length&&!this.closed;)b.shift().error(a);this.destination.error(a)};b.prototype._complete=function(){var a=this.windows;if(a)for(;0<a.length&&!this.closed;)a.shift().complete();this.destination.complete()};b.prototype._unsubscribe=function(){this.count=
+0;this.windows=null};return b}(h.Subscriber)},function(h,f,a){h=a(0);a=a(630);h.Observable.prototype.windowTime=a.windowTime},function(h,f,a){function q(a){var b=a.subscriber,c=a.windowTimeSpan,d=a.window;d&&b.closeWindow(d);a.window=b.openWindow();this.schedule(a,c)}function p(a){var b=a.windowTimeSpan,c=a.subscriber,d=a.scheduler,e=a.windowCreationInterval,f=c.openWindow(),g={action:this,subscription:null};g.subscription=d.schedule(n,b,{subscriber:c,window:f,context:g});this.add(g.subscription);
+this.schedule(a,e)}function n(a){var b=a.subscriber,c=a.window;(a=a.context)&&a.action&&a.subscription&&a.action.remove(a.subscription);b.closeWindow(c)}var c=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};h=a(12);var b=a(19),d=a(3),e=a(90),g=a(37);f.windowTime=function(a,c,d,f){var h=b.async,k=null,m=Number.POSITIVE_INFINITY;g.isScheduler(f)&&(h=f);g.isScheduler(d)?
+h=d:e.isNumeric(d)&&(m=d);g.isScheduler(c)?h=c:e.isNumeric(c)&&(k=c);return this.lift(new l(a,k,m,h))};var l=function(){function a(a,b,c,d){this.windowTimeSpan=a;this.windowCreationInterval=b;this.maxWindowSize=c;this.scheduler=d}a.prototype.call=function(a,b){return b.subscribe(new t(a,this.windowTimeSpan,this.windowCreationInterval,this.maxWindowSize,this.scheduler))};return a}(),k=function(a){function b(){a.apply(this,arguments);this._numberOfNextedValues=0}c(b,a);b.prototype.next=function(b){this._numberOfNextedValues++;
+a.prototype.next.call(this,b)};Object.defineProperty(b.prototype,"numberOfNextedValues",{get:function(){return this._numberOfNextedValues},enumerable:!0,configurable:!0});return b}(h.Subject),t=function(a){function b(b,c,d,e,f){a.call(this,b);this.destination=b;this.windowTimeSpan=c;this.windowCreationInterval=d;this.maxWindowSize=e;this.scheduler=f;this.windows=[];b=this.openWindow();null!==d&&0<=d?(e={windowTimeSpan:c,windowCreationInterval:d,subscriber:this,scheduler:f},this.add(f.schedule(n,c,
+{subscriber:this,window:b,context:null})),this.add(f.schedule(p,d,e))):this.add(f.schedule(q,c,{subscriber:this,window:b,windowTimeSpan:c}))}c(b,a);b.prototype._next=function(a){for(var b=this.windows,c=b.length,d=0;d<c;d++){var e=b[d];e.closed||(e.next(a),e.numberOfNextedValues>=this.maxWindowSize&&this.closeWindow(e))}};b.prototype._error=function(a){for(var b=this.windows;0<b.length;)b.shift().error(a);this.destination.error(a)};b.prototype._complete=function(){for(var a=this.windows;0<a.length;){var b=
+a.shift();b.closed||b.complete()}this.destination.complete()};b.prototype.openWindow=function(){var a=new k;this.windows.push(a);this.destination.next(a);return a};b.prototype.closeWindow=function(a){a.complete();var b=this.windows;b.splice(b.indexOf(a),1)};return b}(d.Subscriber)},function(h,f,a){h=a(0);a=a(632);h.Observable.prototype.windowToggle=a.windowToggle},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);
+a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(12),n=a(11),c=a(17),b=a(13);h=a(5);var d=a(6);f.windowToggle=function(a,b){return this.lift(new e(a,b))};var e=function(){function a(a,b){this.openings=a;this.closingSelector=b}a.prototype.call=function(a,b){return b.subscribe(new g(a,this.openings,this.closingSelector))};return a}(),g=function(a){function e(b,c,e){a.call(this,b);this.openings=c;this.closingSelector=e;this.contexts=[];this.add(this.openSubscription=d.subscribeToResult(this,
+c,c))}q(e,a);e.prototype._next=function(a){var b=this.contexts;if(b)for(var c=b.length,d=0;d<c;d++)b[d].window.next(a)};e.prototype._error=function(b){var c=this.contexts;this.contexts=null;if(c)for(var d=c.length,e=-1;++e<d;){var f=c[e];f.window.error(b);f.subscription.unsubscribe()}a.prototype._error.call(this,b)};e.prototype._complete=function(){var b=this.contexts;this.contexts=null;if(b)for(var c=b.length,d=-1;++d<c;){var e=b[d];e.window.complete();e.subscription.unsubscribe()}a.prototype._complete.call(this)};
+e.prototype._unsubscribe=function(){var a=this.contexts;this.contexts=null;if(a)for(var b=a.length,c=-1;++c<b;){var d=a[c];d.window.unsubscribe();d.subscription.unsubscribe()}};e.prototype.notifyNext=function(a,e,f,g,h){if(a===this.openings){g=c.tryCatch(this.closingSelector)(e);if(g===b.errorObject)return this.error(b.errorObject.e);a=new p.Subject;e=new n.Subscription;f={window:a,subscription:e};this.contexts.push(f);g=d.subscribeToResult(this,g,f);g.closed?this.closeWindow(this.contexts.length-
+1):(g.context=f,e.add(g));this.destination.next(a)}else this.closeWindow(this.contexts.indexOf(a))};e.prototype.notifyError=function(a){this.error(a)};e.prototype.notifyComplete=function(a){a!==this.openSubscription&&this.closeWindow(this.contexts.indexOf(a.context))};e.prototype.closeWindow=function(a){if(-1!==a){var b=this.contexts,c=b[a],d=c.window;c=c.subscription;b.splice(a,1);d.complete();c.unsubscribe()}};return e}(h.OuterSubscriber)},function(h,f,a){h=a(0);a=a(634);h.Observable.prototype.windowWhen=
+a.windowWhen},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(12),n=a(17),c=a(13);h=a(5);var b=a(6);f.windowWhen=function(a){return this.lift(new d(a))};var d=function(){function a(a){this.closingSelector=a}a.prototype.call=function(a,b){return b.subscribe(new e(a,this.closingSelector))};return a}(),e=function(a){function d(b,c){a.call(this,
+b);this.destination=b;this.closingSelector=c;this.openWindow()}q(d,a);d.prototype.notifyNext=function(a,b,c,d,e){this.openWindow(e)};d.prototype.notifyError=function(a,b){this._error(a)};d.prototype.notifyComplete=function(a){this.openWindow(a)};d.prototype._next=function(a){this.window.next(a)};d.prototype._error=function(a){this.window.error(a);this.destination.error(a);this.unsubscribeClosingNotification()};d.prototype._complete=function(){this.window.complete();this.destination.complete();this.unsubscribeClosingNotification()};
+d.prototype.unsubscribeClosingNotification=function(){this.closingNotification&&this.closingNotification.unsubscribe()};d.prototype.openWindow=function(a){void 0===a&&(a=null);a&&(this.remove(a),a.unsubscribe());(a=this.window)&&a.complete();a=this.window=new p.Subject;this.destination.next(a);a=n.tryCatch(this.closingSelector)();a===c.errorObject?(a=c.errorObject.e,this.destination.error(a),this.window.error(a)):this.add(this.closingNotification=b.subscribeToResult(this,a))};return d}(h.OuterSubscriber)},
+function(h,f,a){h=a(0);a=a(636);h.Observable.prototype.withLatestFrom=a.withLatestFrom},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(5);var p=a(6);f.withLatestFrom=function(){for(var a=[],c=0;c<arguments.length;c++)a[c-0]=arguments[c];var e;"function"===typeof a[a.length-1]&&(e=a.pop());return this.lift(new n(a,e))};var n=function(){function a(a,
+b){this.observables=a;this.project=b}a.prototype.call=function(a,b){return b.subscribe(new c(a,this.observables,this.project))};return a}(),c=function(a){function b(b,c,d){a.call(this,b);this.observables=c;this.project=d;this.toRespond=[];b=c.length;this.values=Array(b);for(d=0;d<b;d++)this.toRespond.push(d);for(d=0;d<b;d++){var e=c[d];this.add(p.subscribeToResult(this,e,e,d))}}q(b,a);b.prototype.notifyNext=function(a,b,c,d,f){this.values[c]=b;a=this.toRespond;0<a.length&&(c=a.indexOf(c),-1!==c&&
+a.splice(c,1))};b.prototype.notifyComplete=function(){};b.prototype._next=function(a){0===this.toRespond.length&&(a=[a].concat(this.values),this.project?this._tryProject(a):this.destination.next(a))};b.prototype._tryProject=function(a){try{var b=this.project.apply(this,a)}catch(l){this.destination.error(l);return}this.destination.next(b)};return b}(h.OuterSubscriber)},function(h,f,a){h=a(0);a=a(128);h.Observable.prototype.zip=a.zipProto},function(h,f,a){h=a(0);a=a(639);h.Observable.prototype.zipAll=
+a.zipAll},function(h,f,a){var q=a(128);f.zipAll=function(a){return this.lift(new q.ZipOperator(a))}},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(0),n=a(68),c=a(641),b=a(642),d=a(223),e=a(225);h=function(a){function f(b){a.call(this,e.VirtualAction,750);this.assertDeepEqual=b;this.hotObservables=[];this.coldObservables=[];this.flushTests=
+[]}q(f,a);f.prototype.createTime=function(a){a=a.indexOf("|");if(-1===a)throw Error('marble diagram for time should have a completion marker "|"');return a*f.frameTimeFactor};f.prototype.createColdObservable=function(a,b,d){if(-1!==a.indexOf("^"))throw Error('cold observable cannot have subscription offset "^"');if(-1!==a.indexOf("!"))throw Error('cold observable cannot have unsubscription marker "!"');a=f.parseMarbles(a,b,d);a=new c.ColdObservable(a,this);this.coldObservables.push(a);return a};f.prototype.createHotObservable=
+function(a,c,d){if(-1!==a.indexOf("!"))throw Error('hot observable cannot have unsubscription marker "!"');a=f.parseMarbles(a,c,d);a=new b.HotObservable(a,this);this.hotObservables.push(a);return a};f.prototype.materializeInnerObservable=function(a,b){var c=this,d=[];a.subscribe(function(a){d.push({frame:c.frame-b,notification:n.Notification.createNext(a)})},function(a){d.push({frame:c.frame-b,notification:n.Notification.createError(a)})},function(){d.push({frame:c.frame-b,notification:n.Notification.createComplete()})});
+return d};f.prototype.expectObservable=function(a,b){var c=this;void 0===b&&(b=null);var d=[],e={actual:d,ready:!1};b=f.parseMarblesAsSubscriptions(b).unsubscribedFrame;var g;this.schedule(function(){g=a.subscribe(function(a){var b=a;a instanceof p.Observable&&(b=c.materializeInnerObservable(b,c.frame));d.push({frame:c.frame,notification:n.Notification.createNext(b)})},function(a){d.push({frame:c.frame,notification:n.Notification.createError(a)})},function(){d.push({frame:c.frame,notification:n.Notification.createComplete()})})},
+0);b!==Number.POSITIVE_INFINITY&&this.schedule(function(){return g.unsubscribe()},b);this.flushTests.push(e);return{toBe:function(a,b,c){e.ready=!0;e.expected=f.parseMarbles(a,b,c,!0)}}};f.prototype.expectSubscriptions=function(a){var b={actual:a,ready:!1};this.flushTests.push(b);return{toBe:function(a){a="string"===typeof a?[a]:a;b.ready=!0;b.expected=a.map(function(a){return f.parseMarblesAsSubscriptions(a)})}}};f.prototype.flush=function(){for(var b=this.hotObservables;0<b.length;)b.shift().setup();
+a.prototype.flush.call(this);for(b=this.flushTests.filter(function(a){return a.ready});0<b.length;){var c=b.shift();this.assertDeepEqual(c.actual,c.expected)}};f.parseMarblesAsSubscriptions=function(a){if("string"!==typeof a)return new d.SubscriptionLog(Number.POSITIVE_INFINITY);for(var b=a.length,c=-1,e=Number.POSITIVE_INFINITY,f=Number.POSITIVE_INFINITY,g=0;g<b;g++){var h=g*this.frameTimeFactor,k=a[g];switch(k){case "-":case " ":break;case "(":c=h;break;case ")":c=-1;break;case "^":if(e!==Number.POSITIVE_INFINITY)throw Error("found a second subscription point '^' in a subscription marble diagram. There can only be one.");
+e=-1<c?c:h;break;case "!":if(f!==Number.POSITIVE_INFINITY)throw Error("found a second subscription point '^' in a subscription marble diagram. There can only be one.");f=-1<c?c:h;break;default:throw Error("there can only be '^' and '!' markers in a subscription marble diagram. Found instead '"+k+"'.");}}return 0>f?new d.SubscriptionLog(e):new d.SubscriptionLog(e,f)};f.parseMarbles=function(a,b,d,e){void 0===e&&(e=!1);if(-1!==a.indexOf("!"))throw Error('conventional marble diagrams cannot have the unsubscription marker "!"');
+var f=a.length,g=[],h=a.indexOf("^");h=-1===h?0:h*-this.frameTimeFactor;for(var k="object"!==typeof b?function(a){return a}:function(a){return e&&b[a]instanceof c.ColdObservable?b[a].messages:b[a]},l=-1,m=0;m<f;m++){var q=m*this.frameTimeFactor+h,p=void 0,r=a[m];switch(r){case "-":case " ":break;case "(":l=q;break;case ")":l=-1;break;case "|":p=n.Notification.createComplete();break;case "^":break;case "#":p=n.Notification.createError(d||"error");break;default:p=n.Notification.createNext(k(r))}p&&
+g.push({frame:-1<l?l:q,notification:p})}return g};return f}(e.VirtualTimeScheduler);f.TestScheduler=h},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var e in b)b.hasOwnProperty(e)&&(a[e]=b[e]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(0),n=a(11);h=a(222);a=a(224);p=function(a){function b(b,c){a.call(this,function(a){var b=this,c=b.logSubscribedFrame();a.add(new n.Subscription(function(){b.logUnsubscribedFrame(c)}));b.scheduleMessages(a);
+return a});this.messages=b;this.subscriptions=[];this.scheduler=c}q(b,a);b.prototype.scheduleMessages=function(a){for(var b=this.messages.length,c=0;c<b;c++){var d=this.messages[c];a.add(this.scheduler.schedule(function(a){a.message.notification.observe(a.subscriber)},d.frame,{message:d,subscriber:a}))}};return b}(p.Observable);f.ColdObservable=p;a.applyMixins(p,[h.SubscriptionLoggable])},function(h,f,a){var q=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var e in b)b.hasOwnProperty(e)&&
+(a[e]=b[e]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},p=a(12),n=a(11);h=a(222);a=a(224);p=function(a){function b(b,c){a.call(this);this.messages=b;this.subscriptions=[];this.scheduler=c}q(b,a);b.prototype._subscribe=function(b){var c=this,d=c.logSubscribedFrame();b.add(new n.Subscription(function(){c.logUnsubscribedFrame(d)}));return a.prototype._subscribe.call(this,b)};b.prototype.setup=function(){for(var a=this,b=a.messages.length,c=0;c<b;c++)(function(){var b=a.messages[c];
+a.scheduler.schedule(function(){b.notification.observe(a)},b.frame)})()};return b}(p.Subject);f.HotObservable=p;a.applyMixins(p,[h.SubscriptionLoggable])},function(h,f,a){h=a(644);a=a(646);f.animationFrame=new a.AnimationFrameScheduler(h.AnimationFrameAction)},function(h,f,a){var q=this&&this.__extends||function(a,c){function b(){this.constructor=a}for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d]);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)};h=a(69);var p=a(645);a=function(a){function c(b,
+c){a.call(this,b,c);this.scheduler=b;this.work=c}q(c,a);c.prototype.requestAsyncId=function(b,c,e){void 0===e&&(e=0);if(null!==e&&0<e)return a.prototype.requestAsyncId.call(this,b,c,e);b.actions.push(this);return b.scheduled||(b.scheduled=p.AnimationFrame.requestAnimationFrame(b.flush.bind(b,null)))};c.prototype.recycleAsyncId=function(b,c,e){void 0===e&&(e=0);if(null!==e&&0<e||null===e&&0<this.delay)return a.prototype.recycleAsyncId.call(this,b,c,e);0===b.actions.length&&(p.AnimationFrame.cancelAnimationFrame(c),
+b.scheduled=void 0)};return c}(h.AsyncAction);f.AnimationFrameAction=a},function(h,f,a){h=a(16);a=function(){return function(a){a.requestAnimationFrame?(this.cancelAnimationFrame=a.cancelAnimationFrame.bind(a),this.requestAnimationFrame=a.requestAnimationFrame.bind(a)):a.mozRequestAnimationFrame?(this.cancelAnimationFrame=a.mozCancelAnimationFrame.bind(a),this.requestAnimationFrame=a.mozRequestAnimationFrame.bind(a)):a.webkitRequestAnimationFrame?(this.cancelAnimationFrame=a.webkitCancelAnimationFrame.bind(a),
+this.requestAnimationFrame=a.webkitRequestAnimationFrame.bind(a)):a.msRequestAnimationFrame?(this.cancelAnimationFrame=a.msCancelAnimationFrame.bind(a),this.requestAnimationFrame=a.msRequestAnimationFrame.bind(a)):a.oRequestAnimationFrame?(this.cancelAnimationFrame=a.oCancelAnimationFrame.bind(a),this.requestAnimationFrame=a.oRequestAnimationFrame.bind(a)):(this.cancelAnimationFrame=a.clearTimeout.bind(a),this.requestAnimationFrame=function(f){return a.setTimeout(f,1E3/60)})}}();f.RequestAnimationFrameDefinition=
+a;f.AnimationFrame=new a(h.root)},function(h,f,a){var q=this&&this.__extends||function(a,f){function c(){this.constructor=a}for(var b in f)f.hasOwnProperty(b)&&(a[b]=f[b]);a.prototype=null===f?Object.create(f):(c.prototype=f.prototype,new c)};h=function(a){function f(){a.apply(this,arguments)}q(f,a);f.prototype.flush=function(a){this.active=!0;this.scheduled=void 0;var b=this.actions,c,e=-1,f=b.length;a=a||b.shift();do if(c=a.execute(a.state,a.delay))break;while(++e<f&&(a=b.shift()));this.active=
+!1;if(c){for(;++e<f&&(a=b.shift());)a.unsubscribe();throw c;}};return f}(a(70).AsyncScheduler);f.AnimationFrameScheduler=h},function(h,f,a){h=a(0);a.n(h);h.Observable.prototype.notNull=function(){return this.filter(function(a){return!!a}).map(function(a){return a})};h.Observable.prototype.unseen=function(a){$jscomp.initSymbol();var f=Symbol("marker");return this.filter(function(h){return!(a?a(h):h)[f]}).map(function(h){(a?a(h):h)[f]=!0;return h})};h.Observable.prototype.ofType=function(a){return this.filter(function(f){return f instanceof
 a}).map(function(a){return a})}}])});