@arcgis/core 5.1.0-next.24 → 5.1.0-next.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/README.md +4 -5
  2. package/assets/esri/core/workers/RemoteClient.js +1 -1
  3. package/assets/esri/core/workers/chunks/359d3ba9d6e3b1de05d1.js +1 -0
  4. package/assets/esri/core/workers/chunks/53817ef8c00d8cce4b8e.js +1 -0
  5. package/assets/esri/core/workers/chunks/{73e02f6c7ccc2013c812.js → 5fa5a2fb69f84e9092ba.js} +1 -1
  6. package/assets/esri/core/workers/chunks/{f1c1f7583fa13dff9b5c.js → 7fbee83c9463892f4808.js} +1 -1
  7. package/assets/esri/core/workers/chunks/{ef267b938327c41727c1.js → f89b7b0ccfbd1e5f9a0f.js} +1 -1
  8. package/assets/esri/libs/linkchartlayout/lclayout.wasm +0 -0
  9. package/assets/esri/libs/lyr3d/lyr3DMain.wasm +0 -0
  10. package/assets/esri/themes/base/widgets/_ResponsiveToolbar.scss +6 -0
  11. package/assets/esri/themes/dark/main.css +1 -1
  12. package/assets/esri/themes/light/main.css +1 -1
  13. package/assets/esri/themes/light/view.css +1 -1
  14. package/chunks/HUDMaterial.glsl.js +50 -35
  15. package/chunks/MeasurementArrow.glsl.js +5 -8
  16. package/chunks/lclayout.js +1 -1
  17. package/config.d.ts +2 -2
  18. package/config.js +1 -1
  19. package/core/workers.d.ts +1 -1
  20. package/editing/sharedTemplates/SharedTemplate.d.ts +12 -3
  21. package/editing/sharedTemplates/SharedTemplateMetadata.d.ts +11 -2
  22. package/editing/templateUtils.js +1 -1
  23. package/interfaces.d.ts +4 -12
  24. package/kernel.js +1 -1
  25. package/layers/mixins/ArcGISImageService.js +1 -1
  26. package/layers/support/FeatureReductionBinning.d.ts +3 -4
  27. package/layers/support/FeatureReductionBinning.js +1 -1
  28. package/layers/support/FeatureReductionCluster.d.ts +3 -4
  29. package/layers/support/FeatureReductionCluster.js +1 -1
  30. package/layers/support/featureReductionProperties.js +1 -1
  31. package/libs/linkchartlayout/LinkChartLayout.js +1 -1
  32. package/networks/UtilityNetwork.js +1 -1
  33. package/package.json +1 -1
  34. package/renderers/FlowRenderer.d.ts +6 -2
  35. package/support/revision.js +1 -1
  36. package/symbols/cim/types.d.ts +7 -0
  37. package/views/2d/analysis/AreaMeasurement/AreaMeasurementTool.js +1 -1
  38. package/views/2d/analysis/DistanceMeasurement/DistanceMeasurementTool.js +1 -1
  39. package/views/2d/engine/webgl/Overlay.js +1 -1
  40. package/views/2d/engine/webgl/shaderGraph/techniques/vectorTiles/VTLTechniqueCircle.js +1 -1
  41. package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
  42. package/views/2d/layers/GeoRSSLayerView2D.js +1 -1
  43. package/views/2d/layers/GraphicsLayerView2D.js +1 -1
  44. package/views/2d/layers/KMLLayerView2D.js +1 -1
  45. package/views/2d/layers/MediaLayerView2D.js +1 -1
  46. package/views/2d/layers/VectorTileLayerView2D.js +1 -1
  47. package/views/2d/layers/imagery/VectorFieldView2D.js +1 -1
  48. package/views/2d/types.d.ts +4 -3
  49. package/views/3d/GroundView3D.js +1 -1
  50. package/views/3d/environment/ChapmanAtmosphere.js +1 -1
  51. package/views/3d/environment/CloudsComposition.js +1 -1
  52. package/views/3d/environment/CloudsRenderer.js +1 -1
  53. package/views/3d/environment/Fog.js +1 -1
  54. package/views/3d/environment/LocalAtmosphere.js +1 -1
  55. package/views/3d/environment/MarsAtmosphere.js +1 -1
  56. package/views/3d/environment/NoiseTextureAtlas.js +1 -1
  57. package/views/3d/environment/Precipitation.js +1 -1
  58. package/views/3d/environment/PrecipitationTechnique.js +1 -1
  59. package/views/3d/layers/GraphicsLayerView3D.js +1 -1
  60. package/views/3d/layers/MediaLayerView3D.js +1 -1
  61. package/views/3d/layers/PointCloudLayerView3D.js +1 -1
  62. package/views/3d/layers/VectorTileLayerView3D.js +1 -1
  63. package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
  64. package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
  65. package/views/3d/layers/graphics/Graphics3DSymbolCreationContext.js +1 -1
  66. package/views/3d/layers/graphics/Graphics3DTextSymbolLayer.js +1 -1
  67. package/views/3d/layers/graphics/LabelParameters.js +1 -1
  68. package/views/3d/layers/graphics/Labeler.js +1 -1
  69. package/views/3d/types.d.ts +2 -1
  70. package/views/3d/webgl-engine/core/shaderTechnique/ShaderTechniqueRepository.js +1 -1
  71. package/views/3d/webgl-engine/effects/RenderNodes.js +1 -1
  72. package/views/3d/webgl-engine/effects/blit/Blit.js +1 -1
  73. package/views/3d/webgl-engine/effects/focusArea/FocusAreaColorNode.js +1 -1
  74. package/views/3d/webgl-engine/effects/focusArea/FocusAreaMaskNode.js +1 -1
  75. package/views/3d/webgl-engine/effects/glow/GlowBlurTechnique.js +1 -1
  76. package/views/3d/webgl-engine/effects/glow/GlowCompositionTechnique.js +1 -1
  77. package/views/3d/webgl-engine/effects/glow/GlowRenderNode.js +1 -1
  78. package/views/3d/webgl-engine/effects/haze/Haze.js +1 -1
  79. package/views/3d/webgl-engine/effects/highlight/Highlight.js +1 -1
  80. package/views/3d/webgl-engine/effects/highlight/ShadowHighlight.js +1 -1
  81. package/views/3d/webgl-engine/effects/laserlines/LaserLineRenderer.js +1 -1
  82. package/views/3d/webgl-engine/effects/magnifier/Magnifier.js +1 -1
  83. package/views/3d/webgl-engine/effects/smaa/SMAA.js +1 -1
  84. package/views/3d/webgl-engine/effects/ssao/SSAO.js +1 -1
  85. package/views/3d/webgl-engine/effects/stars/Stars.js +1 -1
  86. package/views/3d/webgl-engine/lib/CutFillColor.js +1 -1
  87. package/views/3d/webgl-engine/lib/CutFillDepth.js +1 -1
  88. package/views/3d/webgl-engine/lib/GaussianSplatRenderNode.js +1 -1
  89. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  90. package/views/3d/webgl-engine/lib/ShadowAccumulator.js +1 -1
  91. package/views/3d/webgl-engine/lib/Viewshed.js +1 -1
  92. package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
  93. package/views/3d/webgl-engine/shaders/HUDMaterial.glsl.js +1 -1
  94. package/views/3d/webgl-engine/shaders/HUDMaterialTechniqueConfiguration.js +1 -1
  95. package/views/3d/webgl-engine/shaders/MeasurementArrow.glsl.js +1 -1
  96. package/views/3d/webgl-engine/shaders/MeasurementArrowTechnique.js +1 -1
  97. package/views/3d/webgl-engine/shaders/MeasurementArrowTechniqueConfiguration.js +1 -1
  98. package/views/layers/GeoRSSLayerView.d.ts +5 -4
  99. package/views/layers/GeoRSSLayerView.js +2 -0
  100. package/views/layers/GraphicsLayerView.d.ts +21 -21
  101. package/views/layers/GraphicsLayerView.js +2 -0
  102. package/views/layers/KMLLayerView.d.ts +10 -10
  103. package/views/layers/KMLLayerView.js +2 -0
  104. package/views/layers/MediaLayerView.d.ts +90 -4
  105. package/views/layers/MediaLayerView.js +1 -1
  106. package/views/layers/VectorTileLayerView.d.ts +5 -5
  107. package/views/layers/VectorTileLayerView.js +2 -0
  108. package/widgets/Editor.js +1 -1
  109. package/widgets/Measurement.d.ts +1 -1
  110. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  111. package/widgets/Sketch/SketchViewModel.js +1 -1
  112. package/widgets/Sketch/support/ResponsiveToolbar/OverflowGroup.js +1 -1
  113. package/widgets/Sketch/support/ResponsiveToolbar/SplitButton.js +1 -1
  114. package/widgets/Sketch/support/ResponsiveToolbar/responsiveToolbarUtils.js +1 -1
  115. package/widgets/Sketch.js +1 -1
  116. package/widgets/ValuePicker.d.ts +1 -1
  117. package/assets/esri/core/workers/chunks/7642905920e169a147f3.js +0 -1
  118. package/assets/esri/core/workers/chunks/8aabc71d7f15c4407d7d.js +0 -1
  119. package/views/3d/layers/graphics/focusAreaStyle.js +0 -2
  120. package/views/layers/MediaLayerViewMixin.d.ts +0 -109
  121. package/views/layers/MediaLayerViewMixin.js +0 -2
@@ -554,7 +554,7 @@ vec3 rawNormal = textureLookup(normalTexture, uv).rgb * 2.0 - 1.0;`),v&&r.code.a
554
554
  normalTextureTransformMatrix[1][0]/scale[0], normalTextureTransformMatrix[1][1]/scale[1], 0.0,
555
555
  0.0, 0.0, 0.0 );
556
556
  rawNormal.xy = (normalRotation * vec3(rawNormal.x, rawNormal.y, 1.0)).xy;`),r.code.add(l.H`return tangentSpace * rawNormal;
557
- }`))}(e,t)}},14527(e,t,r){r.d(t,{n:()=>_t});var i=r(31821),n=r(12791),o=r(5482),s=r(34727),a=r(97768),l=r(36708),c=r(78659),u=r(91429),d=r(37585),h=r(69540);let m=class extends h.Pw{constructor(e){super(e),this.row=0,this.column=0,this.rows=1,this.columns=1}equals(e){return null!=e&&this.row===e.row&&this.rows===e.rows&&this.column===e.column&&this.columns===e.columns}};(0,o.Cg)([(0,u.MZ)({type:Number,nonNullable:!0,json:{read:!1,write:!1}})],m.prototype,"row",void 0),(0,o.Cg)([(0,u.MZ)({type:Number,nonNullable:!0,json:{read:!1,write:!1}})],m.prototype,"column",void 0),(0,o.Cg)([(0,u.MZ)({type:Number,nonNullable:!0,json:{read:!1,write:!1}})],m.prototype,"rows",void 0),(0,o.Cg)([(0,u.MZ)({type:Number,nonNullable:!0,json:{read:!1,write:!1}})],m.prototype,"columns",void 0),m=(0,o.Cg)([(0,u.$K)("esri.CameraLayout")],m);const p=m;var f=r(69052),g=r(25482),v=r(56507),_=r(86738),x=r(43937),y=r(36005);let w=class extends((0,h.OU)(g.o)){constructor(...e){super(...e),this.position=new _.A([0,0,0]),this.heading=0,this.tilt=0,this.fov=55,this.layout=new p}normalizeCtorArgs(e,t,r,i){if(e&&"object"==typeof e&&("x"in e||Array.isArray(e))){const n={position:e};return null!=t&&(n.heading=t),null!=r&&(n.tilt=r),null!=i&&(n.fov=i),n}return e}writePosition(e,t,r,i){const n=e.clone();n.x=(0,v.GB)(e.x||0),n.y=(0,v.GB)(e.y||0),n.z=e.hasZ?(0,v.GB)(e.z||0):e.z,t[r]=n.write({},i)}readPosition(e,t){const r=new _.A;return r.read(e,t),r.x=(0,v.GB)(r.x||0),r.y=(0,v.GB)(r.y||0),r.z=r.hasZ?(0,v.GB)(r.z||0):r.z,r}equals(e){return null!=e&&this.tilt===e.tilt&&this.heading===e.heading&&this.fov===e.fov&&this.position.equals(e.position)&&this.layout.equals(e.layout)}};(0,o.Cg)([(0,u.MZ)({type:_.A,json:{write:{isRequired:!0}}})],w.prototype,"position",void 0),(0,o.Cg)([(0,x.K)("position")],w.prototype,"writePosition",null),(0,o.Cg)([(0,y.w)("position")],w.prototype,"readPosition",null),(0,o.Cg)([(0,u.MZ)({type:Number,nonNullable:!0,json:{write:{isRequired:!0}}}),(0,u.wg)(e=>f.ie.normalize((0,v.GB)(e)))],w.prototype,"heading",void 0),(0,o.Cg)([(0,u.MZ)({type:Number,nonNullable:!0,json:{write:{isRequired:!0}}}),(0,u.wg)(e=>(0,s.qE)((0,v.GB)(e),-180,180))],w.prototype,"tilt",void 0),(0,o.Cg)([(0,u.MZ)({type:Number,nonNullable:!0,json:{default:55,write:!0}}),(0,u.wg)(e=>(0,s.qE)((0,v.GB)(e,55),1,170))],w.prototype,"fov",void 0),(0,o.Cg)([(0,u.MZ)({type:p,nonNullable:!0,json:{read:!1,write:!1}})],w.prototype,"layout",void 0),w=(0,o.Cg)([(0,u.$K)("esri.Camera")],w);var b=r(9093),M=r(35522),T=r(51850),S=r(16930),C=(r(48353),r(9762),r(65806)),A=r(27993),E=r(73941),R=(r(19419),r(71351)),I=r(69622),O=r(53966),F=r(90629),P=r(58083),D=r(48163),N=r(78955),H=r(91829),L=r(82919),B=r(44280);function z(e,t,r){e.worldUpAtPosition(t,U),(0,M.Re)(G,r,t);const i=(0,M.Bw)(G);return 0===i?0:(0,s.XM)((0,M.Om)(G,U)/i)}const U=(0,T.vt)(),G=(0,T.vt)();var V;let j=V=class extends I.A{constructor(e){super(e),this._ray=(0,R.vt)(),this._viewport=(0,H.fA)(0,0,1,1),this._padding=(0,H.fA)(0,0,0,0),this._fov=55/180*Math.PI,this._nearFar=(0,D.fA)(1,1e3),this._viewDirty=!0,this._viewMatrix=(0,b.vt)(),this._viewProjectionDirty=!0,this._viewProjectionMatrix=(0,b.vt)(),this._viewInverseTransposeMatrixDirty=!0,this._viewInverseTransposeMatrix=(0,b.vt)(),this._frustumDirty=!0,this._frustum=(0,L.vt)(),this._fullViewport=(0,H.vt)(),this._pixelRatio=1,this.row=0,this.column=0,this._rows=1,this._columns=1,this._center=(0,T.vt)(),this._up=(0,T.vt)(),this.relativeElevation=0}get pixelRatio(){return this._pixelRatio}set pixelRatio(e){this._pixelRatio=e>0?e:1}get rows(){return this._rows}set rows(e){this._rows=Math.max(1,e)}get columns(){return this._columns}set columns(e){this._columns=Math.max(1,e)}get eye(){return this._ray.origin}set eye(e){this._compareAndSetView(e,this._ray.origin)}get center(){return this._center}set center(e){this._compareAndSetView(e,this._center,"_center")}get ray(){return(0,M.Re)(this._ray.direction,this.center,this.eye),this._ray}get up(){return this._up}set up(e){this._compareAndSetView(e,this._up,"_up")}get viewMatrix(){return this._ensureViewClean(),this._viewMatrix}set viewMatrix(e){(0,P.C)(this._viewMatrix,e),this.notifyChange("_viewMatrix"),this._viewDirty=!1,this._viewInverseTransposeMatrixDirty=!0,this._viewProjectionDirty=!0,this._frustumDirty=!0}get viewForward(){return this._ensureViewClean(),(0,M.hZ)((0,T.vt)(),-this._viewMatrix[2],-this._viewMatrix[6],-this._viewMatrix[10])}get viewUp(){return this._ensureViewClean(),(0,M.hZ)((0,T.vt)(),this._viewMatrix[1],this._viewMatrix[5],this._viewMatrix[9])}get viewRight(){return this._ensureViewClean(),(0,M.hZ)((0,T.vt)(),this._viewMatrix[0],this._viewMatrix[4],this._viewMatrix[8])}get nearFar(){return this._nearFar}get near(){return this._nearFar[0]}set near(e){this._nearFar[0]!==e&&(this._nearFar[0]=e,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_nearFar"))}get far(){return this._nearFar[1]}set far(e){this._nearFar[1]!==e&&(this._nearFar[1]=e,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_nearFar"))}get viewport(){return this._viewport}set viewport(e){this.x=e[0],this.y=e[1],this.width=e[2],this.height=e[3]}get screenViewport(){if(1===this.pixelRatio)return this._viewport;const e=(0,N.hs)((0,H.vt)(),this._viewport,1/this.pixelRatio),t=this._get("screenViewport");return t&&(0,N.aI)(e,t)?t:e}get screenPadding(){if(1===this.pixelRatio)return this._padding;const e=(0,N.hs)((0,H.vt)(),this._padding,1/this.pixelRatio),t=this._get("screenPadding");return t&&(0,N.aI)(e,t)?t:e}get x(){return this._viewport[0]}set x(e){e+=this._padding[3],this._viewport[0]!==e&&(this._viewport[0]=e,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_viewport"))}get y(){return this._viewport[1]}set y(e){e+=this._padding[2],this._viewport[1]!==e&&(this._viewport[1]=e,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_viewport"))}get width(){return this._viewport[2]}set width(e){this._viewport[2]!==e&&(this._viewport[2]=e,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_viewport"))}get height(){return this._viewport[3]}set height(e){this._viewport[3]!==e&&(this._viewport[3]=e,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_viewport"))}get fullWidth(){return this._viewport[2]+this._padding[1]+this._padding[3]}set fullWidth(e){this.width=e-(this._padding[1]+this._padding[3])}get fullHeight(){return this._viewport[3]+this._padding[0]+this._padding[2]}set fullHeight(e){this.height=e-(this._padding[0]+this._padding[2])}get fullViewport(){return this._fullViewport[0]=this._viewport[0]-this._padding[3],this._fullViewport[1]=this._viewport[1]-this._padding[2],this._fullViewport[2]=this.fullWidth,this._fullViewport[3]=this.fullHeight,this._fullViewport}get _aspect(){return this.width/this.height}get padding(){return this._padding}set padding(e){(0,N.t2)(this._padding,e)||(this._viewport[0]+=e[3]-this._padding[3],this._viewport[1]+=e[2]-this._padding[2],this._viewport[2]-=e[1]+e[3]-(this._padding[1]+this._padding[3]),this._viewport[3]-=e[0]+e[2]-(this._padding[0]+this._padding[2]),(0,N.C)(this._padding,e),this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_padding"),this.notifyChange("_viewport"))}get viewProjectionMatrix(){return this._viewProjectionDirty&&((0,P.lw)(this._viewProjectionMatrix,this.projectionMatrix,this.viewMatrix),this._viewProjectionDirty=!1),this._viewProjectionMatrix}get projectionMatrix(){return this._projectionMatrixInternal}get inverseProjectionMatrix(){return(0,P.B8)((0,b.vt)(),this.projectionMatrix)||this._get("inverseProjectionMatrix")||(0,b.vt)()}get fov(){return this._fov}set fov(e){this._fov=e,this._viewProjectionDirty=!0,this._frustumDirty=!0}get fovX(){return e=this._fov,t=this.width,r=this.height,2*Math.atan(t*Math.tan(.5*e)/Math.sqrt(t*t+r*r));var e,t,r}set fovX(e){this._fov=function(e,t,r){return 2*Math.atan(Math.sqrt(t*t+r*r)*Math.tan(.5*e)/t)}(e,this.width,this.height),this._viewProjectionDirty=!0,this._frustumDirty=!0}get fovY(){return e=this._fov,t=this.width,r=this.height,2*Math.atan(r*Math.tan(.5*e)/Math.sqrt(t*t+r*r));var e,t,r}set fovY(e){this._fov=function(e,t,r){return 2*Math.atan(Math.sqrt(t*t+r*r)*Math.tan(.5*e)/r)}(e,this.width,this.height),this._viewProjectionDirty=!0,this._frustumDirty=!0}get distance(){return(0,M.Io)(this.center,this.eye)}get frustum(){return this._recomputeFrustum(),this._frustum}get viewInverseTransposeMatrix(){return(this._viewInverseTransposeMatrixDirty||this._viewDirty)&&((0,P.B8)(this._viewInverseTransposeMatrix,this.viewMatrix),(0,P.mg)(this._viewInverseTransposeMatrix,this._viewInverseTransposeMatrix),this._viewInverseTransposeMatrixDirty=!1),this._viewInverseTransposeMatrix}depthNDCToWorld(e){const{near:t,far:r}=this;return 2*t*r/(r+t-e*(r-t))}get perRenderPixelRatio(){return Math.tan(this.fovX/2)/(this.width/2)}get perScreenPixelRatio(){return this.perRenderPixelRatio*this.pixelRatio}get aboveGround(){return null!=this.relativeElevation&&this.relativeElevation>=0}get _projectionMatrixInternal(){const e=this.width,t=this.height,r=this.near*Math.tan(this.fovY/2)*2,i=r*this._aspect,n=r/this.rows,o=i/this.columns,s=-i/2+this.column*o,a=s+o,l=-r/2+this.row*n,c=l+n,u=(0,P.$h)((0,b.vt)(),s*(1+2*this._padding[3]/e),a*(1+2*this._padding[1]/e),l*(1+2*this._padding[2]/t),c*(1+2*this._padding[0]/t),this.near,this.far),d=this._get("projectionMatrix");return d&&(0,P.aI)(d,u)?d:u}copyFrom(e){(0,M.C)(this._ray.origin,e.eye),this.center=e.center,this.up=e.up,(0,N.C)(this._viewport,e.viewport),this.notifyChange("_viewport"),(0,N.C)(this._padding,e.padding),this.notifyChange("_padding"),(0,d.C)(this._nearFar,e.nearFar),this.notifyChange("_nearFar"),this._fov=e.fov,this.row=e.row,this.column=e.column,this.rows=e.rows,this.columns=e.columns,this.relativeElevation=e.relativeElevation;const t=e;return this._viewDirty=t._viewDirty,this._viewDirty||((0,P.C)(this._viewMatrix,e.viewMatrix),this.notifyChange("_viewMatrix")),this._viewProjectionDirty=!0,this._frustumDirty=t._frustumDirty,this._frustumDirty||((0,L.C)(this._frustum,e.frustum),this._frustumDirty=!1),t._viewInverseTransposeMatrixDirty?this._viewInverseTransposeMatrixDirty=!0:((0,P.C)(this._viewInverseTransposeMatrix,e.viewInverseTransposeMatrix),this._viewInverseTransposeMatrixDirty=!1),(0,N.C)(this._fullViewport,e.fullViewport),this.pixelRatio=e.pixelRatio,this}copyViewFrom(e){this.eye=e.eye,this.center=e.center,this.up=e.up,this.fov=e.fov}clone(){return(new V).copyFrom(this)}equals(e){return(0,M.t2)(this.eye,e.eye)&&(0,M.t2)(this.center,e.center)&&(0,M.t2)(this.up,e.up)&&(0,N.t2)(this._viewport,e.viewport)&&(0,N.t2)(this._padding,e.padding)&&(0,d.t2)(this.nearFar,e.nearFar)&&this._fov===e.fov&&this.pixelRatio===e.pixelRatio&&this.relativeElevation===e.relativeElevation&&this.row===e.row&&this.column===e.column&&this.rows===e.rows&&this.columns===e.columns}almostEquals(e){const t=Math.max(1,1/this.pixelRatio,1/e.pixelRatio);if(Math.abs(e.fov-this._fov)>=.001||(0,N.hG)(e.screenPadding,this.screenPadding)>=t||(0,N.hG)(this.screenViewport,e.screenViewport)>=t||this.row!==e.row||this.column!==e.column||this.rows!==e.rows||this.columns!==e.columns)return!1;(0,M.jb)(Z,e.eye,e.center),(0,M.jb)($,this.eye,this.center);const r=(0,M.Om)(Z,$),i=(0,M.uE)(Z),n=(0,M.uE)($),o=5e-4;return r*r>=(1-1e-10)*i*n&&(0,M.lo)(e.eye,this.eye)<Math.max(i,n)*o*o}computeRenderPixelSizeAt(e){return this.computeRenderPixelSizeAtDist(this._viewDirectionDistance(e))}computeRenderPixelSizeAtDist(e){return e*this.perRenderPixelRatio}computeScreenPixelSizeAt(e){return this.computeScreenPixelSizeAtDist(this._viewDirectionDistance(e))}_viewDirectionDistance(e){return Math.abs((0,B.gr)(this.viewForward,(0,M.Re)(Z,e,this.eye)))}computeScreenPixelSizeAtDist(e){return e*this.perScreenPixelRatio}computeDistanceFromRadius(e,t){return e/Math.tan(Math.min(this.fovX,this.fovY)/(2*(t||1)))}getScreenCenter(e=(0,F.gs)()){return e[0]=(this.padding[3]+this.width/2)/this.pixelRatio,e[1]=(this.padding[0]+this.height/2)/this.pixelRatio,e}getRenderCenter(e,t=.5,r=.5){return e[0]=this.padding[3]+this.width*t,e[1]=this.padding[2]+this.height*r,e[2]=.5,e}setGLViewport(e){const t=this.viewport,r=this.padding;e.setViewport(t[0]-r[3],t[1]-r[2],t[2]+r[1]+r[3],t[3]+r[0]+r[2])}applyProjection(e,t){e!==W&&(0,M.C)(W,e),W[3]=1,(0,N.Z0)(W,W,this.projectionMatrix);const r=Math.abs(W[3]);(0,M.hs)(W,W,1/r);const i=this.fullViewport;t[0]=(0,s.Cc)(0,i[0]+i[2],.5+.5*W[0]),t[1]=(0,s.Cc)(0,i[1]+i[3],.5+.5*W[1]),t[2]=.5*(W[2]+1),t[3]=r}unapplyProjection(e,t){const r=this.fullViewport;W[0]=(e[0]/(r[0]+r[2])*2-1)*e[3],W[1]=(e[1]/(r[1]+r[3])*2-1)*e[3],W[2]=(2*e[2]-1)*e[3],W[3]=e[3],null!=this.inverseProjectionMatrix&&((0,N.Z0)(W,W,this.inverseProjectionMatrix),t[0]=W[0],t[1]=W[1],t[2]=W[2])}projectToScreen(e,t){return this.projectToRenderScreen(e,q),this.renderToScreen(q,t),t}projectToRenderScreen(e,t){if(W[0]=e[0],W[1]=e[1],W[2]=e[2],W[3]=1,(0,N.Z0)(W,W,this.viewProjectionMatrix),0===W[3])return null;const r=W;(0,M.hs)(r,r,1/Math.abs(W[3]));const i=this.fullViewport,n=(0,s.Cc)(0,i[0]+i[2],.5+.5*r[0]),o=(0,s.Cc)(0,i[1]+i[3],.5+.5*r[1]);return"x"in t?(t.x=n,t.y=o):(t[0]=n,t[1]=o,t.length>2&&(t[2]=.5*(r[2]+1))),t}unprojectFromScreen(e,t){return this.unprojectFromRenderScreen(this.screenToRender(e,q),t)}unprojectFromRenderScreen(e,t){if((0,P.lw)(k,this.projectionMatrix,this.viewMatrix),!(0,P.B8)(k,k))return null;const r=this.fullViewport;return W[0]=2*(e[0]-r[0])/r[2]-1,W[1]=2*(e[1]-r[1])/r[3]-1,W[2]=2*e[2]-1,W[3]=1,(0,N.Z0)(W,W,k),0===W[3]?null:(t[0]=W[0]/W[3],t[1]=W[1]/W[3],t[2]=W[2]/W[3],t)}constrainWindowSize(e,t,r,i){const n=e*this.pixelRatio,o=t*this.pixelRatio,s=Math.max(n-r/2,0),a=Math.max(this.fullHeight-o-i/2,0),l=-Math.min(n-r/2,0),c=-Math.min(this.fullHeight-o-i/2,0),u=r-l- -Math.min(this.fullWidth-n-r/2,0),d=i-c- -Math.min(o-i/2,0);return[Math.round(s),Math.round(a),Math.round(u),Math.round(d)]}computeUp(e){1===e?this._computeUpGlobal():this._computeUpLocal()}screenToRender(e,t){const r=e[0]*this.pixelRatio,i=this.fullHeight-e[1]*this.pixelRatio;return t[0]=r,t[1]=i,t}renderToScreen(e,t){const r=e[0]/this.pixelRatio,i=(this.fullHeight-e[1])/this.pixelRatio;t[0]=r,t[1]=i}sphereFrustumCoverage(e,t){const{center:r,eye:i,distance:n,fovY:o}=this,s=Math.abs(Math.PI/2-z(t,r,i));return e.frustumCoverage(s,n,o)}_computeUpGlobal(){(0,M.Re)(Z,this.center,this.eye);const e=(0,M.Bw)(this.center);e<1?(0,M.t2)(this._up,T.Cb)&&((0,M.C)(this._up,T.Cb),this._markViewDirty(),this.notifyChange("_up")):Math.abs((0,M.Om)(Z,this.center))>.9999*(0,M.Bw)(Z)*e||((0,M.$A)($,Z,this.center),(0,M.$A)($,$,Z),(0,M.S8)($,$),(0,M.t2)(this._up,$)||((0,M.C)(this._up,$),this.notifyChange("_up"),this._markViewDirty()))}_computeUpLocal(){(0,M.oW)(Z,this.eye,this.center),Math.abs(Z[2])<=.9999&&((0,M.hs)(Z,Z,Z[2]),(0,M.hZ)(Z,-Z[0],-Z[1],1-Z[2]),(0,M.S8)(Z,Z),(0,M.t2)(this._up,Z)||((0,M.C)(this._up,Z),this.notifyChange("_up"),this._markViewDirty()))}_compareAndSetView(e,t,r=""){"number"==typeof e[0]&&isFinite(e[0])&&"number"==typeof e[1]&&isFinite(e[1])&&"number"==typeof e[2]&&isFinite(e[2])?(0,M.t2)(e,t)||((0,M.C)(t,e),this._markViewDirty(),r.length&&this.notifyChange(r)):O.A.getLogger("esri.views.3d.webgl-engine.lib.RenderCamera").warn("RenderCamera vector contains invalid number, ignoring value")}_markViewDirty(){this._viewDirty=!0,this._frustumDirty=!0,this._viewProjectionDirty=!0}_recomputeFrustum(){this._frustumDirty&&((0,L.ui)(this.viewMatrix,this.projectionMatrix,this._frustum),this._frustumDirty=!1)}_ensureViewClean(){this._viewDirty&&((0,P.t5)(this._viewMatrix,this.eye,this.center,this.up),this.notifyChange("_viewMatrix"),this._viewDirty=!1,this._viewInverseTransposeMatrixDirty=!0)}};(0,o.Cg)([(0,u.MZ)()],j.prototype,"_viewport",void 0),(0,o.Cg)([(0,u.MZ)()],j.prototype,"_padding",void 0),(0,o.Cg)([(0,u.MZ)()],j.prototype,"_fov",void 0),(0,o.Cg)([(0,u.MZ)()],j.prototype,"_nearFar",void 0),(0,o.Cg)([(0,u.MZ)()],j.prototype,"_viewDirty",void 0),(0,o.Cg)([(0,u.MZ)()],j.prototype,"_viewMatrix",void 0),(0,o.Cg)([(0,u.MZ)()],j.prototype,"_pixelRatio",void 0),(0,o.Cg)([(0,u.MZ)()],j.prototype,"pixelRatio",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"row",void 0),(0,o.Cg)([(0,u.MZ)()],j.prototype,"column",void 0),(0,o.Cg)([(0,u.MZ)()],j.prototype,"_rows",void 0),(0,o.Cg)([(0,u.MZ)()],j.prototype,"rows",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"_columns",void 0),(0,o.Cg)([(0,u.MZ)()],j.prototype,"columns",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"eye",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"center",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"_center",void 0),(0,o.Cg)([(0,u.MZ)()],j.prototype,"up",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"_up",void 0),(0,o.Cg)([(0,u.MZ)()],j.prototype,"viewMatrix",null),(0,o.Cg)([(0,u.MZ)({readOnly:!0})],j.prototype,"viewForward",null),(0,o.Cg)([(0,u.MZ)({readOnly:!0})],j.prototype,"viewUp",null),(0,o.Cg)([(0,u.MZ)({readOnly:!0})],j.prototype,"viewRight",null),(0,o.Cg)([(0,u.MZ)({readOnly:!0})],j.prototype,"nearFar",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"near",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"far",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"viewport",null),(0,o.Cg)([(0,u.MZ)({readOnly:!0})],j.prototype,"screenViewport",null),(0,o.Cg)([(0,u.MZ)({readOnly:!0})],j.prototype,"screenPadding",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"x",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"y",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"width",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"height",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"fullWidth",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"fullHeight",null),(0,o.Cg)([(0,u.MZ)({readOnly:!0})],j.prototype,"_aspect",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"padding",null),(0,o.Cg)([(0,u.MZ)({readOnly:!0})],j.prototype,"projectionMatrix",null),(0,o.Cg)([(0,u.MZ)({readOnly:!0})],j.prototype,"inverseProjectionMatrix",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"fov",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"fovX",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"fovY",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"viewInverseTransposeMatrix",null),(0,o.Cg)([(0,u.MZ)({readOnly:!0})],j.prototype,"_projectionMatrixInternal",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"relativeElevation",void 0),j=V=(0,o.Cg)([(0,u.$K)("esri.views.3d.webgl.RenderCamera")],j);const W=(0,H.vt)(),k=(0,b.vt)(),Z=(0,T.vt)(),$=(0,T.vt)(),q=(0,F.r_)();r(49718),r(6867),r(16396),(0,T.vt)(),(0,T.vt)(),(0,T.vt)();var Y=r(5443),X=r(39829),K=r(95108);function J(e,t,r,i){const n=function(e,t){const r=0===t||2===t?0:1,i=e[t],n=0===t||1===t?1:-1,o=0===r?1:0;return(e,t,s)=>{if(t[r]<i&&s[r]<i)return 1===n?0:1;if(t[r]>i&&s[r]>i)return 1===n?1:0;const a=(s[o]-t[o])/(s[r]-t[r]),l=t[o]+a*(i-t[r]);return e[r]=i,e[o]=l,(t[r]<i?1:-1)*n>0?2:3}}(r,i);if(e.length=0,t.length){1===n(ee,t[0],t[0])&&Q(e,t[0]);for(let r=0;r<t.length;r++){const i=t[r===t.length-1?0:r+1];switch(n(ee,t[r],i)){case 1:Q(e,i);break;case 3:Q(e,(0,D.o8)(ee));break;case 2:Q(e,(0,D.o8)(ee)),Q(e,i)}}}}function Q(e,t){0!==e.length&&(0,d.aI)(e.at(-1),t)||e.push(t)}const ee=(0,D.vt)();var te=r(11964),re=r(27921);const ie=(0,T.vt)(),ne=(0,T.vt)();function oe(){return{direction:(0,T.vt)(),up:(0,T.vt)()}}function se(e,t,r,i,n){let o=(0,M.S8)(ie,e),a=(0,M.Om)(o,i);const l=a>0;a=Math.abs(a),a>.99&&(a=Math.abs((0,M.Om)(t,i)),a<.99?((0,M.C)(o,t),l&&(0,M.hs)(o,o,-1)):o=null);let c=0;if(o){(0,M.hs)(ne,i,(0,M.Om)(i,o)),(0,M.Re)(o,o,ne);const e=(0,M.Om)(o,n)/((0,M.Bw)(o)*(0,M.Bw)(n));(0,M.$A)(ne,o,n),c=((0,M.Om)(ne,i)>0?1:-1)*(0,s.KJ)((0,s.XM)(e))}const u=(0,s.KJ)((0,s.XM)(-(0,M.Om)(i,e)/(0,M.Bw)(e)));return r?(r.heading=c,r.tilt=u,r):{heading:c,tilt:u}}function ae(e,t,r,i){(0,M.Re)(le,r,t),(0,re.T7)(i,(0,te.LV)(t,le),e)||e===r||(0,M.C)(e,r)}const le=(0,T.vt)(),ce=(0,T.fA)(0,1,0),ue=(0,T.fA)(0,0,1),de=(0,b.vt)(),he=(0,T.vt)(),me=(0,T.vt)();function pe(e,t,r,i=oe()){const{direction:n,up:o}=i;return(0,P.N9)(de,-(0,s.kU)(t)),(0,P.eL)(de,de,(0,s.kU)(r)),(0,M.Z0)(n,ue,de),(0,M.hs)(n,n,-1),(0,M.Z0)(o,ce,de),i}function fe(e,t,r,i,n){const o=t.lines[11].direction,s=(n-r.getAltitude(i))/o[2];(0,M.Ln)(e,i,o,s)}const ge=(0,T.vt)();Object.freeze(Object.defineProperty({__proto__:null,directionToHeadingTilt:function(e,t,r,i){return se(t,r,i,ue,ce)},eyeForCenterWithHeadingTilt:function(e,t,r,i){const n=pe(0,r,i),o=(0,T.vt)();return(0,M.hs)(o,n.direction,-t),(0,M.WQ)(o,o,e),{up:n.up,eye:o,heading:r,tilt:i}},eyeTiltToLookAtTilt:function(e){return(0,s.kU)(e)},headingTiltToDirectionUp:pe,lookAtTiltToEyeTilt:function(e){return(0,s.KJ)(e)},toArea:function(e,t){const r=e.frustum,{renderCoordsHelper:i}=e,n=i.getAltitude(t),o=e.spatialReference,s=e.state.camera.eye,a=[],l=r.planes[5];for(let e=0;e<4;e++){const t=r.lines[e];i.intersectInfiniteManifold((0,R.LV)(t.origin,t.direction),n,ge)||fe(ge,r,i,t.endpoint,n),ae(ge,s,ge,l),a.push((0,D.fA)(ge[0],ge[1]))}return function(e,t,r){const i=e.map(e=>((0,M.hZ)(ge,e[0],e[1],0),t.fromRenderCoords(ge,ge,r),[ge[0],ge[1]]));return i.length<=2?new X.A({spatialReference:r}):(i.push(i[0].slice()),(0,K.$3)(i)||i.reverse(),new X.A({rings:[i],spatialReference:r}))}(function(e,t){const r=[],i=[];return J(r,e,t,0),J(i,r,t,1),J(r,i,t,2),J(i,r,t,3),i}(a,i.extent),i,o)},toExtent:function(e,t,r,i,n){const o=e.renderSpatialReference,s=e.spatialReference??t.spatialReference;return(0,C.g)(t,he,o),(0,C.g)(t,me,o),he[0]-=r/2,me[0]+=r/2,he[1]-=i/2,me[1]+=i/2,(0,A.F)(he,o,he,s),(0,A.F)(me,o,me,s),n?(n.xmin=he[0],n.ymin=he[1],n.xmax=me[0],n.ymax=me[1],n.spatialReference=s):n=new Y.A(he[0],he[1],me[0],me[1],s),n}},Symbol.toStringTag,{value:"Module"}));var ve=r(34304),_e=r(17136),xe=r(94008),ye=r(28735);class we{get planes(){return this.frustum}get points(){return this._points}get mutablePoints(){return this._points}get direction(){return this._direction}get origin(){return this._origin}get boundingSphere(){return this._boundingSphereDirty&&this._updateBoundingSphere(),this._boundingSphere}constructor(e){this.renderCoordsHelper=e,this.frustum=(0,L.vt)(),this._points=(0,L.Qy)(),this.lines=new Array(12),this._origin=(0,T.vt)(),this._direction=(0,T.vt)(),this._boundingSphere=new xe.iy,this._altitude=null,this._boundingSphereDirty=!0;for(let e=0;e<12;e++)this.lines[e]={origin:null,direction:(0,T.vt)(),endpoint:null}}update(e){(0,L.ui)(e.viewMatrix,e.projectionMatrix,this.frustum,this._points),(0,M.C)(this._origin,e.eye),(0,M.C)(this._direction,e.viewForward),this._altitude=this.renderCoordsHelper.getAltitude(this._origin),this._updateLines(),this._boundingSphereDirty=!0}updatePoints(e){for(let t=0;t<this._points.length;t++)(0,M.C)(this._points[t],e[t]);(0,L.DV)(this.frustum,this._points),this._updateLines()}get altitude(){return this._altitude}intersectsSphere(e){return(0,L.m7)(this.frustum,e)}intersectsRay(e){return(0,L.pw)(this.frustum,e)}intersectsLineSegment(e,t){return(0,L.ST)(this.frustum,e,t)}intersectsPoint(e){return(0,L.bU)(this.frustum,e)}_updateLines(){const e=this._points;for(let t=0;t<4;t++){const r=t+4;be(this.lines[t],e[t],e[r]),be(this.lines[t+4],e[t],3===t?e[0]:e[t+1]),be(this.lines[t+8],e[r],3===t?e[4]:e[r+1])}}_updateBoundingSphere(){const{origin:e}=this,t=Te;(0,M.S8)(t,this.direction);const r=Me;(0,M.jb)(r,this.points[4],e);const i=.5*(0,M.Om)(r,r)/(0,M.Om)(t,r),n=this._boundingSphere,o=(0,M.Ln)(Se,e,t,i);n.center=o,n.radius=i}static{this.planePointIndices=L.c8}static{this.nearFarLineIndices=[[0,4],[1,5],[2,6],[3,7]]}}function be(e,t,r){e.origin=t,e.endpoint=r,(0,M.oW)(e.direction,t,r)}const Me=(0,T.vt)(),Te=(0,T.vt)(),Se=(0,T.vt)();r(86211);const Ce=(0,T.fA)(5802e-9,13558e-9,331e-7),Ae=(0,T.fA)(65e-8*3,5643e-9,255e-9);(0,T.fA)(Ce[0]+Ae[0],Ce[1]+Ae[1],Ce[2]+Ae[2]);class Ee{constructor(e=1/0,t=-1/0){this.near=e,this.far=t}set(e,t){this.near=e,this.far=t}union(e){return null!=e&&(this.near=Math.min(this.near,e.near),this.far=Math.max(this.far,e.far)),this}within(e){return this.near<=e&&e<=this.far}equals(e){return this.near===e.near&&this.far===e.far}static{this.Zero=new Ee(0,0)}static{this.Infinite=new Ee}}(0,T.vt)(),(0,T.vt)(),new xe.iy,(0,R.vt)(),new Y.A({xmin:0,ymin:0,zmin:0,xmax:0,ymax:0,zmax:0});var Re=r(32728);const Ie=(0,T.fA)(0,0,1),Oe=(0,M.S8)((0,T.vt)(),(0,T.fA)(1,1,1)),Fe=(0,b.vt)(),Pe=(0,T.vt)(),De=(0,T.vt)();function Ne(e,t,r,i=oe()){(0,M.$A)(Pe,e,Ie),0===(0,M.Om)(Pe,Pe)&&(0,M.$A)(Pe,e,Oe),(0,P.$0)(Fe,-(0,s.kU)(t),e),(0,P.e$)(Fe,Fe,-(0,s.kU)(r),Pe);const{up:n,direction:o}=i;return(0,M.$A)(n,Pe,e),(0,M.S8)(n,n),(0,M.Z0)(n,n,Fe),(0,M.S8)(o,e),(0,M.ze)(o,o),(0,M.Z0)(o,o,Fe),i}function He(e){const t=e[1];e[1]=-e[2],e[2]=t}function Le(e,t){const r=Ne(t,e.heading,e.tilt);return e.up=r.up,e}function Be(e,t){const r=[],i=[],n=(0,ve.FD)();for(let o=0;o<e.length;o++){const s=e[o],a=o===e.length-1?e[0]:e[o+1],l=(0,te.Cr)(s,a,Ze),c=(0,re.vE)(t,l.origin,l.vector,0,We);switch(c){case 2:r.push(s);break;case 3:i.push(s);break;case 0:case 1:{const[e,o,a]=0===c?[1,r,i]:[-1,i,r],l=(0,re.Qj)(t),u=(0,M.Ln)((0,T.vt)(),We,l,e*n),d=(0,M.Ln)((0,T.vt)(),We,l,e*-n);o.push(s),o.push(u),a.push(d)}}}const o=[];return r.length&&o.push(r),i.length&&o.push(i),o}const ze={minCurvature:(0,s.kU)(5),maxCurvature:(0,s.kU)(50),minSamples:1,maxSamples:6},Ue=(0,T.fA)(1,0,0),Ge=(0,T.fA)(0,1,0),Ve=(0,T.vt)(),je=(0,T.vt)(),We=(0,T.vt)(),ke=new xe.iy,Ze=(0,te.vt)(),$e=(0,H.vt)();Object.freeze(Object.defineProperty({__proto__:null,directionToHeadingTilt:function(e,t,r,i){const n=Pe,o=De;return(0,M.S8)(n,e),(0,M.$A)(De,n,Ie),0===(0,M.Om)(De,De)&&(0,M.$A)(De,n,Oe),(0,M.$A)(o,De,n),se(t,r,i,n,o)},eyeForCenterWithHeadingTilt:function(e,t,r,i){const n={eye:(0,T.vt)(),up:null,tilt:i,heading:r},o=Pe;o[0]=e[0],o[1]=e[2],o[2]=-e[1];const a=t,l=(0,s.kU)(r),c=(0,s.kU)(i),u=Math.sin(l),d=Math.cos(l),h=Math.sin(c),m=Math.cos(c),p=(0,M.Bw)(o);let f;if(Math.abs(c)<1e-8)f=a+p;else{const e=p/h,t=(0,s.YN)(a/e),r=Math.PI-c-t;f=e*Math.sin(r)}const g=m*a,v=a*a*(h*h),_=d*d*v,x=f-g,y=x*x,w=_*(_+y-o[1]*o[1]);if(w<0)return(0,M.hs)(n.eye,o,f/p),n.tilt=0,Le(n,e);const b=Math.sqrt(w),S=o[1]*x,C=_+y;let A;if(A=d>0?-b+S:b+S,Math.abs(C)<1e-8)return p<1e-8?(n.eye[0]=0,n.eye[1]=0,n.eye[2]=a):(0,M.hs)(n.eye,o,f/p),n.tilt=0,He(n.eye),Le(n,e);n.eye[1]=A/C;const E=u*u*v,R=h*a,I=d*R*n.eye[1],O=n.eye[1]*n.eye[1],F=1-O,P=Math.sqrt(F),D=_*O+E-2*I*P*x+F*y;return Math.abs(D)<1e-8?((0,M.hs)(n.eye,o,f/p),n.tilt=0,He(n.eye),Le(n,e)):(n.eye[0]=(F*(f*o[0]-g*o[0])-R*P*(o[0]*n.eye[1]*d+o[2]*u))/D,n.eye[2]=(F*(f*o[2]-g*o[2])-R*P*(o[2]*n.eye[1]*d-o[0]*u))/D,(0,M.hs)(n.eye,n.eye,f),He(n.eye),Le(n,e))},eyeTiltToLookAtTilt:function(e,t,r){const i=(0,s.kU)(e),n=(0,M.Bw)(t);return(0,s.YN)(r/(n/Math.sin(i)))+i},headingTiltToDirectionUp:Ne,lookAtTiltToEyeTilt:function(e,t,r){const i=(0,M.Bw)(t),n=Math.sqrt(r*r+i*i-2*r*i*Math.cos(Math.PI-e)),o=(0,s.YN)(r/(n/Math.sin(e)));return(0,s.KJ)(e-o)},toArea:function(e,t){const{renderCoordsHelper:r}=e,i=e.state.camera.clone(),n=new we(r);i.near=2,n.update(i);const o=r.getAltitude(t),a=e.spatialReference,l=r.referenceEllipsoid.radius,c=i.eye,u=1+(0,M.Io)(c,t)/(l+o),d=Math.sqrt(u*u-1),{minCurvature:h,maxCurvature:m,minSamples:p,maxSamples:f}=ze,g=function(e){const{renderCoordsHelper:t,state:r}=e,i=Math.abs(t.getAltitude(r.camera.center));return ke.radius=t.referenceEllipsoid.radius+i,r.camera.sphereFrustumCoverage(ke,t)}(e),v=(0,s.qE)((d-h)/(m-h),0,1),_=Math.round((0,s.Cc)(p,f,v)),x=i.aboveGround,y=n.planes[5],w=[],b=(0,re.O_)(T.uY,Ue,(0,re.vt)()),S=(0,re.O_)(T.uY,Ge,(0,re.vt)());(0,N.hZ)($e,0,0,0,0);const C=e=>{};for(let e=0;e<4;e++){const t=1===e&&!x||3===e&&x?1-g:0,i=1===e&&x||3===e&&!x?g:1,a=n.lines[e],l=n.lines[3===e?0:e+1];for(let n=0;n<_;n++){const u=n/_,d=0===n?0:(0,s.Cc)(t,i,1===e?1-(1-u)**2:3===e?u**2:u),h=(0,M.Cc)(je,a.origin,l.origin,d),m=(0,Re.nu)(a.direction,l.direction,d,Ve);r.intersectManifoldClosestSilhouette((0,R.LV)(h,m),o,We),ae(We,c,We,y),w.push((0,T.o8)(We)),0!==w.length&&C((0,M.lo)(w.at(-1),We));const p=((0,re.Tj)(b,We)?1:0)|((0,re.Tj)(S,We)?2:0);$e[p]=1}}w.length>2&&(0,M.lo)(w[0],w.at(-1));const A=function(e,t,r){const i=2*(0,ve.FD)();return e.map(e=>{const n=[];let o=!1;for(const s of e)t.fromRenderCoords(s,We,r),Math.abs(s[0])<i&&Math.abs(s[1])<i?(n.push([null,We[1]]),n.push([null,We[1]]),o=!0):n.push([We[0],We[1]]);if(o)for(let e=0;e<n.length;e++){const t=n[e];if(null!=t[0])continue;const r=n[e+1],i=n.at(0===e?-1:e-1);t[0]=i[0],e++;const o=n.at(e===n.length-1?0:e+1);r[0]=o[0]}return n.push(n[0]),(0,K.$3)(n)||n.reverse(),n})}((0,N.m3)($e)>1?function(e,t){const r=[];for(const i of e)r.push(...Be(i,t));return r}(Be(w,b),S):[w],r,a);return new X.A({rings:A,spatialReference:a})},toExtent:function(e,t,r,i,n){let o,a,l,c;const u=t.latitude,d=(0,E.tO)(e.spatialReference).radius,h=t.longitude,m=function(e,t,r){const i=t/r,n=(0,s.kU)(e),o=Math.sin(i/2),a=Math.cos(n),l=2*(0,s.YN)(Math.sqrt(o*o/(a*a)));return(0,s.KJ)(l)}(u,r,d)/2;o=h-m,a=h+m;const p=(0,s.kU)(u),g=(1+Math.sin(p))/(1-Math.sin(p)),v=(g+1)*Math.tan(i/d/2),_=v*v;function x(e){const t=Math.PI/2;return(e=f.uC.normalize(e,-t))>t&&(e=Math.PI-e),e}if(l=1.5*Math.PI-2*Math.atan(.5*(v+Math.sqrt(4*g+_))),c=l+i/d,l=x(l),c=x(c),c<l){const e=c;c=l,l=e}if(l=Math.max((0,s.KJ)(l),-90),c=Math.min((0,s.KJ)(c),90),a=_e.Y_.monotonic(o,a),a-o>180){const e=(a-o-180)/2;o+=e,a-=e}const y=e.spatialReference&&e.spatialReference.isGeographic?e.spatialReference:S.A.WGS84;return n?(n.xmin=o,n.ymin=l,n.xmax=a,n.ymax=c,n.spatialReference=y):n=new Y.A(o,l,a,c,y),e.spatialReference&&e.spatialReference.isWebMercator&&(0,ye.Gh)(n,!1,n),n}},Symbol.toStringTag,{value:"Module"}));const qe="composite-color",Ye=["final-color",qe,"opaque-color","transparent-color"],Xe={ANTIALIASING:"aa-color",CUTFILL_COLOR:"cutfill-color",CUTFILL_DEPTH:"cutfill-depth",FOCUSAREA_COLOR:"focusarea-color",FOCUSAREA:"focusarea",GAUSSIAN_SPLAT:"gaussian-splat",HIGHLIGHT_COLOR:"highlight-color",LASERLINES:"laserline-color",MAGNIFIER:"magnifier-color",OCCLUDED:"occluded-color",OPAQUE_ENVIRONMENT:"opaque-environment-color",OPAQUE_TERRAIN:"opaque-terrain-color",SSAO:"ssao",TRANSPARENT_ENVIRONMENT:"transparent-environment-color",VIEWSHED:"viewshed-color"};Array.from(Object.values(Xe)).concat(Ye),(0,T.vt)();var Ke=r(49186),Je=r(10107),Qe=r(64108);let et=class extends I.A{constructor(e){super(e),this.view=null,this.consumes={required:[]},this.produces=qe,this.requireGeometryDepth=!1,this._dirty=!0}initialize(){this.addHandles([(0,l.wB)(()=>this.view.ready,e=>{e&&this.view.stage?.renderer.addRenderNode(this)},l.Vh)])}destroy(){this.view.stage?.renderer?.removeRenderNode(this)}precompile(){}render(){throw new Ke.A("RenderNode:render-function-not-implemented","render() is not implemented.")}get camera(){return this.view.state.camera.clone()}get sunLight(){return this.bindParameters.lighting.legacy}get gl(){return this.view.stage.renderView.renderingContext.gl}get techniques(){return this.view.stage.renderView.techniques}acquireOutputFramebuffer(){const e=this._frameBuffer?.getTexture()?.descriptor,t=this.view.stage.renderer.fboCache.acquire(e?.width??640,e?.height??480,this.produces);return t.fbo?.initializeAndBind(),t}bindRenderTarget(){return this._frameBuffer?.fbo?.initializeAndBind(),this._frameBuffer}requestRender(e){switch(e){case 2:this.view.state.fading=!0;case 1:this.view.stage?.renderView.requestRender(e);case 0:case void 0:this._dirty=!0}}resetWebGLState(){this.renderingContext.resetState(),this.renderingContext.bindFramebuffer(this._frameBuffer?.fbo)}get fboCache(){return this.view.stage.renderer.fboCache}get bindParameters(){return this.renderContext.bind}get renderingContext(){return this.view.stage.renderView.renderingContext}get renderContext(){return this.view.stage?.renderer.renderContext}updateAnimation(e){return!!this._dirty&&(this._dirty=!1,!0)}doRender(e){this._frameBuffer=e.find(({name:e})=>e===this.produces);try{return this.render(e)}finally{this._frameBuffer=null}}};(0,o.Cg)([(0,Je.MZ)({constructOnly:!0})],et.prototype,"view",void 0),(0,o.Cg)([(0,Je.MZ)({constructOnly:!0})],et.prototype,"consumes",void 0),(0,o.Cg)([(0,Je.MZ)()],et.prototype,"produces",void 0),(0,o.Cg)([(0,Je.MZ)({readOnly:!0})],et.prototype,"techniques",null),et=(0,o.Cg)([(0,Qe.$)("esri.views.3d.webgl.RenderNode")],et);var tt=r(15581),rt=r(13840),it=r(42958),nt=r(95774),ot=r(90644);let st=class extends it.w{constructor(){super(...arguments),this.shader=new rt.r(nt.S,()=>r.e(1285).then(r.bind(r,91285))),this.ignoreUnused=!0}initializePipeline(){return(0,ot.Ey)({colorWrite:ot.kn})}};st=(0,o.Cg)([(0,u.$K)("esri.views.3d.webgl-engine.effects.ssao.SSAOBlurTechnique")],st);var at=r(65786);class lt extends at.Y{constructor(){super(...arguments),this.projScale=1}}class ct extends lt{constructor(){super(...arguments),this.intensity=1}}class ut extends at.Y{}class dt extends ut{constructor(){super(...arguments),this.blurSize=(0,D.vt)()}}let ht=class extends it.w{constructor(){super(...arguments),this.shader=new rt.r(tt.S,()=>r.e(6122).then(r.bind(r,86122)))}initializePipeline(){return(0,ot.Ey)({colorWrite:ot.kn})}};ht=(0,o.Cg)([(0,u.$K)("esri.views.3d.webgl-engine.effects.ssao.SSAOTechnique")],ht);var mt=r(63907),pt=r(76284),ft=r(67171);let gt=class extends et{constructor(e){super(e),this.consumes={required:["normals"]},this.produces=Xe.SSAO,this.isEnabled=()=>!1,this._enableTime=(0,c.l5)(0),this._passParameters=new ct,this._drawParameters=new dt}initialize(){const e=Uint8Array.from(atob("eXKEvZaUc66cjIKElE1jlJ6MjJ6Ufkl+jn2fcXp5jBx7c6KEflSGiXuXeW6OWs+tfqZ2Yot2Y7Zzfo2BhniEj3xoiXuXj4eGZpqEaHKDWjSMe7palFlzc3BziYOGlFVzg6Zzg7CUY5JrjFF7eYJ4jIKEcyyEonSXe7qUfqZ7j3xofqZ2c4R5lFZ5Y0WUbppoe1l2cIh2ezyUho+BcHN2cG6DbpqJhqp2e1GcezhrdldzjFGUcyxjc3aRjDyEc1h7Sl17c6aMjH92pb6Mjpd4dnqBjMOEhqZleIOBYzB7gYx+fnqGjJuEkWlwnCx7fGl+c4hjfGyRe5qMlNOMfnqGhIWHc6OMi4GDc6aMfqZuc6aMzqJzlKZ+lJ6Me3qRfoFue0WUhoR5UraEa6qMkXiPjMOMlJOGe7JrUqKMjK6MeYRzdod+Sl17boiPc6qEeYBlcIh2c1WEe7GDiWCDa0WMjEmMdod+Y0WcdntzhmN8WjyMjKJjiXtzgYxYaGd+a89zlEV7e2GJfnd+lF1rcK5zc4p5cHuBhL6EcXp5eYB7fnh8iX6HjIKEeaxuiYOGc66RfG2Ja5hzjlGMjEmMe9OEgXuPfHyGhPeEdl6JY02McGuMfnqGhFiMa3WJfnx2l4hwcG1uhmN8c0WMc39og1GBbrCEjE2EZY+JcIh2cIuGhIWHe0mEhIVrc09+gY5+eYBlnCyMhGCDl3drfmmMgX15aGd+gYx+fnuRfnhzY1SMsluJfnd+hm98WtNrcIuGh4SEj0qPdkqOjFF7jNNjdnqBgaqUjMt7boeBhnZ4jDR7c5pze4GGjEFrhLqMjHyMc0mUhKZze4WEa117kWlwbpqJjHZ2eX2Bc09zeId+e0V7WlF7jHJ2l72BfId8l3eBgXyBe897jGl7c66cgW+Xc76EjKNbgaSEjGx4fId8jFFjgZB8cG6DhlFziZhrcIh2fH6HgUqBgXiPY8dahGFzjEmMhEFre2dxhoBzc5SGfleGe6alc7aUeYBlhKqUdlp+cH5za4OEczxza0Gcc4J2jHZ5iXuXjH2Jh5yRjH2JcFx+hImBjH+MpddCl3dreZeJjIt8ZW18bm1zjoSEeIOBlF9oh3N7hlqBY4+UeYFwhLJjeYFwaGd+gUqBYxiEYot2fqZ2ondzhL6EYyiEY02Ea0VjgZB8doaGjHxoc66cjEGEiXuXiXWMiZhreHx8frGMe75rY02Ec5pzfnhzlEp4a3VzjM+EhFFza3mUY7Zza1V5e2iMfGyRcziEhDyEkXZ2Y4OBnCx7g5t2eyBjgV6EhEFrcIh2dod+c4Z+nJ5zjm15jEmUeYxijJp7nL6clIpjhoR5WrZraGd+fnuRa6pzlIiMg6ZzfHx5foh+eX1ufnB5eX1ufnB5aJt7UqKMjIh+e3aBfm5lbYSBhGFze6J4c39oc0mUc4Z+e0V7fKFVe0WEdoaGY02Ec4Z+Y02EZYWBfH6HgU1+gY5+hIWUgW+XjJ57ebWRhFVScHuBfJ6PhBx7WqJzlM+Ujpd4gHZziX6HjHmEgZN+lJt5boiPe2GJgX+GjIGJgHZzeaxufnB5hF2JtdN7jJ57hp57hK6ElFVzg6ZzbmiEbndzhIWHe3uJfoFue3qRhJd2j3xoc65zlE1jc3p8lE1jhniEgXJ7e657vZaUc3qBh52BhIF4aHKDa9drgY5+c52GWqZzbpqJe8tjnM+UhIeMfo2BfGl+hG1zSmmMjKJjZVaGgX15c1lze0mEp4OHa3mUhIWHhDyclJ6MeYOJkXiPc0VzhFiMlKaEboSJa5Jze41re3qRhn+HZYWBe0mEc4p5fnORbox5lEp4hGFjhGGEjJuEc1WEhLZjeHeGa7KlfHx2hLaMeX1ugY5+hIWHhKGPjMN7c1WEho1zhoBzZYx7fnhzlJt5exyUhFFziXtzfmmMa6qMYyiEiXxweV12kZSMeWqXSl17fnhzxmmMrVGEe1mcc4p5eHeGjK6MgY5+doaGa6pzlGV7g1qBh4KHkXiPeW6OaKqafqZ2eXZ5e1V7jGd7boSJc3BzhJd2e0mcYot2h1RoY8dahK6EQmWEWjx7e1l2lL6UgXyBdnR4eU9zc0VreX1umqaBhld7fo2Bc6KEc5Z+hDyEcIeBWtNrfHyGe5qMhMuMe5qMhEGEbVVupcNzg3aHhIF4boeBe0mEdlptc39ofFl5Y8uUlJOGiYt2UmGEcyxjjGx4jFF7a657ZYWBnElzhp57iXtrgZN+tfOEhIOBjE2HgU1+e8tjjKNbiWCDhE15gUqBgYN7fnqGc66ce9d7iYSBj0qPcG6DnGGcT3eGa6qMZY+JlIiMl4hwc3aRdnqBlGV7eHJ2hLZjfnuRhDyEeX6MSk17g6Z+c6aUjHmEhIF4gXyBc76EZW18fGl+fkl+jCxrhoVwhDyUhIqGlL2DlI6EhJd2tdN7eYORhEGMa2Faa6pzc3Bzc4R5lIRznM+UY9eMhDycc5Z+c4p5c4iGY117pb6MgXuPrbJafnx2eYOJeXZ5e657hDyEcziElKZjfoB5eHeGj4WRhGGEe6KGeX1utTStc76EhFGJnCyMa5hzfH6HnNeceYB7hmN8gYuMhIVrczSMgYF8h3N7c5pza5hzjJqEYIRdgYuMlL2DeYRzhGGEeX1uhLaEc4iGeZ1zdl6JhrVteX6Me2iMfm5lWqJzSpqEa6pzdnmchHx2c6OMhNdrhoR5g3aHczxzeW52gV6Ejm15frGMc0Vzc4Z+l3drfniJe+9rWq5rlF1rhGGEhoVwe9OEfoh+e7pac09+c3qBY0lrhDycdnp2lJ6MiYOGhGCDc3aRlL2DlJt5doaGdnp2gYF8gWeOjF2Uc4R5c5Z+jEmMe7KEc4mEeYJ4dmyBe0mcgXiPbqJ7eYB7fmGGiYSJjICGlF1reZ2PnElzbpqJfH6Hc39oe4WEc5eJhK6EhqyJc3qBgZB8c09+hEmEaHKDhFGJc5SGiXWMUpaEa89zc6OMnCyMiXtrho+Be5qMc7KEjJ57dmN+hKGPjICGbmiEe7prdod+hGCDdnmchBx7eX6MkXZ2hGGEa657hm98jFFjY5JreYOJgY2EjHZ2a295Y3FajJ6Mc1J+YzB7e4WBjF2Uc4R5eV12gYxzg1qBeId+c9OUc5pzjFFjgY5+hFiMlIaPhoR5lIpjjIKBlNdSe7KEeX2BfrGMhIqGc65zjE2UhK6EklZ+QmWEeziMWqZza3VzdnR4foh+gYF8n3iJiZhrnKp7gYF8eId+lJ6Me1lrcIuGjKJjhmN8c66MjFF7a6prjJ6UnJ5zezyUfruRWlF7nI5zfHyGe657h4SEe8tjhBx7jFFjc09+c39ojICMeZeJeXt+YzRzjHZ2c0WEcIeBeXZ5onSXkVR+gYJ+eYFwdldzgYF7eX2BjJ6UiXuXlE1jh4SEe1mchLJjc4Z+hqZ7eXZ5bm1zlL6Ue5p7iWeGhKqUY5pzjKJjcIeBe8t7gXyBYIRdlEp4a3mGnK6EfmmMZpqEfFl5gYxzjKZuhGFjhoKGhHx2fnx2eXuMe3aBiWeGvbKMe6KGa5hzYzB7gZOBlGV7hmN8hqZlYot2Y117a6pzc6KEfId8foB5rctrfneJfJ6PcHN2hFiMc5pzjH92c0VzgY2EcElzdmCBlFVzg1GBc65zY4OBboeBcHiBeYJ4ewxzfHx5lIRzlEmEnLKEbk1zfJ6PhmN8eYBljBiEnMOEiXxwezyUcIeBe76EdsKEeX2BdnR4jGWUrXWMjGd7fkl+j4WRlEGMa5Jzho+BhDyEfnqMeXt+g3aHlE1jczClhNN7ZW18eHx8hGFjZW18iXWMjKJjhH57gYuMcIuGWjyMe4ZtjJuExmmMj4WRdntzi4GDhFFzYIRdnGGcjJp7Y0F7e4WEkbCGiX57fnSHa657a6prhBCMe3Z+SmmMjH92eHJ2hK6EY1FzexhrvbKMnI5za4OEfnd+eXuMhImBe897hLaMjN+EfG+BeIOBhF1+eZeJi4GDkXZ2eXKEgZ6Ejpd4c2GHa1V5e5KUfqZuhCx7jKp7lLZrg11+hHx2hFWUoot2nI5zgbh5mo9zvZaUe3qRbqKMfqZ2kbCGhFiM"),e=>e.charCodeAt(0)),t=new ft.R(32);t.wrapMode=33071,t.pixelFormat=6407,t.wrapMode=10497,t.hasMipmap=!0,this._passParameters.noiseTexture=new pt.A(this.renderingContext,t,e),this.addHandles((0,l.wB)(()=>this.isEnabled(),()=>this._enableTime=(0,c.l5)(0)))}destroy(){this._passParameters.noiseTexture=(0,a.WD)(this._passParameters.noiseTexture)}precompile(){this.techniques.precompile(ht),this.techniques.precompile(st)}render(e){const t=e.find(({name:e})=>"normals"===e),r=t?.getTexture(),i=t?.getTexture(mt.nI);if(!r||!i)return;const n=this.techniques.get(ht),o=this.techniques.get(st);if(!n.compiled||!o.compiled)return this._enableTime=(0,c.l5)(performance.now()),void this.requestRender(1);0===this._enableTime&&(this._enableTime=(0,c.l5)(performance.now()));const a=this.renderingContext,l=this.view.qualitySettings.fadeDuration,u=this.bindParameters,h=u.camera,m=h.relativeElevation,p=(0,s.qE)((5e5-m)/2e5,0,1),f=l>0?Math.min(l,performance.now()-this._enableTime)/l:1,g=f*p;this._passParameters.normalTexture=r,this._passParameters.depthTexture=i,this._passParameters.projScale=1/h.computeScreenPixelSizeAtDist(1),this._passParameters.intensity=4*vt/(0,tt.g)(h)**6*g;const v=h.fullViewport[2],_=h.fullViewport[3],x=this.fboCache.acquire(v,_,"ssao input",2);a.bindFramebuffer(x.fbo),a.setViewport(0,0,v,_),a.bindTechnique(n,u,this._passParameters,this._drawParameters),a.screen.draw();const y=Math.round(v/2),w=Math.round(_/2),b=this.fboCache.acquire(y,w,"ssao blur",0);a.bindFramebuffer(b.fbo),this._drawParameters.colorTexture=x.getTexture(),(0,d.hZ)(this._drawParameters.blurSize,0,2/_),a.bindTechnique(o,u,this._passParameters,this._drawParameters),a.setViewport(0,0,y,w),a.screen.draw(),x.release();const M=this.fboCache.acquire(y,w,Xe.SSAO,0);return a.bindFramebuffer(M.fbo),a.setViewport(0,0,v,_),a.setClearColor(1,1,1,0),a.clear(16384),this._drawParameters.colorTexture=b.getTexture(),(0,d.hZ)(this._drawParameters.blurSize,2/v,0),a.bindTechnique(o,u,this._passParameters,this._drawParameters),a.setViewport(0,0,y,w),a.screen.draw(),a.setViewport4fv(h.fullViewport),b.release(),f<1&&this.requestRender(2),M}};(0,o.Cg)([(0,u.MZ)()],gt.prototype,"consumes",void 0),(0,o.Cg)([(0,u.MZ)()],gt.prototype,"produces",void 0),(0,o.Cg)([(0,u.MZ)({constructOnly:!0})],gt.prototype,"isEnabled",void 0),gt=(0,o.Cg)([(0,u.$K)("esri.views.3d.webgl-engine.effects.ssao.SSAO")],gt);const vt=.5;function _t(e,t){t.receiveAmbientOcclusion?(e.uniforms.add(new n.x("ssaoTex",e=>e.ssao?.getTexture())),e.constants.add("blurSizePixelsInverse","float",.5),e.code.add(i.H`float evaluateAmbientOcclusionInverse() {
557
+ }`))}(e,t)}},14527(e,t,r){r.d(t,{n:()=>_t});var i=r(31821),n=r(12791),o=r(5482),s=r(34727),a=r(97768),l=r(36708),c=r(78659),u=r(91429),d=r(37585),h=r(69540);let m=class extends h.Pw{constructor(e){super(e),this.row=0,this.column=0,this.rows=1,this.columns=1}equals(e){return null!=e&&this.row===e.row&&this.rows===e.rows&&this.column===e.column&&this.columns===e.columns}};(0,o.Cg)([(0,u.MZ)({type:Number,nonNullable:!0,json:{read:!1,write:!1}})],m.prototype,"row",void 0),(0,o.Cg)([(0,u.MZ)({type:Number,nonNullable:!0,json:{read:!1,write:!1}})],m.prototype,"column",void 0),(0,o.Cg)([(0,u.MZ)({type:Number,nonNullable:!0,json:{read:!1,write:!1}})],m.prototype,"rows",void 0),(0,o.Cg)([(0,u.MZ)({type:Number,nonNullable:!0,json:{read:!1,write:!1}})],m.prototype,"columns",void 0),m=(0,o.Cg)([(0,u.$K)("esri.CameraLayout")],m);const p=m;var f=r(69052),g=r(25482),v=r(56507),_=r(86738),x=r(43937),y=r(36005);let w=class extends((0,h.OU)(g.o)){constructor(...e){super(...e),this.position=new _.A([0,0,0]),this.heading=0,this.tilt=0,this.fov=55,this.layout=new p}normalizeCtorArgs(e,t,r,i){if(e&&"object"==typeof e&&("x"in e||Array.isArray(e))){const n={position:e};return null!=t&&(n.heading=t),null!=r&&(n.tilt=r),null!=i&&(n.fov=i),n}return e}writePosition(e,t,r,i){const n=e.clone();n.x=(0,v.GB)(e.x||0),n.y=(0,v.GB)(e.y||0),n.z=e.hasZ?(0,v.GB)(e.z||0):e.z,t[r]=n.write({},i)}readPosition(e,t){const r=new _.A;return r.read(e,t),r.x=(0,v.GB)(r.x||0),r.y=(0,v.GB)(r.y||0),r.z=r.hasZ?(0,v.GB)(r.z||0):r.z,r}equals(e){return null!=e&&this.tilt===e.tilt&&this.heading===e.heading&&this.fov===e.fov&&this.position.equals(e.position)&&this.layout.equals(e.layout)}};(0,o.Cg)([(0,u.MZ)({type:_.A,json:{write:{isRequired:!0}}})],w.prototype,"position",void 0),(0,o.Cg)([(0,x.K)("position")],w.prototype,"writePosition",null),(0,o.Cg)([(0,y.w)("position")],w.prototype,"readPosition",null),(0,o.Cg)([(0,u.MZ)({type:Number,nonNullable:!0,json:{write:{isRequired:!0}}}),(0,u.wg)(e=>f.ie.normalize((0,v.GB)(e)))],w.prototype,"heading",void 0),(0,o.Cg)([(0,u.MZ)({type:Number,nonNullable:!0,json:{write:{isRequired:!0}}}),(0,u.wg)(e=>(0,s.qE)((0,v.GB)(e),-180,180))],w.prototype,"tilt",void 0),(0,o.Cg)([(0,u.MZ)({type:Number,nonNullable:!0,json:{default:55,write:!0}}),(0,u.wg)(e=>(0,s.qE)((0,v.GB)(e,55),1,170))],w.prototype,"fov",void 0),(0,o.Cg)([(0,u.MZ)({type:p,nonNullable:!0,json:{read:!1,write:!1}})],w.prototype,"layout",void 0),w=(0,o.Cg)([(0,u.$K)("esri.Camera")],w);var b=r(9093),M=r(35522),T=r(51850),S=r(16930),C=(r(48353),r(9762),r(65806)),A=r(27993),E=r(73941),R=(r(19419),r(71351)),I=r(69622),O=r(53966),F=r(90629),P=r(58083),D=r(48163),N=r(78955),H=r(91829),L=r(82919),B=r(44280);function z(e,t,r){e.worldUpAtPosition(t,U),(0,M.Re)(G,r,t);const i=(0,M.Bw)(G);return 0===i?0:(0,s.XM)((0,M.Om)(G,U)/i)}const U=(0,T.vt)(),G=(0,T.vt)();var V;let j=V=class extends I.A{constructor(e){super(e),this._ray=(0,R.vt)(),this._viewport=(0,H.fA)(0,0,1,1),this._padding=(0,H.fA)(0,0,0,0),this._fov=55/180*Math.PI,this._nearFar=(0,D.fA)(1,1e3),this._viewDirty=!0,this._viewMatrix=(0,b.vt)(),this._viewProjectionDirty=!0,this._viewProjectionMatrix=(0,b.vt)(),this._viewInverseTransposeMatrixDirty=!0,this._viewInverseTransposeMatrix=(0,b.vt)(),this._frustumDirty=!0,this._frustum=(0,L.vt)(),this._fullViewport=(0,H.vt)(),this._pixelRatio=1,this.row=0,this.column=0,this._rows=1,this._columns=1,this._center=(0,T.vt)(),this._up=(0,T.vt)(),this.relativeElevation=0}get pixelRatio(){return this._pixelRatio}set pixelRatio(e){this._pixelRatio=e>0?e:1}get rows(){return this._rows}set rows(e){this._rows=Math.max(1,e)}get columns(){return this._columns}set columns(e){this._columns=Math.max(1,e)}get eye(){return this._ray.origin}set eye(e){this._compareAndSetView(e,this._ray.origin)}get center(){return this._center}set center(e){this._compareAndSetView(e,this._center,"_center")}get ray(){return(0,M.Re)(this._ray.direction,this.center,this.eye),this._ray}get up(){return this._up}set up(e){this._compareAndSetView(e,this._up,"_up")}get viewMatrix(){return this._ensureViewClean(),this._viewMatrix}set viewMatrix(e){(0,P.C)(this._viewMatrix,e),this.notifyChange("_viewMatrix"),this._viewDirty=!1,this._viewInverseTransposeMatrixDirty=!0,this._viewProjectionDirty=!0,this._frustumDirty=!0}get viewForward(){return this._ensureViewClean(),(0,M.hZ)((0,T.vt)(),-this._viewMatrix[2],-this._viewMatrix[6],-this._viewMatrix[10])}get viewUp(){return this._ensureViewClean(),(0,M.hZ)((0,T.vt)(),this._viewMatrix[1],this._viewMatrix[5],this._viewMatrix[9])}get viewRight(){return this._ensureViewClean(),(0,M.hZ)((0,T.vt)(),this._viewMatrix[0],this._viewMatrix[4],this._viewMatrix[8])}get nearFar(){return this._nearFar}get near(){return this._nearFar[0]}set near(e){this._nearFar[0]!==e&&(this._nearFar[0]=e,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_nearFar"))}get far(){return this._nearFar[1]}set far(e){this._nearFar[1]!==e&&(this._nearFar[1]=e,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_nearFar"))}get viewport(){return this._viewport}set viewport(e){this.x=e[0],this.y=e[1],this.width=e[2],this.height=e[3]}get screenViewport(){if(1===this.pixelRatio)return this._viewport;const e=(0,N.hs)((0,H.vt)(),this._viewport,1/this.pixelRatio),t=this._get("screenViewport");return t&&(0,N.aI)(e,t)?t:e}get screenPadding(){if(1===this.pixelRatio)return this._padding;const e=(0,N.hs)((0,H.vt)(),this._padding,1/this.pixelRatio),t=this._get("screenPadding");return t&&(0,N.aI)(e,t)?t:e}get x(){return this._viewport[0]}set x(e){e+=this._padding[3],this._viewport[0]!==e&&(this._viewport[0]=e,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_viewport"))}get y(){return this._viewport[1]}set y(e){e+=this._padding[2],this._viewport[1]!==e&&(this._viewport[1]=e,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_viewport"))}get width(){return this._viewport[2]}set width(e){this._viewport[2]!==e&&(this._viewport[2]=e,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_viewport"))}get height(){return this._viewport[3]}set height(e){this._viewport[3]!==e&&(this._viewport[3]=e,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_viewport"))}get fullWidth(){return this._viewport[2]+this._padding[1]+this._padding[3]}set fullWidth(e){this.width=e-(this._padding[1]+this._padding[3])}get fullHeight(){return this._viewport[3]+this._padding[0]+this._padding[2]}set fullHeight(e){this.height=e-(this._padding[0]+this._padding[2])}get fullViewport(){return this._fullViewport[0]=this._viewport[0]-this._padding[3],this._fullViewport[1]=this._viewport[1]-this._padding[2],this._fullViewport[2]=this.fullWidth,this._fullViewport[3]=this.fullHeight,this._fullViewport}get _aspect(){return this.width/this.height}get padding(){return this._padding}set padding(e){(0,N.t2)(this._padding,e)||(this._viewport[0]+=e[3]-this._padding[3],this._viewport[1]+=e[2]-this._padding[2],this._viewport[2]-=e[1]+e[3]-(this._padding[1]+this._padding[3]),this._viewport[3]-=e[0]+e[2]-(this._padding[0]+this._padding[2]),(0,N.C)(this._padding,e),this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_padding"),this.notifyChange("_viewport"))}get viewProjectionMatrix(){return this._viewProjectionDirty&&((0,P.lw)(this._viewProjectionMatrix,this.projectionMatrix,this.viewMatrix),this._viewProjectionDirty=!1),this._viewProjectionMatrix}get projectionMatrix(){return this._projectionMatrixInternal}get inverseProjectionMatrix(){return(0,P.B8)((0,b.vt)(),this.projectionMatrix)||this._get("inverseProjectionMatrix")||(0,b.vt)()}get fov(){return this._fov}set fov(e){this._fov=e,this._viewProjectionDirty=!0,this._frustumDirty=!0}get fovX(){return e=this._fov,t=this.width,r=this.height,2*Math.atan(t*Math.tan(.5*e)/Math.sqrt(t*t+r*r));var e,t,r}set fovX(e){this._fov=function(e,t,r){return 2*Math.atan(Math.sqrt(t*t+r*r)*Math.tan(.5*e)/t)}(e,this.width,this.height),this._viewProjectionDirty=!0,this._frustumDirty=!0}get fovY(){return e=this._fov,t=this.width,r=this.height,2*Math.atan(r*Math.tan(.5*e)/Math.sqrt(t*t+r*r));var e,t,r}set fovY(e){this._fov=function(e,t,r){return 2*Math.atan(Math.sqrt(t*t+r*r)*Math.tan(.5*e)/r)}(e,this.width,this.height),this._viewProjectionDirty=!0,this._frustumDirty=!0}get distance(){return(0,M.Io)(this.center,this.eye)}get frustum(){return this._recomputeFrustum(),this._frustum}get viewInverseTransposeMatrix(){return(this._viewInverseTransposeMatrixDirty||this._viewDirty)&&((0,P.B8)(this._viewInverseTransposeMatrix,this.viewMatrix),(0,P.mg)(this._viewInverseTransposeMatrix,this._viewInverseTransposeMatrix),this._viewInverseTransposeMatrixDirty=!1),this._viewInverseTransposeMatrix}depthNDCToWorld(e){const{near:t,far:r}=this;return 2*t*r/(r+t-e*(r-t))}get perRenderPixelRatio(){return Math.tan(this.fovX/2)/(this.width/2)}get perScreenPixelRatio(){return this.perRenderPixelRatio*this.pixelRatio}get aboveGround(){return null!=this.relativeElevation&&this.relativeElevation>=0}get _projectionMatrixInternal(){const e=this.width,t=this.height,r=this.near*Math.tan(this.fovY/2)*2,i=r*this._aspect,n=r/this.rows,o=i/this.columns,s=-i/2+this.column*o,a=s+o,l=-r/2+this.row*n,c=l+n,u=(0,P.$h)((0,b.vt)(),s*(1+2*this._padding[3]/e),a*(1+2*this._padding[1]/e),l*(1+2*this._padding[2]/t),c*(1+2*this._padding[0]/t),this.near,this.far),d=this._get("projectionMatrix");return d&&(0,P.aI)(d,u)?d:u}copyFrom(e){(0,M.C)(this._ray.origin,e.eye),this.center=e.center,this.up=e.up,(0,N.C)(this._viewport,e.viewport),this.notifyChange("_viewport"),(0,N.C)(this._padding,e.padding),this.notifyChange("_padding"),(0,d.C)(this._nearFar,e.nearFar),this.notifyChange("_nearFar"),this._fov=e.fov,this.row=e.row,this.column=e.column,this.rows=e.rows,this.columns=e.columns,this.relativeElevation=e.relativeElevation;const t=e;return this._viewDirty=t._viewDirty,this._viewDirty||((0,P.C)(this._viewMatrix,e.viewMatrix),this.notifyChange("_viewMatrix")),this._viewProjectionDirty=!0,this._frustumDirty=t._frustumDirty,this._frustumDirty||((0,L.C)(this._frustum,e.frustum),this._frustumDirty=!1),t._viewInverseTransposeMatrixDirty?this._viewInverseTransposeMatrixDirty=!0:((0,P.C)(this._viewInverseTransposeMatrix,e.viewInverseTransposeMatrix),this._viewInverseTransposeMatrixDirty=!1),(0,N.C)(this._fullViewport,e.fullViewport),this.pixelRatio=e.pixelRatio,this}copyViewFrom(e){this.eye=e.eye,this.center=e.center,this.up=e.up,this.fov=e.fov}clone(){return(new V).copyFrom(this)}equals(e){return(0,M.t2)(this.eye,e.eye)&&(0,M.t2)(this.center,e.center)&&(0,M.t2)(this.up,e.up)&&(0,N.t2)(this._viewport,e.viewport)&&(0,N.t2)(this._padding,e.padding)&&(0,d.t2)(this.nearFar,e.nearFar)&&this._fov===e.fov&&this.pixelRatio===e.pixelRatio&&this.relativeElevation===e.relativeElevation&&this.row===e.row&&this.column===e.column&&this.rows===e.rows&&this.columns===e.columns}almostEquals(e){const t=Math.max(1,1/this.pixelRatio,1/e.pixelRatio);if(Math.abs(e.fov-this._fov)>=.001||(0,N.hG)(e.screenPadding,this.screenPadding)>=t||(0,N.hG)(this.screenViewport,e.screenViewport)>=t||this.row!==e.row||this.column!==e.column||this.rows!==e.rows||this.columns!==e.columns)return!1;(0,M.jb)(Z,e.eye,e.center),(0,M.jb)($,this.eye,this.center);const r=(0,M.Om)(Z,$),i=(0,M.uE)(Z),n=(0,M.uE)($),o=5e-4;return r*r>=(1-1e-10)*i*n&&(0,M.lo)(e.eye,this.eye)<Math.max(i,n)*o*o}computeRenderPixelSizeAt(e){return this.computeRenderPixelSizeAtDist(this._viewDirectionDistance(e))}computeRenderPixelSizeAtDist(e){return e*this.perRenderPixelRatio}computeScreenPixelSizeAt(e){return this.computeScreenPixelSizeAtDist(this._viewDirectionDistance(e))}_viewDirectionDistance(e){return Math.abs((0,B.gr)(this.viewForward,(0,M.Re)(Z,e,this.eye)))}computeScreenPixelSizeAtDist(e){return e*this.perScreenPixelRatio}computeDistanceFromRadius(e,t){return e/Math.tan(Math.min(this.fovX,this.fovY)/(2*(t||1)))}getScreenCenter(e=(0,F.gs)()){return e[0]=(this.padding[3]+this.width/2)/this.pixelRatio,e[1]=(this.padding[0]+this.height/2)/this.pixelRatio,e}getRenderCenter(e,t=.5,r=.5){return e[0]=this.padding[3]+this.width*t,e[1]=this.padding[2]+this.height*r,e[2]=.5,e}setGLViewport(e){const t=this.viewport,r=this.padding;e.setViewport(t[0]-r[3],t[1]-r[2],t[2]+r[1]+r[3],t[3]+r[0]+r[2])}applyProjection(e,t){e!==W&&(0,M.C)(W,e),W[3]=1,(0,N.Z0)(W,W,this.projectionMatrix);const r=Math.abs(W[3]);(0,M.hs)(W,W,1/r);const i=this.fullViewport;t[0]=(0,s.Cc)(0,i[0]+i[2],.5+.5*W[0]),t[1]=(0,s.Cc)(0,i[1]+i[3],.5+.5*W[1]),t[2]=.5*(W[2]+1),t[3]=r}unapplyProjection(e,t){const r=this.fullViewport;W[0]=(e[0]/(r[0]+r[2])*2-1)*e[3],W[1]=(e[1]/(r[1]+r[3])*2-1)*e[3],W[2]=(2*e[2]-1)*e[3],W[3]=e[3],null!=this.inverseProjectionMatrix&&((0,N.Z0)(W,W,this.inverseProjectionMatrix),t[0]=W[0],t[1]=W[1],t[2]=W[2])}projectToScreen(e,t){return this.projectToRenderScreen(e,q),this.renderToScreen(q,t),t}projectToRenderScreen(e,t){if(W[0]=e[0],W[1]=e[1],W[2]=e[2],W[3]=1,(0,N.Z0)(W,W,this.viewProjectionMatrix),0===W[3])return null;const r=W;(0,M.hs)(r,r,1/Math.abs(W[3]));const i=this.fullViewport,n=(0,s.Cc)(0,i[0]+i[2],.5+.5*r[0]),o=(0,s.Cc)(0,i[1]+i[3],.5+.5*r[1]);return"x"in t?(t.x=n,t.y=o):(t[0]=n,t[1]=o,t.length>2&&(t[2]=.5*(r[2]+1))),t}unprojectFromScreen(e,t){return this.unprojectFromRenderScreen(this.screenToRender(e,q),t)}unprojectFromRenderScreen(e,t){if((0,P.lw)(k,this.projectionMatrix,this.viewMatrix),!(0,P.B8)(k,k))return null;const r=this.fullViewport;return W[0]=2*(e[0]-r[0])/r[2]-1,W[1]=2*(e[1]-r[1])/r[3]-1,W[2]=2*e[2]-1,W[3]=1,(0,N.Z0)(W,W,k),0===W[3]?null:(t[0]=W[0]/W[3],t[1]=W[1]/W[3],t[2]=W[2]/W[3],t)}constrainWindowSize(e,t,r,i){const n=e*this.pixelRatio,o=t*this.pixelRatio,s=Math.max(n-r/2,0),a=Math.max(this.fullHeight-o-i/2,0),l=-Math.min(n-r/2,0),c=-Math.min(this.fullHeight-o-i/2,0),u=r-l- -Math.min(this.fullWidth-n-r/2,0),d=i-c- -Math.min(o-i/2,0);return[Math.round(s),Math.round(a),Math.round(u),Math.round(d)]}computeUp(e){1===e?this._computeUpGlobal():this._computeUpLocal()}screenToRender(e,t){const r=e[0]*this.pixelRatio,i=this.fullHeight-e[1]*this.pixelRatio;return t[0]=r,t[1]=i,t}renderToScreen(e,t){const r=e[0]/this.pixelRatio,i=(this.fullHeight-e[1])/this.pixelRatio;t[0]=r,t[1]=i}sphereFrustumCoverage(e,t){const{center:r,eye:i,distance:n,fovY:o}=this,s=Math.abs(Math.PI/2-z(t,r,i));return e.frustumCoverage(s,n,o)}_computeUpGlobal(){(0,M.Re)(Z,this.center,this.eye);const e=(0,M.Bw)(this.center);e<1?(0,M.t2)(this._up,T.Cb)&&((0,M.C)(this._up,T.Cb),this._markViewDirty(),this.notifyChange("_up")):Math.abs((0,M.Om)(Z,this.center))>.9999*(0,M.Bw)(Z)*e||((0,M.$A)($,Z,this.center),(0,M.$A)($,$,Z),(0,M.S8)($,$),(0,M.t2)(this._up,$)||((0,M.C)(this._up,$),this.notifyChange("_up"),this._markViewDirty()))}_computeUpLocal(){(0,M.oW)(Z,this.eye,this.center),Math.abs(Z[2])<=.9999&&((0,M.hs)(Z,Z,Z[2]),(0,M.hZ)(Z,-Z[0],-Z[1],1-Z[2]),(0,M.S8)(Z,Z),(0,M.t2)(this._up,Z)||((0,M.C)(this._up,Z),this.notifyChange("_up"),this._markViewDirty()))}_compareAndSetView(e,t,r=""){"number"==typeof e[0]&&isFinite(e[0])&&"number"==typeof e[1]&&isFinite(e[1])&&"number"==typeof e[2]&&isFinite(e[2])?(0,M.t2)(e,t)||((0,M.C)(t,e),this._markViewDirty(),r.length&&this.notifyChange(r)):O.A.getLogger("esri.views.3d.webgl-engine.lib.RenderCamera").warn("RenderCamera vector contains invalid number, ignoring value")}_markViewDirty(){this._viewDirty=!0,this._frustumDirty=!0,this._viewProjectionDirty=!0}_recomputeFrustum(){this._frustumDirty&&((0,L.ui)(this.viewMatrix,this.projectionMatrix,this._frustum),this._frustumDirty=!1)}_ensureViewClean(){this._viewDirty&&((0,P.t5)(this._viewMatrix,this.eye,this.center,this.up),this.notifyChange("_viewMatrix"),this._viewDirty=!1,this._viewInverseTransposeMatrixDirty=!0)}};(0,o.Cg)([(0,u.MZ)()],j.prototype,"_viewport",void 0),(0,o.Cg)([(0,u.MZ)()],j.prototype,"_padding",void 0),(0,o.Cg)([(0,u.MZ)()],j.prototype,"_fov",void 0),(0,o.Cg)([(0,u.MZ)()],j.prototype,"_nearFar",void 0),(0,o.Cg)([(0,u.MZ)()],j.prototype,"_viewDirty",void 0),(0,o.Cg)([(0,u.MZ)()],j.prototype,"_viewMatrix",void 0),(0,o.Cg)([(0,u.MZ)()],j.prototype,"_pixelRatio",void 0),(0,o.Cg)([(0,u.MZ)()],j.prototype,"pixelRatio",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"row",void 0),(0,o.Cg)([(0,u.MZ)()],j.prototype,"column",void 0),(0,o.Cg)([(0,u.MZ)()],j.prototype,"_rows",void 0),(0,o.Cg)([(0,u.MZ)()],j.prototype,"rows",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"_columns",void 0),(0,o.Cg)([(0,u.MZ)()],j.prototype,"columns",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"eye",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"center",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"_center",void 0),(0,o.Cg)([(0,u.MZ)()],j.prototype,"up",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"_up",void 0),(0,o.Cg)([(0,u.MZ)()],j.prototype,"viewMatrix",null),(0,o.Cg)([(0,u.MZ)({readOnly:!0})],j.prototype,"viewForward",null),(0,o.Cg)([(0,u.MZ)({readOnly:!0})],j.prototype,"viewUp",null),(0,o.Cg)([(0,u.MZ)({readOnly:!0})],j.prototype,"viewRight",null),(0,o.Cg)([(0,u.MZ)({readOnly:!0})],j.prototype,"nearFar",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"near",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"far",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"viewport",null),(0,o.Cg)([(0,u.MZ)({readOnly:!0})],j.prototype,"screenViewport",null),(0,o.Cg)([(0,u.MZ)({readOnly:!0})],j.prototype,"screenPadding",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"x",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"y",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"width",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"height",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"fullWidth",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"fullHeight",null),(0,o.Cg)([(0,u.MZ)({readOnly:!0})],j.prototype,"_aspect",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"padding",null),(0,o.Cg)([(0,u.MZ)({readOnly:!0})],j.prototype,"projectionMatrix",null),(0,o.Cg)([(0,u.MZ)({readOnly:!0})],j.prototype,"inverseProjectionMatrix",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"fov",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"fovX",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"fovY",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"viewInverseTransposeMatrix",null),(0,o.Cg)([(0,u.MZ)({readOnly:!0})],j.prototype,"_projectionMatrixInternal",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"relativeElevation",void 0),j=V=(0,o.Cg)([(0,u.$K)("esri.views.3d.webgl.RenderCamera")],j);const W=(0,H.vt)(),k=(0,b.vt)(),Z=(0,T.vt)(),$=(0,T.vt)(),q=(0,F.r_)();r(49718),r(6867),r(16396),(0,T.vt)(),(0,T.vt)(),(0,T.vt)();var Y=r(5443),X=r(39829),K=r(95108);function J(e,t,r,i){const n=function(e,t){const r=0===t||2===t?0:1,i=e[t],n=0===t||1===t?1:-1,o=0===r?1:0;return(e,t,s)=>{if(t[r]<i&&s[r]<i)return 1===n?0:1;if(t[r]>i&&s[r]>i)return 1===n?1:0;const a=(s[o]-t[o])/(s[r]-t[r]),l=t[o]+a*(i-t[r]);return e[r]=i,e[o]=l,(t[r]<i?1:-1)*n>0?2:3}}(r,i);if(e.length=0,t.length){1===n(ee,t[0],t[0])&&Q(e,t[0]);for(let r=0;r<t.length;r++){const i=t[r===t.length-1?0:r+1];switch(n(ee,t[r],i)){case 1:Q(e,i);break;case 3:Q(e,(0,D.o8)(ee));break;case 2:Q(e,(0,D.o8)(ee)),Q(e,i)}}}}function Q(e,t){0!==e.length&&(0,d.aI)(e.at(-1),t)||e.push(t)}const ee=(0,D.vt)();var te=r(11964),re=r(27921);const ie=(0,T.vt)(),ne=(0,T.vt)();function oe(){return{direction:(0,T.vt)(),up:(0,T.vt)()}}function se(e,t,r,i,n){let o=(0,M.S8)(ie,e),a=(0,M.Om)(o,i);const l=a>0;a=Math.abs(a),a>.99&&(a=Math.abs((0,M.Om)(t,i)),a<.99?((0,M.C)(o,t),l&&(0,M.hs)(o,o,-1)):o=null);let c=0;if(o){(0,M.hs)(ne,i,(0,M.Om)(i,o)),(0,M.Re)(o,o,ne);const e=(0,M.Om)(o,n)/((0,M.Bw)(o)*(0,M.Bw)(n));(0,M.$A)(ne,o,n),c=((0,M.Om)(ne,i)>0?1:-1)*(0,s.KJ)((0,s.XM)(e))}const u=(0,s.KJ)((0,s.XM)(-(0,M.Om)(i,e)/(0,M.Bw)(e)));return r?(r.heading=c,r.tilt=u,r):{heading:c,tilt:u}}function ae(e,t,r,i){(0,M.Re)(le,r,t),(0,re.T7)(i,(0,te.LV)(t,le),e)||e===r||(0,M.C)(e,r)}const le=(0,T.vt)(),ce=(0,T.fA)(0,1,0),ue=(0,T.fA)(0,0,1),de=(0,b.vt)(),he=(0,T.vt)(),me=(0,T.vt)();function pe(e,t,r,i=oe()){const{direction:n,up:o}=i;return(0,P.N9)(de,-(0,s.kU)(t)),(0,P.eL)(de,de,(0,s.kU)(r)),(0,M.Z0)(n,ue,de),(0,M.hs)(n,n,-1),(0,M.Z0)(o,ce,de),i}function fe(e,t,r,i,n){const o=t.lines[11].direction,s=(n-r.getAltitude(i))/o[2];(0,M.Ln)(e,i,o,s)}const ge=(0,T.vt)();Object.freeze(Object.defineProperty({__proto__:null,directionToHeadingTilt:function(e,t,r,i){return se(t,r,i,ue,ce)},eyeForCenterWithHeadingTilt:function(e,t,r,i){const n=pe(0,r,i),o=(0,T.vt)();return(0,M.hs)(o,n.direction,-t),(0,M.WQ)(o,o,e),{up:n.up,eye:o,heading:r,tilt:i}},eyeTiltToLookAtTilt:function(e){return(0,s.kU)(e)},headingTiltToDirectionUp:pe,lookAtTiltToEyeTilt:function(e){return(0,s.KJ)(e)},toArea:function(e,t){const r=e.frustum,{renderCoordsHelper:i}=e,n=i.getAltitude(t),o=e.spatialReference,s=e.state.camera.eye,a=[],l=r.planes[5];for(let e=0;e<4;e++){const t=r.lines[e];i.intersectInfiniteManifold((0,R.LV)(t.origin,t.direction),n,ge)||fe(ge,r,i,t.endpoint,n),ae(ge,s,ge,l),a.push((0,D.fA)(ge[0],ge[1]))}return function(e,t,r){const i=e.map(e=>((0,M.hZ)(ge,e[0],e[1],0),t.fromRenderCoords(ge,ge,r),[ge[0],ge[1]]));return i.length<=2?new X.A({spatialReference:r}):(i.push(i[0].slice()),(0,K.$3)(i)||i.reverse(),new X.A({rings:[i],spatialReference:r}))}(function(e,t){const r=[],i=[];return J(r,e,t,0),J(i,r,t,1),J(r,i,t,2),J(i,r,t,3),i}(a,i.extent),i,o)},toExtent:function(e,t,r,i,n){const o=e.renderSpatialReference,s=e.spatialReference??t.spatialReference;return(0,C.g)(t,he,o),(0,C.g)(t,me,o),he[0]-=r/2,me[0]+=r/2,he[1]-=i/2,me[1]+=i/2,(0,A.F)(he,o,he,s),(0,A.F)(me,o,me,s),n?(n.xmin=he[0],n.ymin=he[1],n.xmax=me[0],n.ymax=me[1],n.spatialReference=s):n=new Y.A(he[0],he[1],me[0],me[1],s),n}},Symbol.toStringTag,{value:"Module"}));var ve=r(34304),_e=r(17136),xe=r(94008),ye=r(28735);class we{get planes(){return this.frustum}get points(){return this._points}get mutablePoints(){return this._points}get direction(){return this._direction}get origin(){return this._origin}get boundingSphere(){return this._boundingSphereDirty&&this._updateBoundingSphere(),this._boundingSphere}constructor(e){this.renderCoordsHelper=e,this.frustum=(0,L.vt)(),this._points=(0,L.Qy)(),this.lines=new Array(12),this._origin=(0,T.vt)(),this._direction=(0,T.vt)(),this._boundingSphere=new xe.iy,this._altitude=null,this._boundingSphereDirty=!0;for(let e=0;e<12;e++)this.lines[e]={origin:null,direction:(0,T.vt)(),endpoint:null}}update(e){(0,L.ui)(e.viewMatrix,e.projectionMatrix,this.frustum,this._points),(0,M.C)(this._origin,e.eye),(0,M.C)(this._direction,e.viewForward),this._altitude=this.renderCoordsHelper.getAltitude(this._origin),this._updateLines(),this._boundingSphereDirty=!0}updatePoints(e){for(let t=0;t<this._points.length;t++)(0,M.C)(this._points[t],e[t]);(0,L.DV)(this.frustum,this._points),this._updateLines()}get altitude(){return this._altitude}intersectsSphere(e){return(0,L.m7)(this.frustum,e)}intersectsRay(e){return(0,L.pw)(this.frustum,e)}intersectsLineSegment(e,t){return(0,L.ST)(this.frustum,e,t)}intersectsPoint(e){return(0,L.bU)(this.frustum,e)}_updateLines(){const e=this._points;for(let t=0;t<4;t++){const r=t+4;be(this.lines[t],e[t],e[r]),be(this.lines[t+4],e[t],3===t?e[0]:e[t+1]),be(this.lines[t+8],e[r],3===t?e[4]:e[r+1])}}_updateBoundingSphere(){const{origin:e}=this,t=Te;(0,M.S8)(t,this.direction);const r=Me;(0,M.jb)(r,this.points[4],e);const i=.5*(0,M.Om)(r,r)/(0,M.Om)(t,r),n=this._boundingSphere,o=(0,M.Ln)(Se,e,t,i);n.center=o,n.radius=i}static{this.planePointIndices=L.c8}static{this.nearFarLineIndices=[[0,4],[1,5],[2,6],[3,7]]}}function be(e,t,r){e.origin=t,e.endpoint=r,(0,M.oW)(e.direction,t,r)}const Me=(0,T.vt)(),Te=(0,T.vt)(),Se=(0,T.vt)();r(86211);const Ce=(0,T.fA)(5802e-9,13558e-9,331e-7),Ae=(0,T.fA)(65e-8*3,5643e-9,255e-9);(0,T.fA)(Ce[0]+Ae[0],Ce[1]+Ae[1],Ce[2]+Ae[2]);class Ee{constructor(e=1/0,t=-1/0){this.near=e,this.far=t}set(e,t){this.near=e,this.far=t}union(e){return null!=e&&(this.near=Math.min(this.near,e.near),this.far=Math.max(this.far,e.far)),this}within(e){return this.near<=e&&e<=this.far}equals(e){return this.near===e.near&&this.far===e.far}static{this.Zero=new Ee(0,0)}static{this.Infinite=new Ee}}(0,T.vt)(),(0,T.vt)(),new xe.iy,(0,R.vt)(),new Y.A({xmin:0,ymin:0,zmin:0,xmax:0,ymax:0,zmax:0});var Re=r(32728);const Ie=(0,T.fA)(0,0,1),Oe=(0,M.S8)((0,T.vt)(),(0,T.fA)(1,1,1)),Fe=(0,b.vt)(),Pe=(0,T.vt)(),De=(0,T.vt)();function Ne(e,t,r,i=oe()){(0,M.$A)(Pe,e,Ie),0===(0,M.Om)(Pe,Pe)&&(0,M.$A)(Pe,e,Oe),(0,P.$0)(Fe,-(0,s.kU)(t),e),(0,P.e$)(Fe,Fe,-(0,s.kU)(r),Pe);const{up:n,direction:o}=i;return(0,M.$A)(n,Pe,e),(0,M.S8)(n,n),(0,M.Z0)(n,n,Fe),(0,M.S8)(o,e),(0,M.ze)(o,o),(0,M.Z0)(o,o,Fe),i}function He(e){const t=e[1];e[1]=-e[2],e[2]=t}function Le(e,t){const r=Ne(t,e.heading,e.tilt);return e.up=r.up,e}function Be(e,t){const r=[],i=[],n=(0,ve.FD)();for(let o=0;o<e.length;o++){const s=e[o],a=o===e.length-1?e[0]:e[o+1],l=(0,te.Cr)(s,a,Ze),c=(0,re.vE)(t,l.origin,l.vector,0,We);switch(c){case 2:r.push(s);break;case 3:i.push(s);break;case 0:case 1:{const[e,o,a]=0===c?[1,r,i]:[-1,i,r],l=(0,re.Qj)(t),u=(0,M.Ln)((0,T.vt)(),We,l,e*n),d=(0,M.Ln)((0,T.vt)(),We,l,e*-n);o.push(s),o.push(u),a.push(d)}}}const o=[];return r.length&&o.push(r),i.length&&o.push(i),o}const ze={minCurvature:(0,s.kU)(5),maxCurvature:(0,s.kU)(50),minSamples:1,maxSamples:6},Ue=(0,T.fA)(1,0,0),Ge=(0,T.fA)(0,1,0),Ve=(0,T.vt)(),je=(0,T.vt)(),We=(0,T.vt)(),ke=new xe.iy,Ze=(0,te.vt)(),$e=(0,H.vt)();Object.freeze(Object.defineProperty({__proto__:null,directionToHeadingTilt:function(e,t,r,i){const n=Pe,o=De;return(0,M.S8)(n,e),(0,M.$A)(De,n,Ie),0===(0,M.Om)(De,De)&&(0,M.$A)(De,n,Oe),(0,M.$A)(o,De,n),se(t,r,i,n,o)},eyeForCenterWithHeadingTilt:function(e,t,r,i){const n={eye:(0,T.vt)(),up:null,tilt:i,heading:r},o=Pe;o[0]=e[0],o[1]=e[2],o[2]=-e[1];const a=t,l=(0,s.kU)(r),c=(0,s.kU)(i),u=Math.sin(l),d=Math.cos(l),h=Math.sin(c),m=Math.cos(c),p=(0,M.Bw)(o);let f;if(Math.abs(c)<1e-8)f=a+p;else{const e=p/h,t=(0,s.YN)(a/e),r=Math.PI-c-t;f=e*Math.sin(r)}const g=m*a,v=a*a*(h*h),_=d*d*v,x=f-g,y=x*x,w=_*(_+y-o[1]*o[1]);if(w<0)return(0,M.hs)(n.eye,o,f/p),n.tilt=0,Le(n,e);const b=Math.sqrt(w),S=o[1]*x,C=_+y;let A;if(A=d>0?-b+S:b+S,Math.abs(C)<1e-8)return p<1e-8?(n.eye[0]=0,n.eye[1]=0,n.eye[2]=a):(0,M.hs)(n.eye,o,f/p),n.tilt=0,He(n.eye),Le(n,e);n.eye[1]=A/C;const E=u*u*v,R=h*a,I=d*R*n.eye[1],O=n.eye[1]*n.eye[1],F=1-O,P=Math.sqrt(F),D=_*O+E-2*I*P*x+F*y;return Math.abs(D)<1e-8?((0,M.hs)(n.eye,o,f/p),n.tilt=0,He(n.eye),Le(n,e)):(n.eye[0]=(F*(f*o[0]-g*o[0])-R*P*(o[0]*n.eye[1]*d+o[2]*u))/D,n.eye[2]=(F*(f*o[2]-g*o[2])-R*P*(o[2]*n.eye[1]*d-o[0]*u))/D,(0,M.hs)(n.eye,n.eye,f),He(n.eye),Le(n,e))},eyeTiltToLookAtTilt:function(e,t,r){const i=(0,s.kU)(e),n=(0,M.Bw)(t);return(0,s.YN)(r/(n/Math.sin(i)))+i},headingTiltToDirectionUp:Ne,lookAtTiltToEyeTilt:function(e,t,r){const i=(0,M.Bw)(t),n=Math.sqrt(r*r+i*i-2*r*i*Math.cos(Math.PI-e)),o=(0,s.YN)(r/(n/Math.sin(e)));return(0,s.KJ)(e-o)},toArea:function(e,t){const{renderCoordsHelper:r}=e,i=e.state.camera.clone(),n=new we(r);i.near=2,n.update(i);const o=r.getAltitude(t),a=e.spatialReference,l=r.referenceEllipsoid.radius,c=i.eye,u=1+(0,M.Io)(c,t)/(l+o),d=Math.sqrt(u*u-1),{minCurvature:h,maxCurvature:m,minSamples:p,maxSamples:f}=ze,g=function(e){const{renderCoordsHelper:t,state:r}=e,i=Math.abs(t.getAltitude(r.camera.center));return ke.radius=t.referenceEllipsoid.radius+i,r.camera.sphereFrustumCoverage(ke,t)}(e),v=(0,s.qE)((d-h)/(m-h),0,1),_=Math.round((0,s.Cc)(p,f,v)),x=i.aboveGround,y=n.planes[5],w=[],b=(0,re.O_)(T.uY,Ue,(0,re.vt)()),S=(0,re.O_)(T.uY,Ge,(0,re.vt)());(0,N.hZ)($e,0,0,0,0);const C=e=>{};for(let e=0;e<4;e++){const t=1===e&&!x||3===e&&x?1-g:0,i=1===e&&x||3===e&&!x?g:1,a=n.lines[e],l=n.lines[3===e?0:e+1];for(let n=0;n<_;n++){const u=n/_,d=0===n?0:(0,s.Cc)(t,i,1===e?1-(1-u)**2:3===e?u**2:u),h=(0,M.Cc)(je,a.origin,l.origin,d),m=(0,Re.nu)(a.direction,l.direction,d,Ve);r.intersectManifoldClosestSilhouette((0,R.LV)(h,m),o,We),ae(We,c,We,y),w.push((0,T.o8)(We)),0!==w.length&&C((0,M.lo)(w.at(-1),We));const p=((0,re.Tj)(b,We)?1:0)|((0,re.Tj)(S,We)?2:0);$e[p]=1}}w.length>2&&(0,M.lo)(w[0],w.at(-1));const A=function(e,t,r){const i=2*(0,ve.FD)();return e.map(e=>{const n=[];let o=!1;for(const s of e)t.fromRenderCoords(s,We,r),Math.abs(s[0])<i&&Math.abs(s[1])<i?(n.push([null,We[1]]),n.push([null,We[1]]),o=!0):n.push([We[0],We[1]]);if(o)for(let e=0;e<n.length;e++){const t=n[e];if(null!=t[0])continue;const r=n[e+1],i=n.at(0===e?-1:e-1);t[0]=i[0],e++;const o=n.at(e===n.length-1?0:e+1);r[0]=o[0]}return n.push(n[0]),(0,K.$3)(n)||n.reverse(),n})}((0,N.m3)($e)>1?function(e,t){const r=[];for(const i of e)r.push(...Be(i,t));return r}(Be(w,b),S):[w],r,a);return new X.A({rings:A,spatialReference:a})},toExtent:function(e,t,r,i,n){let o,a,l,c;const u=t.latitude,d=(0,E.tO)(e.spatialReference).radius,h=t.longitude,m=function(e,t,r){const i=t/r,n=(0,s.kU)(e),o=Math.sin(i/2),a=Math.cos(n),l=2*(0,s.YN)(Math.sqrt(o*o/(a*a)));return(0,s.KJ)(l)}(u,r,d)/2;o=h-m,a=h+m;const p=(0,s.kU)(u),g=(1+Math.sin(p))/(1-Math.sin(p)),v=(g+1)*Math.tan(i/d/2),_=v*v;function x(e){const t=Math.PI/2;return(e=f.uC.normalize(e,-t))>t&&(e=Math.PI-e),e}if(l=1.5*Math.PI-2*Math.atan(.5*(v+Math.sqrt(4*g+_))),c=l+i/d,l=x(l),c=x(c),c<l){const e=c;c=l,l=e}if(l=Math.max((0,s.KJ)(l),-90),c=Math.min((0,s.KJ)(c),90),a=_e.Y_.monotonic(o,a),a-o>180){const e=(a-o-180)/2;o+=e,a-=e}const y=e.spatialReference&&e.spatialReference.isGeographic?e.spatialReference:S.A.WGS84;return n?(n.xmin=o,n.ymin=l,n.xmax=a,n.ymax=c,n.spatialReference=y):n=new Y.A(o,l,a,c,y),e.spatialReference&&e.spatialReference.isWebMercator&&(0,ye.Gh)(n,!1,n),n}},Symbol.toStringTag,{value:"Module"}));const qe="composite-color",Ye=["final-color",qe,"opaque-color","transparent-color"],Xe={ANTIALIASING:"aa-color",CUTFILL_COLOR:"cutfill-color",CUTFILL_DEPTH:"cutfill-depth",FOCUSAREA_COLOR:"focusarea-color",FOCUSAREA:"focusarea",GAUSSIAN_SPLAT:"gaussian-splat",HIGHLIGHT_COLOR:"highlight-color",LASERLINES:"laserline-color",MAGNIFIER:"magnifier-color",OCCLUDED:"occluded-color",OPAQUE_ENVIRONMENT:"opaque-environment-color",OPAQUE_TERRAIN:"opaque-terrain-color",SSAO:"ssao",TRANSPARENT_ENVIRONMENT:"transparent-environment-color",VIEWSHED:"viewshed-color"};Array.from(Object.values(Xe)).concat(Ye),(0,T.vt)();var Ke=r(49186),Je=r(10107),Qe=r(64108);let et=class extends I.A{constructor(e){super(e),this.view=null,this.consumes={required:[]},this.produces=qe,this.requireGeometryDepth=!1,this._dirty=!0}initialize(){this.addHandles([(0,l.wB)(()=>this.view.ready,e=>{e&&this.view.stage?.renderer.addRenderNode(this)},l.Vh)])}destroy(){this.view.stage?.renderer?.removeRenderNode(this)}precompile(){}render(){throw new Ke.A("RenderNode:render-function-not-implemented","render() is not implemented.")}get camera(){return this.view.state.camera.clone()}get sunLight(){return this.bindParameters.lighting.legacy}get gl(){return this.view.stage.renderView.renderingContext.gl}get techniques(){return this.view.stage.renderView.techniques}acquireOutputFramebuffer(){const e=this._frameBuffer?.getTexture()?.descriptor,t=this.view.stage.renderer.fboCache.acquire(e?.width??640,e?.height??480,this.produces);return t.fbo?.initializeAndBind(),t}bindRenderTarget(){return this._frameBuffer?.fbo?.initializeAndBind(),this._frameBuffer}requestRender(e){switch(e){case 2:this.view.state.fading=!0;case 1:this.view.stage?.renderView.requestRender(e);case 0:case void 0:this._dirty=!0}}resetWebGLState(){this.renderingContext.resetState(),this.renderingContext.bindFramebuffer(this._frameBuffer?.fbo)}get fboCache(){return this.view.stage.renderer.fboCache}get bindParameters(){return this.renderContext.bind}get renderingContext(){return this.view.stage.renderView.renderingContext}get renderContext(){return this.view.stage?.renderer.renderContext}updateAnimation(e){return!!this._dirty&&(this._dirty=!1,!0)}doRender(e){this._frameBuffer=e.find(({name:e})=>e===this.produces);try{return this.render(e)}finally{this._frameBuffer=null}}};(0,o.Cg)([(0,Je.MZ)({constructOnly:!0})],et.prototype,"view",void 0),(0,o.Cg)([(0,Je.MZ)({constructOnly:!0})],et.prototype,"consumes",void 0),(0,o.Cg)([(0,Je.MZ)()],et.prototype,"produces",void 0),(0,o.Cg)([(0,Je.MZ)({readOnly:!0})],et.prototype,"techniques",null),et=(0,o.Cg)([(0,Qe.$)("esri.views.3d.webgl.RenderNode")],et);var tt=r(15581),rt=r(13840),it=r(42958),nt=r(95774),ot=r(90644);let st=class extends it.w{constructor(){super(...arguments),this.shader=new rt.r(nt.S,()=>r.e(1285).then(r.bind(r,91285))),this.ignoreUnused=!0}initializePipeline(){return(0,ot.Ey)({colorWrite:ot.kn})}};st=(0,o.Cg)([(0,u.$K)("esri.views.3d.webgl-engine.effects.ssao.SSAOBlurTechnique")],st);var at=r(65786);class lt extends at.Y{constructor(){super(...arguments),this.projScale=1}}class ct extends lt{constructor(){super(...arguments),this.intensity=1}}class ut extends at.Y{}class dt extends ut{constructor(){super(...arguments),this.blurSize=(0,D.vt)()}}let ht=class extends it.w{constructor(){super(...arguments),this.shader=new rt.r(tt.S,()=>r.e(6122).then(r.bind(r,86122)))}initializePipeline(){return(0,ot.Ey)({colorWrite:ot.kn})}};ht=(0,o.Cg)([(0,u.$K)("esri.views.3d.webgl-engine.effects.ssao.SSAOTechnique")],ht);var mt=r(63907),pt=r(76284),ft=r(67171);let gt=class extends et{constructor(e){super(e),this.consumes={required:["normals"]},this.produces=Xe.SSAO,this.isEnabled=()=>!1,this._enableTime=(0,c.l5)(0),this._passParameters=new ct,this._drawParameters=new dt}initialize(){const e=Uint8Array.from(atob("eXKEvZaUc66cjIKElE1jlJ6MjJ6Ufkl+jn2fcXp5jBx7c6KEflSGiXuXeW6OWs+tfqZ2Yot2Y7Zzfo2BhniEj3xoiXuXj4eGZpqEaHKDWjSMe7palFlzc3BziYOGlFVzg6Zzg7CUY5JrjFF7eYJ4jIKEcyyEonSXe7qUfqZ7j3xofqZ2c4R5lFZ5Y0WUbppoe1l2cIh2ezyUho+BcHN2cG6DbpqJhqp2e1GcezhrdldzjFGUcyxjc3aRjDyEc1h7Sl17c6aMjH92pb6Mjpd4dnqBjMOEhqZleIOBYzB7gYx+fnqGjJuEkWlwnCx7fGl+c4hjfGyRe5qMlNOMfnqGhIWHc6OMi4GDc6aMfqZuc6aMzqJzlKZ+lJ6Me3qRfoFue0WUhoR5UraEa6qMkXiPjMOMlJOGe7JrUqKMjK6MeYRzdod+Sl17boiPc6qEeYBlcIh2c1WEe7GDiWCDa0WMjEmMdod+Y0WcdntzhmN8WjyMjKJjiXtzgYxYaGd+a89zlEV7e2GJfnd+lF1rcK5zc4p5cHuBhL6EcXp5eYB7fnh8iX6HjIKEeaxuiYOGc66RfG2Ja5hzjlGMjEmMe9OEgXuPfHyGhPeEdl6JY02McGuMfnqGhFiMa3WJfnx2l4hwcG1uhmN8c0WMc39og1GBbrCEjE2EZY+JcIh2cIuGhIWHe0mEhIVrc09+gY5+eYBlnCyMhGCDl3drfmmMgX15aGd+gYx+fnuRfnhzY1SMsluJfnd+hm98WtNrcIuGh4SEj0qPdkqOjFF7jNNjdnqBgaqUjMt7boeBhnZ4jDR7c5pze4GGjEFrhLqMjHyMc0mUhKZze4WEa117kWlwbpqJjHZ2eX2Bc09zeId+e0V7WlF7jHJ2l72BfId8l3eBgXyBe897jGl7c66cgW+Xc76EjKNbgaSEjGx4fId8jFFjgZB8cG6DhlFziZhrcIh2fH6HgUqBgXiPY8dahGFzjEmMhEFre2dxhoBzc5SGfleGe6alc7aUeYBlhKqUdlp+cH5za4OEczxza0Gcc4J2jHZ5iXuXjH2Jh5yRjH2JcFx+hImBjH+MpddCl3dreZeJjIt8ZW18bm1zjoSEeIOBlF9oh3N7hlqBY4+UeYFwhLJjeYFwaGd+gUqBYxiEYot2fqZ2ondzhL6EYyiEY02Ea0VjgZB8doaGjHxoc66cjEGEiXuXiXWMiZhreHx8frGMe75rY02Ec5pzfnhzlEp4a3VzjM+EhFFza3mUY7Zza1V5e2iMfGyRcziEhDyEkXZ2Y4OBnCx7g5t2eyBjgV6EhEFrcIh2dod+c4Z+nJ5zjm15jEmUeYxijJp7nL6clIpjhoR5WrZraGd+fnuRa6pzlIiMg6ZzfHx5foh+eX1ufnB5eX1ufnB5aJt7UqKMjIh+e3aBfm5lbYSBhGFze6J4c39oc0mUc4Z+e0V7fKFVe0WEdoaGY02Ec4Z+Y02EZYWBfH6HgU1+gY5+hIWUgW+XjJ57ebWRhFVScHuBfJ6PhBx7WqJzlM+Ujpd4gHZziX6HjHmEgZN+lJt5boiPe2GJgX+GjIGJgHZzeaxufnB5hF2JtdN7jJ57hp57hK6ElFVzg6ZzbmiEbndzhIWHe3uJfoFue3qRhJd2j3xoc65zlE1jc3p8lE1jhniEgXJ7e657vZaUc3qBh52BhIF4aHKDa9drgY5+c52GWqZzbpqJe8tjnM+UhIeMfo2BfGl+hG1zSmmMjKJjZVaGgX15c1lze0mEp4OHa3mUhIWHhDyclJ6MeYOJkXiPc0VzhFiMlKaEboSJa5Jze41re3qRhn+HZYWBe0mEc4p5fnORbox5lEp4hGFjhGGEjJuEc1WEhLZjeHeGa7KlfHx2hLaMeX1ugY5+hIWHhKGPjMN7c1WEho1zhoBzZYx7fnhzlJt5exyUhFFziXtzfmmMa6qMYyiEiXxweV12kZSMeWqXSl17fnhzxmmMrVGEe1mcc4p5eHeGjK6MgY5+doaGa6pzlGV7g1qBh4KHkXiPeW6OaKqafqZ2eXZ5e1V7jGd7boSJc3BzhJd2e0mcYot2h1RoY8dahK6EQmWEWjx7e1l2lL6UgXyBdnR4eU9zc0VreX1umqaBhld7fo2Bc6KEc5Z+hDyEcIeBWtNrfHyGe5qMhMuMe5qMhEGEbVVupcNzg3aHhIF4boeBe0mEdlptc39ofFl5Y8uUlJOGiYt2UmGEcyxjjGx4jFF7a657ZYWBnElzhp57iXtrgZN+tfOEhIOBjE2HgU1+e8tjjKNbiWCDhE15gUqBgYN7fnqGc66ce9d7iYSBj0qPcG6DnGGcT3eGa6qMZY+JlIiMl4hwc3aRdnqBlGV7eHJ2hLZjfnuRhDyEeX6MSk17g6Z+c6aUjHmEhIF4gXyBc76EZW18fGl+fkl+jCxrhoVwhDyUhIqGlL2DlI6EhJd2tdN7eYORhEGMa2Faa6pzc3Bzc4R5lIRznM+UY9eMhDycc5Z+c4p5c4iGY117pb6MgXuPrbJafnx2eYOJeXZ5e657hDyEcziElKZjfoB5eHeGj4WRhGGEe6KGeX1utTStc76EhFGJnCyMa5hzfH6HnNeceYB7hmN8gYuMhIVrczSMgYF8h3N7c5pza5hzjJqEYIRdgYuMlL2DeYRzhGGEeX1uhLaEc4iGeZ1zdl6JhrVteX6Me2iMfm5lWqJzSpqEa6pzdnmchHx2c6OMhNdrhoR5g3aHczxzeW52gV6Ejm15frGMc0Vzc4Z+l3drfniJe+9rWq5rlF1rhGGEhoVwe9OEfoh+e7pac09+c3qBY0lrhDycdnp2lJ6MiYOGhGCDc3aRlL2DlJt5doaGdnp2gYF8gWeOjF2Uc4R5c5Z+jEmMe7KEc4mEeYJ4dmyBe0mcgXiPbqJ7eYB7fmGGiYSJjICGlF1reZ2PnElzbpqJfH6Hc39oe4WEc5eJhK6EhqyJc3qBgZB8c09+hEmEaHKDhFGJc5SGiXWMUpaEa89zc6OMnCyMiXtrho+Be5qMc7KEjJ57dmN+hKGPjICGbmiEe7prdod+hGCDdnmchBx7eX6MkXZ2hGGEa657hm98jFFjY5JreYOJgY2EjHZ2a295Y3FajJ6Mc1J+YzB7e4WBjF2Uc4R5eV12gYxzg1qBeId+c9OUc5pzjFFjgY5+hFiMlIaPhoR5lIpjjIKBlNdSe7KEeX2BfrGMhIqGc65zjE2UhK6EklZ+QmWEeziMWqZza3VzdnR4foh+gYF8n3iJiZhrnKp7gYF8eId+lJ6Me1lrcIuGjKJjhmN8c66MjFF7a6prjJ6UnJ5zezyUfruRWlF7nI5zfHyGe657h4SEe8tjhBx7jFFjc09+c39ojICMeZeJeXt+YzRzjHZ2c0WEcIeBeXZ5onSXkVR+gYJ+eYFwdldzgYF7eX2BjJ6UiXuXlE1jh4SEe1mchLJjc4Z+hqZ7eXZ5bm1zlL6Ue5p7iWeGhKqUY5pzjKJjcIeBe8t7gXyBYIRdlEp4a3mGnK6EfmmMZpqEfFl5gYxzjKZuhGFjhoKGhHx2fnx2eXuMe3aBiWeGvbKMe6KGa5hzYzB7gZOBlGV7hmN8hqZlYot2Y117a6pzc6KEfId8foB5rctrfneJfJ6PcHN2hFiMc5pzjH92c0VzgY2EcElzdmCBlFVzg1GBc65zY4OBboeBcHiBeYJ4ewxzfHx5lIRzlEmEnLKEbk1zfJ6PhmN8eYBljBiEnMOEiXxwezyUcIeBe76EdsKEeX2BdnR4jGWUrXWMjGd7fkl+j4WRlEGMa5Jzho+BhDyEfnqMeXt+g3aHlE1jczClhNN7ZW18eHx8hGFjZW18iXWMjKJjhH57gYuMcIuGWjyMe4ZtjJuExmmMj4WRdntzi4GDhFFzYIRdnGGcjJp7Y0F7e4WEkbCGiX57fnSHa657a6prhBCMe3Z+SmmMjH92eHJ2hK6EY1FzexhrvbKMnI5za4OEfnd+eXuMhImBe897hLaMjN+EfG+BeIOBhF1+eZeJi4GDkXZ2eXKEgZ6Ejpd4c2GHa1V5e5KUfqZuhCx7jKp7lLZrg11+hHx2hFWUoot2nI5zgbh5mo9zvZaUe3qRbqKMfqZ2kbCGhFiM"),e=>e.charCodeAt(0)),t=new ft.R(32);t.wrapMode=33071,t.pixelFormat=6407,t.wrapMode=10497,t.hasMipmap=!0,this._passParameters.noiseTexture=new pt.A(this.renderingContext,t,e),this.addHandles((0,l.wB)(()=>this.isEnabled(),()=>this._enableTime=(0,c.l5)(0)))}destroy(){this._passParameters.noiseTexture=(0,a.WD)(this._passParameters.noiseTexture)}precompile(){this.techniques.precompile(ht),this.techniques.precompile(st)}render(e){const t=e.find(({name:e})=>"normals"===e),r=t?.getTexture(),i=t?.getTexture(mt.nI);if(!r||!i)return;const n=this.techniques.getCompiled(ht),o=this.techniques.getCompiled(st);if(!n||!o)return this._enableTime=(0,c.l5)(performance.now()),void this.requestRender(1);0===this._enableTime&&(this._enableTime=(0,c.l5)(performance.now()));const a=this.renderingContext,l=this.view.qualitySettings.fadeDuration,u=this.bindParameters,h=u.camera,m=h.relativeElevation,p=(0,s.qE)((5e5-m)/2e5,0,1),f=l>0?Math.min(l,performance.now()-this._enableTime)/l:1,g=f*p;this._passParameters.normalTexture=r,this._passParameters.depthTexture=i,this._passParameters.projScale=1/h.computeScreenPixelSizeAtDist(1),this._passParameters.intensity=4*vt/(0,tt.g)(h)**6*g;const v=h.fullViewport[2],_=h.fullViewport[3],x=this.fboCache.acquire(v,_,"ssao input",2);a.bindFramebuffer(x.fbo),a.setViewport(0,0,v,_),a.bindTechnique(n,u,this._passParameters,this._drawParameters),a.screen.draw();const y=Math.round(v/2),w=Math.round(_/2),b=this.fboCache.acquire(y,w,"ssao blur",0);a.bindFramebuffer(b.fbo),this._drawParameters.colorTexture=x.getTexture(),(0,d.hZ)(this._drawParameters.blurSize,0,2/_),a.bindTechnique(o,u,this._passParameters,this._drawParameters),a.setViewport(0,0,y,w),a.screen.draw(),x.release();const M=this.fboCache.acquire(y,w,Xe.SSAO,0);return a.bindFramebuffer(M.fbo),a.setViewport(0,0,v,_),a.setClearColor(1,1,1,0),a.clear(16384),this._drawParameters.colorTexture=b.getTexture(),(0,d.hZ)(this._drawParameters.blurSize,2/v,0),a.bindTechnique(o,u,this._passParameters,this._drawParameters),a.setViewport(0,0,y,w),a.screen.draw(),a.setViewport4fv(h.fullViewport),b.release(),f<1&&this.requestRender(2),M}};(0,o.Cg)([(0,u.MZ)()],gt.prototype,"consumes",void 0),(0,o.Cg)([(0,u.MZ)()],gt.prototype,"produces",void 0),(0,o.Cg)([(0,u.MZ)({constructOnly:!0})],gt.prototype,"isEnabled",void 0),gt=(0,o.Cg)([(0,u.$K)("esri.views.3d.webgl-engine.effects.ssao.SSAO")],gt);const vt=.5;function _t(e,t){t.receiveAmbientOcclusion?(e.uniforms.add(new n.x("ssaoTex",e=>e.ssao?.getTexture())),e.constants.add("blurSizePixelsInverse","float",.5),e.code.add(i.H`float evaluateAmbientOcclusionInverse() {
558
558
  vec2 ssaoTextureSizeInverse = 1.0 / vec2(textureSize(ssaoTex, 0));
559
559
  return texture(ssaoTex, gl_FragCoord.xy * blurSizePixelsInverse * ssaoTextureSizeInverse).r;
560
560
  }
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[1017],{80200(e,t,i){i.d(t,{T:()=>r,d:()=>p});const r={Base64:0,Hex:1,String:2,Raw:3};function n(e,t){const i=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(i>>16)<<16|65535&i}function s(e,t,i,r,s,o){return n(function(e,t){return e<<t|e>>>32-t}(n(n(t,e),n(r,o)),s),i)}function o(e,t,i,r,n,o,l){return s(t&i|~t&r,e,t,n,o,l)}function l(e,t,i,r,n,o,l){return s(t&r|i&~r,e,t,n,o,l)}function a(e,t,i,r,n,o,l){return s(t^i^r,e,t,n,o,l)}function u(e,t,i,r,n,o,l){return s(i^(t|~r),e,t,n,o,l)}function d(e,t){e[t>>5]|=128<<t%32,e[14+(t+64>>>9<<4)]=t;let i=1732584193,r=-271733879,s=-1732584194,d=271733878;for(let t=0;t<e.length;t+=16){const p=i,c=r,f=s,g=d;i=o(i,r,s,d,e[t],7,-680876936),d=o(d,i,r,s,e[t+1],12,-389564586),s=o(s,d,i,r,e[t+2],17,606105819),r=o(r,s,d,i,e[t+3],22,-1044525330),i=o(i,r,s,d,e[t+4],7,-176418897),d=o(d,i,r,s,e[t+5],12,1200080426),s=o(s,d,i,r,e[t+6],17,-1473231341),r=o(r,s,d,i,e[t+7],22,-45705983),i=o(i,r,s,d,e[t+8],7,1770035416),d=o(d,i,r,s,e[t+9],12,-1958414417),s=o(s,d,i,r,e[t+10],17,-42063),r=o(r,s,d,i,e[t+11],22,-1990404162),i=o(i,r,s,d,e[t+12],7,1804603682),d=o(d,i,r,s,e[t+13],12,-40341101),s=o(s,d,i,r,e[t+14],17,-1502002290),r=o(r,s,d,i,e[t+15],22,1236535329),i=l(i,r,s,d,e[t+1],5,-165796510),d=l(d,i,r,s,e[t+6],9,-1069501632),s=l(s,d,i,r,e[t+11],14,643717713),r=l(r,s,d,i,e[t],20,-373897302),i=l(i,r,s,d,e[t+5],5,-701558691),d=l(d,i,r,s,e[t+10],9,38016083),s=l(s,d,i,r,e[t+15],14,-660478335),r=l(r,s,d,i,e[t+4],20,-405537848),i=l(i,r,s,d,e[t+9],5,568446438),d=l(d,i,r,s,e[t+14],9,-1019803690),s=l(s,d,i,r,e[t+3],14,-187363961),r=l(r,s,d,i,e[t+8],20,1163531501),i=l(i,r,s,d,e[t+13],5,-1444681467),d=l(d,i,r,s,e[t+2],9,-51403784),s=l(s,d,i,r,e[t+7],14,1735328473),r=l(r,s,d,i,e[t+12],20,-1926607734),i=a(i,r,s,d,e[t+5],4,-378558),d=a(d,i,r,s,e[t+8],11,-2022574463),s=a(s,d,i,r,e[t+11],16,1839030562),r=a(r,s,d,i,e[t+14],23,-35309556),i=a(i,r,s,d,e[t+1],4,-1530992060),d=a(d,i,r,s,e[t+4],11,1272893353),s=a(s,d,i,r,e[t+7],16,-155497632),r=a(r,s,d,i,e[t+10],23,-1094730640),i=a(i,r,s,d,e[t+13],4,681279174),d=a(d,i,r,s,e[t],11,-358537222),s=a(s,d,i,r,e[t+3],16,-722521979),r=a(r,s,d,i,e[t+6],23,76029189),i=a(i,r,s,d,e[t+9],4,-640364487),d=a(d,i,r,s,e[t+12],11,-421815835),s=a(s,d,i,r,e[t+15],16,530742520),r=a(r,s,d,i,e[t+2],23,-995338651),i=u(i,r,s,d,e[t],6,-198630844),d=u(d,i,r,s,e[t+7],10,1126891415),s=u(s,d,i,r,e[t+14],15,-1416354905),r=u(r,s,d,i,e[t+5],21,-57434055),i=u(i,r,s,d,e[t+12],6,1700485571),d=u(d,i,r,s,e[t+3],10,-1894986606),s=u(s,d,i,r,e[t+10],15,-1051523),r=u(r,s,d,i,e[t+1],21,-2054922799),i=u(i,r,s,d,e[t+8],6,1873313359),d=u(d,i,r,s,e[t+15],10,-30611744),s=u(s,d,i,r,e[t+6],15,-1560198380),r=u(r,s,d,i,e[t+13],21,1309151649),i=u(i,r,s,d,e[t+4],6,-145523070),d=u(d,i,r,s,e[t+11],10,-1120210379),s=u(s,d,i,r,e[t+2],15,718787259),r=u(r,s,d,i,e[t+9],21,-343485551),i=n(i,p),r=n(r,c),s=n(s,f),d=n(d,g)}return[i,r,s,d]}function p(e,t=r.Hex){const i=t||r.Base64,n=d(function(e){const t=[];for(let i=0,r=8*e.length;i<r;i+=8)t[i>>5]|=(255&e.charCodeAt(i/8))<<i%32;return t}(e),8*e.length);switch(i){case r.Raw:return n;case r.Hex:return function(e){const t="0123456789abcdef",i=[];for(let r=0,n=4*e.length;r<n;r++)i.push(t.charAt(e[r>>2]>>r%4*8+4&15)+t.charAt(e[r>>2]>>r%4*8&15));return i.join("")}(n);case r.String:return function(e){const t=[];for(let i=0,r=32*e.length;i<r;i+=8)t.push(String.fromCharCode(e[i>>5]>>>i%32&255));return t.join("")}(n);case r.Base64:return function(e){const t=[];for(let i=0,r=4*e.length;i<r;i+=3){const r=(e[i>>2]>>i%4*8&255)<<16|(e[i+1>>2]>>(i+1)%4*8&255)<<8|e[i+2>>2]>>(i+2)%4*8&255;for(let n=0;n<4;n++)8*i+6*n>32*e.length?t.push("="):t.push("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(r>>6*(3-n)&63))}return t.join("")}(n)}}},87718(e,t,i){i.d(t,{F:()=>F,Y:()=>S});var r,n=i(5482),s=i(91429),o=i(49186),l=i(25482),a=i(93637),u=i(76369),d=i(66552),p=i(4718),c=i(50498),f=i(61956),g=i(79677);const y=new d.J({esriSpatialRelIntersects:"intersects",esriSpatialRelContains:"contains",esriSpatialRelCrosses:"crosses",esriSpatialRelDisjoint:"disjoint",esriSpatialRelEnvelopeIntersects:"envelope-intersects",esriSpatialRelIndexIntersects:"index-intersects",esriSpatialRelOverlaps:"overlaps",esriSpatialRelTouches:"touches",esriSpatialRelWithin:"within",esriSpatialRelRelation:"relation"}),h=new d.J({esriSRUnit_Meter:"meters",esriSRUnit_Kilometer:"kilometers",esriSRUnit_Foot:"feet",esriSRUnit_StatuteMile:"miles",esriSRUnit_NauticalMile:"nautical-miles",esriSRUnit_USNauticalMile:"us-nautical-miles"});let m=r=class extends l.o{constructor(e){super(e),this.where=null,this.geometry=null,this.spatialRelationship="intersects",this.distance=void 0,this.objectIds=null,this.units=null,this.timeExtent=null}createQuery(e={}){const{where:t,geometry:i,spatialRelationship:r,timeExtent:n,objectIds:s,units:o,distance:l}=this;return new f.A({geometry:(0,p.o8)(i),objectIds:(0,p.o8)(s),spatialRelationship:r,timeExtent:(0,p.o8)(n),where:t,units:o,distance:l,...e})}clone(){const{where:e,geometry:t,spatialRelationship:i,timeExtent:n,objectIds:s,units:o,distance:l}=this;return new r({geometry:(0,p.o8)(t),objectIds:(0,p.o8)(s),spatialRelationship:i,timeExtent:(0,p.o8)(n),where:e,units:o,distance:l})}};(0,n.Cg)([(0,s.MZ)({type:String,json:{write:!0}})],m.prototype,"where",void 0),(0,n.Cg)([(0,s.MZ)({types:c.yR,json:{write:!0}})],m.prototype,"geometry",void 0),(0,n.Cg)([(0,s.MZ)({type:y.apiValues,json:{name:"spatialRel",read:{reader:y.read},write:{allowNull:!1,writer:y.write,overridePolicy(){return{enabled:null!=this.geometry}}}}})],m.prototype,"spatialRelationship",void 0),(0,n.Cg)([(0,s.MZ)({type:Number,json:{write:{overridePolicy(e){return{enabled:null!=e&&null!=this.geometry}}}}})],m.prototype,"distance",void 0),(0,n.Cg)([(0,s.MZ)({type:[Number],json:{write:!0}})],m.prototype,"objectIds",void 0),(0,n.Cg)([(0,s.MZ)({type:h.apiValues,json:{read:h.read,write:{writer:h.write,overridePolicy(e){return{enabled:null!=e&&null!=this.geometry}}}}})],m.prototype,"units",void 0),(0,n.Cg)([(0,s.MZ)({type:g.A,json:{write:!0}})],m.prototype,"timeExtent",void 0),m=r=(0,n.Cg)([(0,s.$K)("esri.layers.support.FeatureFilter")],m);const w=m;var v;const b={read:{reader:u.LF},write:{writer:u.M9,overridePolicy(){return{allowNull:null!=this.excludedEffect,isRequired:null==this.excludedEffect}}}},C={read:{reader:u.LF},write:{writer:u.M9,overridePolicy(){return{allowNull:null!=this.includedEffect,isRequired:null==this.includedEffect}}}},M={name:"showExcludedLabels",default:!0};let x=v=class extends l.o{constructor(e){super(e),this.filter=null,this.includedEffect=null,this.excludedEffect=null,this.excludedLabelsVisible=!1}write(e,t){const i=super.write(e,t);if(t?.origin){if(i.filter){const e=Object.keys(i.filter);if(e.length>1||"where"!==e[0])return t.messages?.push(new o.A("web-document-write:unsupported-feature-effect","Invalid feature effect 'filter'. A filter can only contain a 'where' property",{layer:t.layer,effect:this})),null}if("showExcludedLabels"in i)return t.messages?.push(new o.A("web-document-write:unsupported-feature-effect","Invalid value for property 'excludedLabelsVisible' which should always be 'true'",{layer:t.layer,effect:this})),null}return i}clone(){return new v({filter:null!=this.filter?this.filter.clone():null,includedEffect:this.includedEffect,excludedEffect:this.excludedEffect,excludedLabelsVisible:this.excludedLabelsVisible})}};(0,n.Cg)([(0,s.MZ)({type:w,json:{write:{allowNull:!0,writer(e,t,i,r){const n=e?.write({},r);n&&0!==Object.keys(n).length?(0,a.sM)(i,n,t):(0,a.sM)(i,null,t)}}}})],x.prototype,"filter",void 0),(0,n.Cg)([(0,s.MZ)({json:{read:u.LF,write:{writer:u.M9,allowNull:!0},origins:{"web-map":b,"portal-item":b}}})],x.prototype,"includedEffect",void 0),(0,n.Cg)([(0,s.MZ)({json:{read:u.LF,write:{writer:u.M9,allowNull:!0},origins:{"web-map":C,"portal-item":C}}})],x.prototype,"excludedEffect",void 0),(0,n.Cg)([(0,s.MZ)({type:Boolean,json:{write:!0,name:"showExcludedLabels",origins:{"web-map":M,"portal-item":M}}})],x.prototype,"excludedLabelsVisible",void 0),x=v=(0,n.Cg)([(0,s.$K)("esri.layers.support.FeatureEffect")],x);const R={write:{allowNull:!0}},S={type:x,json:{origins:{"web-map":R,"portal-item":R}}},F=e=>{const t=e;let i=class extends t{constructor(){super(...arguments),this.featureEffect=null}};return(0,n.Cg)([(0,s.MZ)(S)],i.prototype,"featureEffect",void 0),i=(0,n.Cg)([(0,s.$K)("esri.layers.mixins.FeatureEffectLayer")],i),i}},56658(e,t,i){i.d(t,{J:()=>A});var r=i(5482),n=i(36708),s=i(91429),o=i(60950),l=i(99959);class a extends l.A{constructor(e){super(),this.type="aggregate",this.featureReductionProvider=e}get id(){return this.featureReductionProvider.id}get[o.ym](){const e=this.featureReductionProvider.featureReduction;return e&&"popupTemplate"in e?e:null}}var u=i(50820),d=i(20569),p=i(77548),c=i(96576),f=i(48940),g=i(12330),y=i(49186),h=i(44208),m=i(53966),w=i(80200),v=i(39767),b=i(30943),C=i(53930);h.A.add("esri-cluster-arcade-enabled",!0);const M=(0,h.A)("esri-cluster-arcade-enabled"),x=new Set(["simple-line","simple-fill","picture-fill"]);function R(e,t){let i=t.clone();if(!S(i))return i;if(t.symbols.some(e=>x.has(e.type))&&(i=new c.A({symbol:new C.A})),i.authoringInfo||(i.authoringInfo=new b.A),i.authoringInfo.isAutoGenerated=!0,"visualVariables"in i){const t=(i.visualVariables||[]).filter(e=>"$view.scale"!==e.valueExpression);t.forEach(t=>{"rotation"===t.type?t.field?t.field=_(e,t.field,"avg_angle","number"):t.valueExpression&&(t.field=F(e,t.valueExpression,"avg_angle","number"),t.valueExpression=null):t.normalizationField?(t.field=_(e,t.field,"avg_norm","number",t.normalizationField),t.normalizationField=null):t.field?t.field=_(e,t.field,"avg","number"):t.valueExpression&&(t.field=F(e,t.valueExpression,"avg","number"),t.valueExpression=null)}),i.visualVariables=t}switch(i.type){case"simple":break;case"pie-chart":for(const t of i.attributes)t.field?t.field=_(e,t.field,"sum","number"):t.valueExpression&&(t.field=F(e,t.valueExpression,"sum","number"),t.valueExpression=null);break;case"unique-value":i.field?i.field=_(e,i.field,"mode","string"):i.valueExpression&&(i.field=F(e,i.valueExpression,"mode","string"),i.valueExpression=null);break;case"class-breaks":i.normalizationField?(i.field=_(e,i.field,"avg_norm","number",i.normalizationField),i.normalizationField=null):i.field?i.field=_(e,i.field,"avg","number"):i.valueExpression&&(i.field=F(e,i.valueExpression,"avg","number"),i.valueExpression=null)}return i}const S=e=>{const t=t=>m.A.getLogger("esri.views.2d.layers.support.clusterUtils").error(new y.A("Unsupported-renderer",t,{renderer:e}));if(!e)return!1;switch(e.type){case"unique-value":if(e.field2||e.field3)return t("FeatureReductionCluster does not support multi-field UniqueValueRenderers"),!1;break;case"class-breaks":if(e.normalizationField){const i=e.normalizationType;if("field"!==i)return t(`FeatureReductionCluster does not support a normalizationType of ${i}`),!1}break;case"simple":case"pie-chart":break;default:return t(`FeatureReductionCluster does not support renderers of type ${e.type}`),!1}if(!M){if("valueExpression"in e&&e.valueExpression)return t("FeatureReductionCluster does not currently support renderer.valueExpression. Support will be added in a future release"),!1;if(("visualVariables"in e&&e.visualVariables||[]).some(e=>!(!("valueExpression"in e)||!e.valueExpression)))return t("FeatureReductionCluster does not currently support visualVariables with a valueExpression. Support will be added in a future release"),!1}return!0};function F(e,t,i,r){const n=(0,w.d)(t),s="mode"===i?`cluster_type_${n}`:"sum"===i?`cluster_sum_${n}`:`cluster_avg_${n}`;return e.some(e=>e.name===s)||e.push(new u.A({name:s,isAutoGenerated:!0,onStatisticExpression:new v.A({expression:t,returnType:r}),statisticType:i})),s}function _(e,t,i,r,n){if("cluster_count"===t||e.some(e=>e.name===t))return t;const s=function(e,t,i){switch(e){case"sum":return`cluster_sum_${t}`;case"avg":case"avg_angle":return`cluster_avg_${t}`;case"mode":return`cluster_type_${t}`;case"avg_norm":{const e=i,r="field",n=t.toLowerCase()+",norm:"+r+","+e.toLowerCase();return"cluster_avg_"+(0,w.d)(n)}}}(i,t,n);return e.some(e=>e.name===s)||("avg_norm"===i?e.push(new u.A({name:s,isAutoGenerated:!0,onStatisticExpression:new v.A({expression:`$feature.${t} / $feature.${n}`,returnType:r}),statisticType:"avg"})):e.push(new u.A({name:s,isAutoGenerated:!0,onStatisticField:t,statisticType:i}))),s}const A=e=>{const t=e;let i=class extends t{constructor(...e){super(...e),this.aggregateGraphicOrigin=new a(this),this.addHandles([(0,n.wB)(()=>this.renderer,()=>{this.featureReduction&&this._setFeatureReduction(this.featureReduction)},n.OH),(0,n.wB)(()=>[this.loaded],()=>{this.loaded&&this._setLayerReference(this.featureReduction,this)})])}set featureReduction(e){this._setFeatureReduction(e)}set renderer(e){}_withClusterVariable(e,t,i){const r=e.clone();return"visualVariables"in r&&(r.visualVariables||(r.visualVariables=[]),r.visualVariables.some(e=>"size"===e.type)||r.visualVariables.push(new f.A({field:"cluster_count",stops:[new g.A({value:1}),new g.A({useMinValue:!0,size:t}),new g.A({useMaxValue:!0,size:i})]}))),r}_normalizeFeatureReduction(e){if("cluster"!==e?.type)return e;const t=e.clone(),i=[new u.A({name:"cluster_count",alias:"cluster_count",isAutoGenerated:!0,statisticType:"count"})],r=(t.fields??[]).filter(e=>!e.isAutoGenerated),n=e.renderer&&!e.renderer.authoringInfo?.isAutoGenerated,{clusterMinSize:s,clusterMaxSize:o}=t;if(n){t.fields=[...i,...r];const e=this._withClusterVariable(t.renderer,s,o);return t.effectiveFeatureRenderer=e,t.effectiveClusterRenderer=e,t}if(e.symbol){if(t.fields=[...i,...r],t.renderer=null,!this.renderer)return t.effectiveFeatureRenderer=null,t.effectiveClusterRenderer=null,t;const n=R(i,this.renderer),l=this._withClusterVariable(n,s,o),a="visualVariables"in l&&l.visualVariables?l.visualVariables:[],u=new c.A({symbol:e.symbol,visualVariables:a});return t.fields=[...i,...r],t.effectiveFeatureRenderer=l,t.effectiveClusterRenderer=u,t}if(!this.renderer)return e;const l=R(i,this.renderer);t.fields=[...i,...r],t.renderer=l;const a=this._withClusterVariable(l,s,o);return t.effectiveFeatureRenderer=a,t.effectiveClusterRenderer=a,t}_setFeatureReduction(e){const t=this._get("featureReduction");this._setLayerReference(t,null);const i=this._normalizeFeatureReduction(e);this._setLayerReference(i,this),this._set("featureReduction",i)}_setLayerReference(e,t){e&&"layer"in e&&(e.layer=(0,p.jy)(t)?t:null)}};return(0,r.Cg)([(0,s.MZ)({readOnly:!0,clonable:!1})],i.prototype,"aggregateGraphicOrigin",void 0),(0,r.Cg)([(0,s.MZ)(d.d)],i.prototype,"featureReduction",null),i=(0,r.Cg)([(0,s.$K)("esri.layers.mixins.FeatureReductionLayer")],i),i}},50820(e,t,i){i.d(t,{A:()=>d});var r,n=i(5482),s=i(25482),o=i(4718),l=i(91429),a=i(39767),u=i(30524);let d=class extends s.o{static{r=this}constructor(e){super(e),this.isAutoGenerated=!1,this.name=null,this.alias=null,this.onStatisticField=null,this.onStatisticExpression=null,this.statisticType=null}get type(){return this.layer?(0,u.e7)(this,this.layer.fieldsIndex):null}clone(){return new r({name:this.name,alias:this.alias,isAutoGenerated:this.isAutoGenerated,onStatisticExpression:(0,o.o8)(this.onStatisticExpression),onStatisticField:this.onStatisticField,statisticType:this.statisticType})}};(0,n.Cg)([(0,l.MZ)({type:Boolean,json:{write:!0}})],d.prototype,"isAutoGenerated",void 0),(0,n.Cg)([(0,l.MZ)({clonable:!1})],d.prototype,"layer",void 0),(0,n.Cg)([(0,l.MZ)({type:String,json:{write:!0}})],d.prototype,"name",void 0),(0,n.Cg)([(0,l.MZ)({type:String,json:{write:!0}})],d.prototype,"alias",void 0),(0,n.Cg)([(0,l.MZ)({type:String,json:{write:!0}})],d.prototype,"onStatisticField",void 0),(0,n.Cg)([(0,l.MZ)({type:a.A,json:{write:!0}})],d.prototype,"onStatisticExpression",void 0),(0,n.Cg)([(0,l.MZ)({type:String,json:{write:!0}})],d.prototype,"statisticType",void 0),(0,n.Cg)([(0,l.MZ)({readOnly:!0,clonable:!1,json:{read:!1}})],d.prototype,"type",null),d=r=(0,n.Cg)([(0,l.$K)("esri.layers.support.AggregateField")],d)},39767(e,t,i){i.d(t,{A:()=>l});var r=i(5482),n=i(69540),s=i(25482),o=i(91429);let l=class extends((0,n.OU)(s.o)){constructor(e){super(e),this.expression=null,this.title=null,this.returnType=null}};(0,r.Cg)([(0,o.MZ)({type:String,json:{write:!0}})],l.prototype,"expression",void 0),(0,r.Cg)([(0,o.MZ)({type:String,json:{write:!0}})],l.prototype,"title",void 0),(0,r.Cg)([(0,o.MZ)({type:String,json:{write:!0}})],l.prototype,"returnType",void 0),l=(0,r.Cg)([(0,o.$K)("esri.layers.support.ExpressionInfo")],l)},67202(e,t,i){i.d(t,{A:()=>l});var r,n=i(5482),s=i(25482),o=i(91429);let l=r=class extends s.o{constructor(e){super(e),this.type="selection"}clone(){return new r}};(0,n.Cg)([(0,o.MZ)({type:["selection"],readOnly:!0,json:{write:!0}})],l.prototype,"type",void 0),l=r=(0,n.Cg)([(0,o.$K)("esri.layers.support.FeatureReductionSelection")],l)},30279(e,t,i){i.d(t,{A:()=>u});var r=i(5482),n=i(69540),s=i(25482),o=i(10107),l=i(64108),a=i(62044);let u=class extends((0,n.OU)(s.o)){constructor(e){super(e),this.alias=null,this.name=void 0,this.fieldFormat=null}};(0,r.Cg)([(0,o.MZ)({type:String,json:{write:!0}})],u.prototype,"alias",void 0),(0,r.Cg)([(0,o.MZ)({type:String,nonNullable:!0,json:{write:{isRequired:!0}}})],u.prototype,"name",void 0),(0,r.Cg)([(0,o.MZ)({types:a.fg,json:{write:!0}})],u.prototype,"fieldFormat",void 0),u=(0,r.Cg)([(0,l.$)("esri.layers.support.FieldConfiguration")],u)},20569(e,t,i){i.d(t,{d:()=>H});var r=i(89317),n=i(5482),s=i(69540),o=i(25482),l=i(25728),a=i(90629),u=i(91429),d=i(56507),p=i(15426),c=i(37838),f=i(4718),g=i(93637),y=i(50820),h=i(30524);class m{constructor(e){this._fieldsMap=new Map,this._normalizedFieldsMap=new Map,this.fields=e;const t=[];for(const e of this.fields){const i=e?.name,r=(0,h.GZ)(i);if(i&&r){const n=(0,h.NF)(i);this._fieldsMap.set(i,e),this._fieldsMap.set(n,e),this._normalizedFieldsMap.set(r,e),t.push(`${n}:${e.type||""}`)}}t.sort(),this.uid=t.join()}equals(e){return this.uid===e?.uid}get(e){return(0,h.Vb)({fieldName:e,fieldsMap:this._fieldsMap,normalizedFieldsMap:this._normalizedFieldsMap})}}var w=i(10873),v=i(30279),b=i(16194),C=i(46499),M=i(77548),x=i(41214);function R(){return{type:[v.A],json:{name:"fieldConfigurations",write:{overridePolicy(e){return{enabled:(0,M.jy)(this.layer),ignoreOrigin:!0}}}},set:function(e){if(this._override("fieldConfigurations",e),!this.layer?.loaded)return;const t=(0,b.sS)(this,e);t&&this._set("popupTemplate",t)},get:function(){return this._isOverridden("fieldConfigurations")?this._get("fieldConfigurations"):this.layer?.loaded?(0,b.QX)(this)||null:void 0}}}function S(){return{type:[y.A],value:[],json:{write:{ignoreOrigin:!0,writer(e,t,i){const r=e.filter(e=>"avg_angle"!==e.statisticType).map(e=>e.toJSON());(0,g.sM)(i,r,t)}}},set:function(e){O(this._get("fields"),null),O(e,this.layer),this._set("fields",e)}}}function F(){return{readOnly:!0,get:function(){return new m(this.fields)}}}function _(){return{type:[C.A],json:{read:{source:"drawingInfo.labelingInfo"},write:{target:"drawingInfo.labelingInfo",ignoreOrigin:!0}}}}function A(){return z((0,f.o8)(w.kF))}function E(){return{clonable:!1,set:function(e){O(this.fields,e),this._set("layer",e)}}}function j(){return{type:Number,json:{default:0,name:"visibilityInfo.maxScale",write:{ignoreOrigin:!0}}}}function Z(){return z((0,f.o8)(w.M6))}function I(){return{type:c.A,json:{name:"popupInfo",write:{ignoreOrigin:!0,writer(e,t,i,r){e&&(t[i]=e.toJSON({...r,writeFieldFormat:(0,M.jy)(this.layer)}))}}}}}function V(){return{types:x.Hg,json:{write:{target:"drawingInfo.renderer",ignoreOrigin:!0}}}}function O(e,t){e?.forEach(e=>{e.layer=t})}function z(e){let t=e.json;t||(t=e.json={});let i=t.write;return null!=i&&"object"==typeof i||(i=t.write={}),i.ignoreOrigin=!0,e}var L=i(65494),T=i(93223),N=i(36005);let $=class extends((0,l.M)((0,s.OU)(o.o))){constructor(e){super(e),this.type="binning",this.binType="geohash",this.fixedBinLevel=null,this.labelingInfo=null,this.labelsVisible=!0,this.maxScale=0,this.popupEnabled=!0,this.popupTemplate=null,this.size=(0,a.cr)("12px"),this.fields=[],this.renderer=null}readRenderer(e,t,i){const r=t.drawingInfo?.renderer;return r?(0,L.L)(r,t,i)??void 0:(0,p.PD)(t,i)}getField(e){return this.fieldsIndex.get(e)}getFieldAlias(e){const t=this.getField(e);if(t)return this.getFieldConfiguration(t.name)?.alias||t.alias}getFieldConfiguration(e){return e=e.toLowerCase(),this.fieldConfigurations?.find(t=>t.name.toLowerCase()===e)}};(0,n.Cg)([(0,u.MZ)({type:["binning"],readOnly:!0,json:{read:!1,write:{ignoreOrigin:!0}}})],$.prototype,"type",void 0),(0,n.Cg)([(0,T.e)({geohash:"geohash",square:"square"}),(0,u.MZ)({type:["geohash","square"],json:{write:{ignoreOrigin:!0}}})],$.prototype,"binType",void 0),(0,n.Cg)([(0,u.MZ)({type:Number,json:{write:{ignoreOrigin:!0}}})],$.prototype,"fixedBinLevel",void 0),(0,n.Cg)([(0,u.MZ)(_())],$.prototype,"labelingInfo",void 0),(0,n.Cg)([(0,u.MZ)(A())],$.prototype,"labelsVisible",void 0),(0,n.Cg)([(0,u.MZ)(E())],$.prototype,"layer",void 0),(0,n.Cg)([(0,u.MZ)(j())],$.prototype,"maxScale",void 0),(0,n.Cg)([(0,u.MZ)(Z())],$.prototype,"popupEnabled",void 0),(0,n.Cg)([(0,u.MZ)(I())],$.prototype,"popupTemplate",void 0),(0,n.Cg)([(0,u.MZ)({cast:e=>"auto"===e?e:(0,d.GB)((0,a.cr)(e))})],$.prototype,"size",void 0),(0,n.Cg)([(0,u.MZ)(R())],$.prototype,"fieldConfigurations",void 0),(0,n.Cg)([(0,u.MZ)(S())],$.prototype,"fields",void 0),(0,n.Cg)([(0,u.MZ)(F())],$.prototype,"fieldsIndex",void 0),(0,n.Cg)([(0,u.MZ)(V())],$.prototype,"renderer",void 0),(0,n.Cg)([(0,N.w)("renderer",["drawingInfo.renderer"])],$.prototype,"readRenderer",null),$=(0,n.Cg)([(0,u.$K)("esri.layers.support.FeatureReductionBinning")],$);var G=i(96576),k=i(33910),q=i(43937);function U(e){return"simple"===e.type&&!e.visualVariables?.length}let K=class extends((0,l.M)((0,s.OU)(o.o))){constructor(e){super(e),this.type="cluster",this.maxScale=0,this.popupEnabled=!0,this.popupTemplate=null,this.renderer=null,this.symbol=null,this.labelingInfo=null,this.labelsVisible=!0,this.fields=[]}get clusterRadius(){return this._get("clusterRadius")??(0,a.cr)("80px")}set clusterRadius(e){this._set("clusterRadius",e)}get clusterMinSize(){return this._get("clusterMinSize")??(0,a.cr)("12px")}set clusterMinSize(e){this._set("clusterMinSize",e)}get clusterMaxSize(){return this._get("clusterMaxSize")??(0,a.cr)("50px")}set clusterMaxSize(e){this._set("clusterMaxSize",e)}readRenderer(e,t,i){const r=t.drawingInfo?.renderer;return r?.authoringInfo?.isAutoGenerated?null:r?U(r)?null:(0,L.L)(r,t,i)??void 0:(0,p.PD)(t,i)}readSymbol(e,t,i){const r=t.drawingInfo?.renderer;if(r?.authoringInfo?.isAutoGenerated)return null;if(r&&U(r)){const e=(0,L.L)(r,t,i);return e?.symbol}return null}writeSymbol(e,t,i,r){const n=this.renderer?.authoringInfo?.isAutoGenerated;if(!this.renderer||n){const i=new G.A({symbol:e});t.drawingInfo={renderer:i.write({},r)}}}readFields(e,t,i){return e.filter(e=>!e.isAutoGenerated).map(e=>y.A.fromJSON(e))}getField(e){return this.fieldsIndex.get(e)}getFieldAlias(e){const t=this.getField(e);if(t)return this.getFieldConfiguration(t.name)?.alias||t.alias}getFieldConfiguration(e){return e=e.toLowerCase(),this.fieldConfigurations?.find(t=>t.name.toLowerCase()===e)}};(0,n.Cg)([(0,u.MZ)({type:["cluster"],readOnly:!0,json:{read:!1,write:{ignoreOrigin:!0}}})],K.prototype,"type",void 0),(0,n.Cg)([(0,u.MZ)({cast:e=>"auto"===e?e:(0,d.GB)((0,a.cr)(e)),json:{write:{ignoreOrigin:!0}}})],K.prototype,"clusterRadius",null),(0,n.Cg)([(0,u.MZ)({type:Number,cast:a.cr,json:{write:{ignoreOrigin:!0}}})],K.prototype,"clusterMinSize",null),(0,n.Cg)([(0,u.MZ)({type:Number,cast:a.cr,json:{write:{ignoreOrigin:!0}}})],K.prototype,"clusterMaxSize",null),(0,n.Cg)([(0,u.MZ)(j())],K.prototype,"maxScale",void 0),(0,n.Cg)([(0,u.MZ)(Z())],K.prototype,"popupEnabled",void 0),(0,n.Cg)([(0,u.MZ)(I())],K.prototype,"popupTemplate",void 0),(0,n.Cg)([(0,u.MZ)(V())],K.prototype,"renderer",void 0),(0,n.Cg)([(0,N.w)("renderer",["drawingInfo.renderer"])],K.prototype,"readRenderer",null),(0,n.Cg)([(0,u.MZ)({types:k.q8,json:{write:{ignoreOrigin:!0}}})],K.prototype,"symbol",void 0),(0,n.Cg)([(0,N.w)("symbol",["drawingInfo.renderer"])],K.prototype,"readSymbol",null),(0,n.Cg)([(0,q.K)("symbol")],K.prototype,"writeSymbol",null),(0,n.Cg)([(0,u.MZ)(_())],K.prototype,"labelingInfo",void 0),(0,n.Cg)([(0,u.MZ)(A())],K.prototype,"labelsVisible",void 0),(0,n.Cg)([(0,u.MZ)(E())],K.prototype,"layer",void 0),(0,n.Cg)([(0,u.MZ)(R())],K.prototype,"fieldConfigurations",void 0),(0,n.Cg)([(0,u.MZ)(S())],K.prototype,"fields",void 0),(0,n.Cg)([(0,N.w)("fields")],K.prototype,"readFields",null),(0,n.Cg)([(0,u.MZ)(F())],K.prototype,"fieldsIndex",void 0),K=(0,n.Cg)([(0,u.$K)("esri.layers.support.FeatureReductionCluster")],K);var P=i(67202);const B={key:"type",base:null,typeMap:{cluster:K,binning:$}},H={types:{key:"type",base:null,typeMap:{selection:P.A,cluster:K,binning:$}},json:{name:"layerDefinition.featureReduction",write:{allowNull:!0},origins:{"web-map":{types:B},"portal-item":{types:B},"web-scene":{types:{key:"type",base:null,typeMap:{selection:P.A}},name:"layerDefinition.featureReduction",write:{allowNull:!0,layerContainerTypes:r.K}}}}}},16194(e,t,i){i.d(t,{QX:()=>a,sS:()=>d,xY:()=>u});var r=i(4718),n=i(30279),s=i(62044),o=i(30524),l=i(41227);function a(e){const{popupTemplate:t,fieldsIndex:i}=e,r=t?.fieldInfos;if(!r?.length||!i)return;const o=[];for(const e of r){const{fieldName:t,label:r}=e,l=i.get(t);if(!l)continue;const a=r&&r!==l.alias?r:null,u=(0,s.iu)(e,l);(a||u)&&o.push(new n.A({name:l.name,alias:a,fieldFormat:u}))}return o.length?o:null}function u(e){const{fields:t}=e;if(!t?.length)return;const i=[];for(const e of t){const t=(0,s.qH)(e)?(0,s.$P)(e):null;t&&i.push(new n.A({name:e.name,fieldFormat:t}))}return i.length?i:null}function d(e,t){const{popupTemplate:i,fieldsIndex:n}=e;if(!i||!n)return;const o=function(e,t,i){t??=[],i=(0,r.o8)(i)??[];let n=!1;const o=new Map;for(const i of t){const t=e.fieldsIndex.get(i.name);t&&o.set(t.name,i)}for(const t of i){const i=e.fieldsIndex.get(t.fieldName);if(!i)continue;const r=o.get(i.name);t.label=r?.alias||i.alias,t.format=(0,s.qH)(i)&&r?.fieldFormat?(0,s.PK)(r.fieldFormat,i):null,n=!0,o.delete(i.name)}for(const t of o.values()){const r=p(e,t);r&&(i.push(r),n=!0)}return n?i:null}(e,t,i.fieldInfos);if(!o)return;const l=i.clone();return l.fieldInfos=o,l}function p(e,t){const{name:i,alias:r,fieldFormat:n}=t,a=e.fieldsIndex.get(i);if(!a||!r&&!n)return;const u=r||a.alias,d=(0,s.qH)(a)&&n?(0,s.PK)(n,a):null;return new l.A({fieldName:a.name,label:u,format:d,visible:!1,isEditable:(0,o.R$)(a,e)})}},65494(e,t,i){i.d(t,{L:()=>a,r:()=>o});var r=i(90360),n=i(41214),s=i(59923);function o(e,t){return a(e,null,t)}const l=(0,r.C)({types:n.Hg});function a(e,t,i){return e?e&&(e.styleName||e.styleUrl)&&"uniqueValue"!==e.type?((0,s.Yc)(i,"warning","renderer",`Only UniqueValueRenderer can be referenced from a web style, but found '${e.type}'`,{definition:e}),null):l(e,t,i):null}}}]);
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[1017],{80200(e,t,i){i.d(t,{T:()=>r,d:()=>p});const r={Base64:0,Hex:1,String:2,Raw:3};function n(e,t){const i=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(i>>16)<<16|65535&i}function s(e,t,i,r,s,o){return n(function(e,t){return e<<t|e>>>32-t}(n(n(t,e),n(r,o)),s),i)}function o(e,t,i,r,n,o,l){return s(t&i|~t&r,e,t,n,o,l)}function l(e,t,i,r,n,o,l){return s(t&r|i&~r,e,t,n,o,l)}function a(e,t,i,r,n,o,l){return s(t^i^r,e,t,n,o,l)}function u(e,t,i,r,n,o,l){return s(i^(t|~r),e,t,n,o,l)}function d(e,t){e[t>>5]|=128<<t%32,e[14+(t+64>>>9<<4)]=t;let i=1732584193,r=-271733879,s=-1732584194,d=271733878;for(let t=0;t<e.length;t+=16){const p=i,c=r,f=s,g=d;i=o(i,r,s,d,e[t],7,-680876936),d=o(d,i,r,s,e[t+1],12,-389564586),s=o(s,d,i,r,e[t+2],17,606105819),r=o(r,s,d,i,e[t+3],22,-1044525330),i=o(i,r,s,d,e[t+4],7,-176418897),d=o(d,i,r,s,e[t+5],12,1200080426),s=o(s,d,i,r,e[t+6],17,-1473231341),r=o(r,s,d,i,e[t+7],22,-45705983),i=o(i,r,s,d,e[t+8],7,1770035416),d=o(d,i,r,s,e[t+9],12,-1958414417),s=o(s,d,i,r,e[t+10],17,-42063),r=o(r,s,d,i,e[t+11],22,-1990404162),i=o(i,r,s,d,e[t+12],7,1804603682),d=o(d,i,r,s,e[t+13],12,-40341101),s=o(s,d,i,r,e[t+14],17,-1502002290),r=o(r,s,d,i,e[t+15],22,1236535329),i=l(i,r,s,d,e[t+1],5,-165796510),d=l(d,i,r,s,e[t+6],9,-1069501632),s=l(s,d,i,r,e[t+11],14,643717713),r=l(r,s,d,i,e[t],20,-373897302),i=l(i,r,s,d,e[t+5],5,-701558691),d=l(d,i,r,s,e[t+10],9,38016083),s=l(s,d,i,r,e[t+15],14,-660478335),r=l(r,s,d,i,e[t+4],20,-405537848),i=l(i,r,s,d,e[t+9],5,568446438),d=l(d,i,r,s,e[t+14],9,-1019803690),s=l(s,d,i,r,e[t+3],14,-187363961),r=l(r,s,d,i,e[t+8],20,1163531501),i=l(i,r,s,d,e[t+13],5,-1444681467),d=l(d,i,r,s,e[t+2],9,-51403784),s=l(s,d,i,r,e[t+7],14,1735328473),r=l(r,s,d,i,e[t+12],20,-1926607734),i=a(i,r,s,d,e[t+5],4,-378558),d=a(d,i,r,s,e[t+8],11,-2022574463),s=a(s,d,i,r,e[t+11],16,1839030562),r=a(r,s,d,i,e[t+14],23,-35309556),i=a(i,r,s,d,e[t+1],4,-1530992060),d=a(d,i,r,s,e[t+4],11,1272893353),s=a(s,d,i,r,e[t+7],16,-155497632),r=a(r,s,d,i,e[t+10],23,-1094730640),i=a(i,r,s,d,e[t+13],4,681279174),d=a(d,i,r,s,e[t],11,-358537222),s=a(s,d,i,r,e[t+3],16,-722521979),r=a(r,s,d,i,e[t+6],23,76029189),i=a(i,r,s,d,e[t+9],4,-640364487),d=a(d,i,r,s,e[t+12],11,-421815835),s=a(s,d,i,r,e[t+15],16,530742520),r=a(r,s,d,i,e[t+2],23,-995338651),i=u(i,r,s,d,e[t],6,-198630844),d=u(d,i,r,s,e[t+7],10,1126891415),s=u(s,d,i,r,e[t+14],15,-1416354905),r=u(r,s,d,i,e[t+5],21,-57434055),i=u(i,r,s,d,e[t+12],6,1700485571),d=u(d,i,r,s,e[t+3],10,-1894986606),s=u(s,d,i,r,e[t+10],15,-1051523),r=u(r,s,d,i,e[t+1],21,-2054922799),i=u(i,r,s,d,e[t+8],6,1873313359),d=u(d,i,r,s,e[t+15],10,-30611744),s=u(s,d,i,r,e[t+6],15,-1560198380),r=u(r,s,d,i,e[t+13],21,1309151649),i=u(i,r,s,d,e[t+4],6,-145523070),d=u(d,i,r,s,e[t+11],10,-1120210379),s=u(s,d,i,r,e[t+2],15,718787259),r=u(r,s,d,i,e[t+9],21,-343485551),i=n(i,p),r=n(r,c),s=n(s,f),d=n(d,g)}return[i,r,s,d]}function p(e,t=r.Hex){const i=t||r.Base64,n=d(function(e){const t=[];for(let i=0,r=8*e.length;i<r;i+=8)t[i>>5]|=(255&e.charCodeAt(i/8))<<i%32;return t}(e),8*e.length);switch(i){case r.Raw:return n;case r.Hex:return function(e){const t="0123456789abcdef",i=[];for(let r=0,n=4*e.length;r<n;r++)i.push(t.charAt(e[r>>2]>>r%4*8+4&15)+t.charAt(e[r>>2]>>r%4*8&15));return i.join("")}(n);case r.String:return function(e){const t=[];for(let i=0,r=32*e.length;i<r;i+=8)t.push(String.fromCharCode(e[i>>5]>>>i%32&255));return t.join("")}(n);case r.Base64:return function(e){const t=[];for(let i=0,r=4*e.length;i<r;i+=3){const r=(e[i>>2]>>i%4*8&255)<<16|(e[i+1>>2]>>(i+1)%4*8&255)<<8|e[i+2>>2]>>(i+2)%4*8&255;for(let n=0;n<4;n++)8*i+6*n>32*e.length?t.push("="):t.push("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(r>>6*(3-n)&63))}return t.join("")}(n)}}},87718(e,t,i){i.d(t,{F:()=>F,Y:()=>S});var r,n=i(5482),s=i(91429),o=i(49186),l=i(25482),a=i(93637),u=i(76369),d=i(66552),p=i(4718),c=i(50498),f=i(61956),g=i(79677);const y=new d.J({esriSpatialRelIntersects:"intersects",esriSpatialRelContains:"contains",esriSpatialRelCrosses:"crosses",esriSpatialRelDisjoint:"disjoint",esriSpatialRelEnvelopeIntersects:"envelope-intersects",esriSpatialRelIndexIntersects:"index-intersects",esriSpatialRelOverlaps:"overlaps",esriSpatialRelTouches:"touches",esriSpatialRelWithin:"within",esriSpatialRelRelation:"relation"}),h=new d.J({esriSRUnit_Meter:"meters",esriSRUnit_Kilometer:"kilometers",esriSRUnit_Foot:"feet",esriSRUnit_StatuteMile:"miles",esriSRUnit_NauticalMile:"nautical-miles",esriSRUnit_USNauticalMile:"us-nautical-miles"});let m=r=class extends l.o{constructor(e){super(e),this.where=null,this.geometry=null,this.spatialRelationship="intersects",this.distance=void 0,this.objectIds=null,this.units=null,this.timeExtent=null}createQuery(e={}){const{where:t,geometry:i,spatialRelationship:r,timeExtent:n,objectIds:s,units:o,distance:l}=this;return new f.A({geometry:(0,p.o8)(i),objectIds:(0,p.o8)(s),spatialRelationship:r,timeExtent:(0,p.o8)(n),where:t,units:o,distance:l,...e})}clone(){const{where:e,geometry:t,spatialRelationship:i,timeExtent:n,objectIds:s,units:o,distance:l}=this;return new r({geometry:(0,p.o8)(t),objectIds:(0,p.o8)(s),spatialRelationship:i,timeExtent:(0,p.o8)(n),where:e,units:o,distance:l})}};(0,n.Cg)([(0,s.MZ)({type:String,json:{write:!0}})],m.prototype,"where",void 0),(0,n.Cg)([(0,s.MZ)({types:c.yR,json:{write:!0}})],m.prototype,"geometry",void 0),(0,n.Cg)([(0,s.MZ)({type:y.apiValues,json:{name:"spatialRel",read:{reader:y.read},write:{allowNull:!1,writer:y.write,overridePolicy(){return{enabled:null!=this.geometry}}}}})],m.prototype,"spatialRelationship",void 0),(0,n.Cg)([(0,s.MZ)({type:Number,json:{write:{overridePolicy(e){return{enabled:null!=e&&null!=this.geometry}}}}})],m.prototype,"distance",void 0),(0,n.Cg)([(0,s.MZ)({type:[Number],json:{write:!0}})],m.prototype,"objectIds",void 0),(0,n.Cg)([(0,s.MZ)({type:h.apiValues,json:{read:h.read,write:{writer:h.write,overridePolicy(e){return{enabled:null!=e&&null!=this.geometry}}}}})],m.prototype,"units",void 0),(0,n.Cg)([(0,s.MZ)({type:g.A,json:{write:!0}})],m.prototype,"timeExtent",void 0),m=r=(0,n.Cg)([(0,s.$K)("esri.layers.support.FeatureFilter")],m);const w=m;var v;const b={read:{reader:u.LF},write:{writer:u.M9,overridePolicy(){return{allowNull:null!=this.excludedEffect,isRequired:null==this.excludedEffect}}}},C={read:{reader:u.LF},write:{writer:u.M9,overridePolicy(){return{allowNull:null!=this.includedEffect,isRequired:null==this.includedEffect}}}},x={name:"showExcludedLabels",default:!0};let M=v=class extends l.o{constructor(e){super(e),this.filter=null,this.includedEffect=null,this.excludedEffect=null,this.excludedLabelsVisible=!1}write(e,t){const i=super.write(e,t);if(t?.origin){if(i.filter){const e=Object.keys(i.filter);if(e.length>1||"where"!==e[0])return t.messages?.push(new o.A("web-document-write:unsupported-feature-effect","Invalid feature effect 'filter'. A filter can only contain a 'where' property",{layer:t.layer,effect:this})),null}if("showExcludedLabels"in i)return t.messages?.push(new o.A("web-document-write:unsupported-feature-effect","Invalid value for property 'excludedLabelsVisible' which should always be 'true'",{layer:t.layer,effect:this})),null}return i}clone(){return new v({filter:null!=this.filter?this.filter.clone():null,includedEffect:this.includedEffect,excludedEffect:this.excludedEffect,excludedLabelsVisible:this.excludedLabelsVisible})}};(0,n.Cg)([(0,s.MZ)({type:w,json:{write:{allowNull:!0,writer(e,t,i,r){const n=e?.write({},r);n&&0!==Object.keys(n).length?(0,a.sM)(i,n,t):(0,a.sM)(i,null,t)}}}})],M.prototype,"filter",void 0),(0,n.Cg)([(0,s.MZ)({json:{read:u.LF,write:{writer:u.M9,allowNull:!0},origins:{"web-map":b,"portal-item":b}}})],M.prototype,"includedEffect",void 0),(0,n.Cg)([(0,s.MZ)({json:{read:u.LF,write:{writer:u.M9,allowNull:!0},origins:{"web-map":C,"portal-item":C}}})],M.prototype,"excludedEffect",void 0),(0,n.Cg)([(0,s.MZ)({type:Boolean,json:{write:!0,name:"showExcludedLabels",origins:{"web-map":x,"portal-item":x}}})],M.prototype,"excludedLabelsVisible",void 0),M=v=(0,n.Cg)([(0,s.$K)("esri.layers.support.FeatureEffect")],M);const R={write:{allowNull:!0}},S={type:M,json:{origins:{"web-map":R,"portal-item":R}}},F=e=>{const t=e;let i=class extends t{constructor(){super(...arguments),this.featureEffect=null}};return(0,n.Cg)([(0,s.MZ)(S)],i.prototype,"featureEffect",void 0),i=(0,n.Cg)([(0,s.$K)("esri.layers.mixins.FeatureEffectLayer")],i),i}},56658(e,t,i){i.d(t,{J:()=>A});var r=i(5482),n=i(36708),s=i(91429),o=i(60950),l=i(99959);class a extends l.A{constructor(e){super(),this.type="aggregate",this.featureReductionProvider=e}get id(){return this.featureReductionProvider.id}get[o.ym](){const e=this.featureReductionProvider.featureReduction;return e&&"popupTemplate"in e?e:null}}var u=i(50820),d=i(20569),p=i(77548),c=i(96576),f=i(48940),g=i(12330),y=i(49186),h=i(44208),m=i(53966),w=i(80200),v=i(39767),b=i(30943),C=i(53930);h.A.add("esri-cluster-arcade-enabled",!0);const x=(0,h.A)("esri-cluster-arcade-enabled"),M=new Set(["simple-line","simple-fill","picture-fill"]);function R(e,t){let i=t.clone();if(!S(i))return i;if(t.symbols.some(e=>M.has(e.type))&&(i=new c.A({symbol:new C.A})),i.authoringInfo||(i.authoringInfo=new b.A),i.authoringInfo.isAutoGenerated=!0,"visualVariables"in i){const t=(i.visualVariables||[]).filter(e=>"$view.scale"!==e.valueExpression);t.forEach(t=>{"rotation"===t.type?t.field?t.field=_(e,t.field,"avg_angle","number"):t.valueExpression&&(t.field=F(e,t.valueExpression,"avg_angle","number"),t.valueExpression=null):t.normalizationField?(t.field=_(e,t.field,"avg_norm","number",t.normalizationField),t.normalizationField=null):t.field?t.field=_(e,t.field,"avg","number"):t.valueExpression&&(t.field=F(e,t.valueExpression,"avg","number"),t.valueExpression=null)}),i.visualVariables=t}switch(i.type){case"simple":break;case"pie-chart":for(const t of i.attributes)t.field?t.field=_(e,t.field,"sum","number"):t.valueExpression&&(t.field=F(e,t.valueExpression,"sum","number"),t.valueExpression=null);break;case"unique-value":i.field?i.field=_(e,i.field,"mode","string"):i.valueExpression&&(i.field=F(e,i.valueExpression,"mode","string"),i.valueExpression=null);break;case"class-breaks":i.normalizationField?(i.field=_(e,i.field,"avg_norm","number",i.normalizationField),i.normalizationField=null):i.field?i.field=_(e,i.field,"avg","number"):i.valueExpression&&(i.field=F(e,i.valueExpression,"avg","number"),i.valueExpression=null)}return i}const S=e=>{const t=t=>m.A.getLogger("esri.views.2d.layers.support.clusterUtils").error(new y.A("Unsupported-renderer",t,{renderer:e}));if(!e)return!1;switch(e.type){case"unique-value":if(e.field2||e.field3)return t("FeatureReductionCluster does not support multi-field UniqueValueRenderers"),!1;break;case"class-breaks":if(e.normalizationField){const i=e.normalizationType;if("field"!==i)return t(`FeatureReductionCluster does not support a normalizationType of ${i}`),!1}break;case"simple":case"pie-chart":break;default:return t(`FeatureReductionCluster does not support renderers of type ${e.type}`),!1}if(!x){if("valueExpression"in e&&e.valueExpression)return t("FeatureReductionCluster does not currently support renderer.valueExpression. Support will be added in a future release"),!1;if(("visualVariables"in e&&e.visualVariables||[]).some(e=>!(!("valueExpression"in e)||!e.valueExpression)))return t("FeatureReductionCluster does not currently support visualVariables with a valueExpression. Support will be added in a future release"),!1}return!0};function F(e,t,i,r){const n=(0,w.d)(t),s="mode"===i?`cluster_type_${n}`:"sum"===i?`cluster_sum_${n}`:`cluster_avg_${n}`;return e.some(e=>e.name===s)||e.push(new u.A({name:s,isAutoGenerated:!0,onStatisticExpression:new v.A({expression:t,returnType:r}),statisticType:i})),s}function _(e,t,i,r,n){if("cluster_count"===t||e.some(e=>e.name===t))return t;const s=function(e,t,i){switch(e){case"sum":return`cluster_sum_${t}`;case"avg":case"avg_angle":return`cluster_avg_${t}`;case"mode":return`cluster_type_${t}`;case"avg_norm":{const e=i,r="field",n=t.toLowerCase()+",norm:"+r+","+e.toLowerCase();return"cluster_avg_"+(0,w.d)(n)}}}(i,t,n);return e.some(e=>e.name===s)||("avg_norm"===i?e.push(new u.A({name:s,isAutoGenerated:!0,onStatisticExpression:new v.A({expression:`$feature.${t} / $feature.${n}`,returnType:r}),statisticType:"avg"})):e.push(new u.A({name:s,isAutoGenerated:!0,onStatisticField:t,statisticType:i}))),s}const A=e=>{const t=e;let i=class extends t{constructor(...e){super(...e),this.aggregateGraphicOrigin=new a(this),this.addHandles([(0,n.wB)(()=>this.renderer,()=>{this.featureReduction&&this._setFeatureReduction(this.featureReduction)},n.OH),(0,n.wB)(()=>[this.loaded],()=>{this.loaded&&this._setLayerReference(this.featureReduction,this)})])}set featureReduction(e){this._setFeatureReduction(e)}set renderer(e){}_withClusterVariable(e,t,i){const r=e.clone();return"visualVariables"in r&&(r.visualVariables||(r.visualVariables=[]),r.visualVariables.some(e=>"size"===e.type)||r.visualVariables.push(new f.A({field:"cluster_count",stops:[new g.A({value:1}),new g.A({useMinValue:!0,size:t}),new g.A({useMaxValue:!0,size:i})]}))),r}_normalizeFeatureReduction(e){if("cluster"!==e?.type)return e;const t=e.clone(),i=[new u.A({name:"cluster_count",alias:"cluster_count",isAutoGenerated:!0,statisticType:"count"})],r=(t.fields??[]).filter(e=>!e.isAutoGenerated),n=e.renderer&&!e.renderer.authoringInfo?.isAutoGenerated,{clusterMinSize:s,clusterMaxSize:o}=t;if(n){t.fields=[...i,...r];const e=this._withClusterVariable(t.renderer,s,o);return t.effectiveFeatureRenderer=e,t.effectiveClusterRenderer=e,t}if(e.symbol){if(t.fields=[...i,...r],t.renderer=null,!this.renderer)return t.effectiveFeatureRenderer=null,t.effectiveClusterRenderer=null,t;const n=R(i,this.renderer),l=this._withClusterVariable(n,s,o),a="visualVariables"in l&&l.visualVariables?l.visualVariables:[],u=new c.A({symbol:e.symbol,visualVariables:a});return t.fields=[...i,...r],t.effectiveFeatureRenderer=l,t.effectiveClusterRenderer=u,t}if(!this.renderer)return e;const l=R(i,this.renderer);t.fields=[...i,...r],t.renderer=l;const a=this._withClusterVariable(l,s,o);return t.effectiveFeatureRenderer=a,t.effectiveClusterRenderer=a,t}_setFeatureReduction(e){const t=this._get("featureReduction");this._setLayerReference(t,null);const i=this._normalizeFeatureReduction(e);this._setLayerReference(i,this),this._set("featureReduction",i)}_setLayerReference(e,t){e&&"layer"in e&&(e.layer=(0,p.jy)(t)?t:null)}};return(0,r.Cg)([(0,s.MZ)({readOnly:!0,clonable:!1})],i.prototype,"aggregateGraphicOrigin",void 0),(0,r.Cg)([(0,s.MZ)(d.d)],i.prototype,"featureReduction",null),i=(0,r.Cg)([(0,s.$K)("esri.layers.mixins.FeatureReductionLayer")],i),i}},50820(e,t,i){i.d(t,{A:()=>d});var r,n=i(5482),s=i(25482),o=i(4718),l=i(91429),a=i(39767),u=i(30524);let d=class extends s.o{static{r=this}constructor(e){super(e),this.isAutoGenerated=!1,this.name=null,this.alias=null,this.onStatisticField=null,this.onStatisticExpression=null,this.statisticType=null}get type(){return this.layer?(0,u.e7)(this,this.layer.fieldsIndex):null}clone(){return new r({name:this.name,alias:this.alias,isAutoGenerated:this.isAutoGenerated,onStatisticExpression:(0,o.o8)(this.onStatisticExpression),onStatisticField:this.onStatisticField,statisticType:this.statisticType})}};(0,n.Cg)([(0,l.MZ)({type:Boolean,json:{write:!0}})],d.prototype,"isAutoGenerated",void 0),(0,n.Cg)([(0,l.MZ)({clonable:!1})],d.prototype,"layer",void 0),(0,n.Cg)([(0,l.MZ)({type:String,json:{write:!0}})],d.prototype,"name",void 0),(0,n.Cg)([(0,l.MZ)({type:String,json:{write:!0}})],d.prototype,"alias",void 0),(0,n.Cg)([(0,l.MZ)({type:String,json:{write:!0}})],d.prototype,"onStatisticField",void 0),(0,n.Cg)([(0,l.MZ)({type:a.A,json:{write:!0}})],d.prototype,"onStatisticExpression",void 0),(0,n.Cg)([(0,l.MZ)({type:String,json:{write:!0}})],d.prototype,"statisticType",void 0),(0,n.Cg)([(0,l.MZ)({readOnly:!0,clonable:!1,json:{read:!1}})],d.prototype,"type",null),d=r=(0,n.Cg)([(0,l.$K)("esri.layers.support.AggregateField")],d)},39767(e,t,i){i.d(t,{A:()=>l});var r=i(5482),n=i(69540),s=i(25482),o=i(91429);let l=class extends((0,n.OU)(s.o)){constructor(e){super(e),this.expression=null,this.title=null,this.returnType=null}};(0,r.Cg)([(0,o.MZ)({type:String,json:{write:!0}})],l.prototype,"expression",void 0),(0,r.Cg)([(0,o.MZ)({type:String,json:{write:!0}})],l.prototype,"title",void 0),(0,r.Cg)([(0,o.MZ)({type:String,json:{write:!0}})],l.prototype,"returnType",void 0),l=(0,r.Cg)([(0,o.$K)("esri.layers.support.ExpressionInfo")],l)},67202(e,t,i){i.d(t,{A:()=>l});var r,n=i(5482),s=i(25482),o=i(91429);let l=r=class extends s.o{constructor(e){super(e),this.type="selection"}clone(){return new r}};(0,n.Cg)([(0,o.MZ)({type:["selection"],readOnly:!0,json:{write:!0}})],l.prototype,"type",void 0),l=r=(0,n.Cg)([(0,o.$K)("esri.layers.support.FeatureReductionSelection")],l)},30279(e,t,i){i.d(t,{A:()=>u});var r=i(5482),n=i(69540),s=i(25482),o=i(10107),l=i(64108),a=i(62044);let u=class extends((0,n.OU)(s.o)){constructor(e){super(e),this.alias=null,this.name=void 0,this.fieldFormat=null}};(0,r.Cg)([(0,o.MZ)({type:String,json:{write:!0}})],u.prototype,"alias",void 0),(0,r.Cg)([(0,o.MZ)({type:String,nonNullable:!0,json:{write:{isRequired:!0}}})],u.prototype,"name",void 0),(0,r.Cg)([(0,o.MZ)({types:a.fg,json:{write:!0}})],u.prototype,"fieldFormat",void 0),u=(0,r.Cg)([(0,l.$)("esri.layers.support.FieldConfiguration")],u)},20569(e,t,i){i.d(t,{d:()=>B});var r=i(89317),n=i(5482),s=i(69540),o=i(25482),l=i(4718),a=i(90629),u=i(91429),d=i(56507),p=i(15426),c=i(37838),f=i(93637),g=i(50820),y=i(30524);class h{constructor(e){this._fieldsMap=new Map,this._normalizedFieldsMap=new Map,this.fields=e;const t=[];for(const e of this.fields){const i=e?.name,r=(0,y.GZ)(i);if(i&&r){const n=(0,y.NF)(i);this._fieldsMap.set(i,e),this._fieldsMap.set(n,e),this._normalizedFieldsMap.set(r,e),t.push(`${n}:${e.type||""}`)}}t.sort(),this.uid=t.join()}equals(e){return this.uid===e?.uid}get(e){return(0,y.Vb)({fieldName:e,fieldsMap:this._fieldsMap,normalizedFieldsMap:this._normalizedFieldsMap})}}var m=i(10873),w=i(30279),v=i(16194),b=i(46499),C=i(77548),x=i(41214);function M(){return{type:[w.A],clonable:!1,json:{name:"fieldConfigurations",write:{overridePolicy(e){return{enabled:(0,C.jy)(this.layer),ignoreOrigin:!0}}}},set:function(e){if(this._override("fieldConfigurations",e),!this.layer?.loaded)return;const t=(0,v.sS)(this,e);t&&this._set("popupTemplate",t)},get:function(){return this._isOverridden("fieldConfigurations")?this._get("fieldConfigurations"):this.layer?.loaded?(0,v.QX)(this)||null:void 0}}}function R(){return{type:[g.A],value:[],json:{write:{ignoreOrigin:!0,writer(e,t,i){const r=e.filter(e=>"avg_angle"!==e.statisticType).map(e=>e.toJSON());(0,f.sM)(i,r,t)}}},set:function(e){V(this._get("fields"),null),V(e,this.layer),this._set("fields",e)}}}function S(){return{readOnly:!0,get:function(){return new h(this.fields)}}}function F(){return{type:[b.A],json:{read:{source:"drawingInfo.labelingInfo"},write:{target:"drawingInfo.labelingInfo",ignoreOrigin:!0}}}}function _(){return O((0,l.o8)(m.kF))}function A(){return{clonable:!1,set:function(e){V(this.fields,e),this._set("layer",e)}}}function E(){return{type:Number,json:{default:0,name:"visibilityInfo.maxScale",write:{ignoreOrigin:!0}}}}function j(){return O((0,l.o8)(m.M6))}function Z(){return{type:c.A,json:{name:"popupInfo",write:{ignoreOrigin:!0,writer(e,t,i,r){e&&(t[i]=e.toJSON({...r,writeFieldFormat:(0,C.jy)(this.layer)}))}}}}}function I(){return{types:x.Hg,json:{write:{target:"drawingInfo.renderer",ignoreOrigin:!0}}}}function V(e,t){e?.forEach(e=>{e.layer=t})}function O(e){let t=e.json;t||(t=e.json={});let i=t.write;return null!=i&&"object"==typeof i||(i=t.write={}),i.ignoreOrigin=!0,e}var z=i(65494),L=i(93223),T=i(36005);let N=class extends((0,o.T)(s.Pw)){constructor(e){super(e),this.type="binning",this.binType="geohash",this.fixedBinLevel=null,this.labelingInfo=null,this.labelsVisible=!0,this.maxScale=0,this.popupEnabled=!0,this.popupTemplate=null,this.size=(0,a.cr)("12px"),this.fields=[],this.renderer=null}readRenderer(e,t,i){const r=t.drawingInfo?.renderer;return r?(0,z.L)(r,t,i)??void 0:(0,p.PD)(t,i)}clone(){const e=super.clone();return this._isOverridden("fieldConfigurations")&&(e.fieldConfigurations=(0,l.o8)(this.fieldConfigurations)),e}getField(e){return this.fieldsIndex.get(e)}getFieldAlias(e){const t=this.getField(e);if(t)return this.getFieldConfiguration(t.name)?.alias||t.alias}getFieldConfiguration(e){return e=e.toLowerCase(),this.fieldConfigurations?.find(t=>t.name.toLowerCase()===e)}};(0,n.Cg)([(0,u.MZ)({type:["binning"],readOnly:!0,json:{read:!1,write:{ignoreOrigin:!0}}})],N.prototype,"type",void 0),(0,n.Cg)([(0,L.e)({geohash:"geohash",square:"square"}),(0,u.MZ)({type:["geohash","square"],json:{write:{ignoreOrigin:!0}}})],N.prototype,"binType",void 0),(0,n.Cg)([(0,u.MZ)({type:Number,json:{write:{ignoreOrigin:!0}}})],N.prototype,"fixedBinLevel",void 0),(0,n.Cg)([(0,u.MZ)(F())],N.prototype,"labelingInfo",void 0),(0,n.Cg)([(0,u.MZ)(_())],N.prototype,"labelsVisible",void 0),(0,n.Cg)([(0,u.MZ)(A())],N.prototype,"layer",void 0),(0,n.Cg)([(0,u.MZ)(E())],N.prototype,"maxScale",void 0),(0,n.Cg)([(0,u.MZ)(j())],N.prototype,"popupEnabled",void 0),(0,n.Cg)([(0,u.MZ)(Z())],N.prototype,"popupTemplate",void 0),(0,n.Cg)([(0,u.MZ)({cast:e=>"auto"===e?e:(0,d.GB)((0,a.cr)(e))})],N.prototype,"size",void 0),(0,n.Cg)([(0,u.MZ)(M())],N.prototype,"fieldConfigurations",void 0),(0,n.Cg)([(0,u.MZ)(R())],N.prototype,"fields",void 0),(0,n.Cg)([(0,u.MZ)(S())],N.prototype,"fieldsIndex",void 0),(0,n.Cg)([(0,u.MZ)(I())],N.prototype,"renderer",void 0),(0,n.Cg)([(0,T.w)("renderer",["drawingInfo.renderer"])],N.prototype,"readRenderer",null),N=(0,n.Cg)([(0,u.$K)("esri.layers.support.FeatureReductionBinning")],N);var $=i(96576),G=i(33910),k=i(43937);function q(e){return"simple"===e.type&&!e.visualVariables?.length}let P=class extends((0,o.T)(s.Pw)){constructor(e){super(e),this.type="cluster",this.maxScale=0,this.popupEnabled=!0,this.popupTemplate=null,this.renderer=null,this.symbol=null,this.labelingInfo=null,this.labelsVisible=!0,this.fields=[]}get clusterRadius(){return this._get("clusterRadius")??(0,a.cr)("80px")}set clusterRadius(e){this._set("clusterRadius",e)}get clusterMinSize(){return this._get("clusterMinSize")??(0,a.cr)("12px")}set clusterMinSize(e){this._set("clusterMinSize",e)}get clusterMaxSize(){return this._get("clusterMaxSize")??(0,a.cr)("50px")}set clusterMaxSize(e){this._set("clusterMaxSize",e)}readRenderer(e,t,i){const r=t.drawingInfo?.renderer;return r?.authoringInfo?.isAutoGenerated?null:r?q(r)?null:(0,z.L)(r,t,i)??void 0:(0,p.PD)(t,i)}readSymbol(e,t,i){const r=t.drawingInfo?.renderer;if(r?.authoringInfo?.isAutoGenerated)return null;if(r&&q(r)){const e=(0,z.L)(r,t,i);return e?.symbol}return null}writeSymbol(e,t,i,r){const n=this.renderer?.authoringInfo?.isAutoGenerated;if(!this.renderer||n){const i=new $.A({symbol:e});t.drawingInfo={renderer:i.write({},r)}}}readFields(e,t,i){return e.filter(e=>!e.isAutoGenerated).map(e=>g.A.fromJSON(e))}clone(){const e=super.clone();return this._isOverridden("fieldConfigurations")&&(e.fieldConfigurations=(0,l.o8)(this.fieldConfigurations)),e}getField(e){return this.fieldsIndex.get(e)}getFieldAlias(e){const t=this.getField(e);if(t)return this.getFieldConfiguration(t.name)?.alias||t.alias}getFieldConfiguration(e){return e=e.toLowerCase(),this.fieldConfigurations?.find(t=>t.name.toLowerCase()===e)}};(0,n.Cg)([(0,u.MZ)({type:["cluster"],readOnly:!0,json:{read:!1,write:{ignoreOrigin:!0}}})],P.prototype,"type",void 0),(0,n.Cg)([(0,u.MZ)({cast:e=>"auto"===e?e:(0,d.GB)((0,a.cr)(e)),json:{write:{ignoreOrigin:!0}}})],P.prototype,"clusterRadius",null),(0,n.Cg)([(0,u.MZ)({type:Number,cast:a.cr,json:{write:{ignoreOrigin:!0}}})],P.prototype,"clusterMinSize",null),(0,n.Cg)([(0,u.MZ)({type:Number,cast:a.cr,json:{write:{ignoreOrigin:!0}}})],P.prototype,"clusterMaxSize",null),(0,n.Cg)([(0,u.MZ)(E())],P.prototype,"maxScale",void 0),(0,n.Cg)([(0,u.MZ)(j())],P.prototype,"popupEnabled",void 0),(0,n.Cg)([(0,u.MZ)(Z())],P.prototype,"popupTemplate",void 0),(0,n.Cg)([(0,u.MZ)(I())],P.prototype,"renderer",void 0),(0,n.Cg)([(0,T.w)("renderer",["drawingInfo.renderer"])],P.prototype,"readRenderer",null),(0,n.Cg)([(0,u.MZ)({types:G.q8,json:{write:{ignoreOrigin:!0}}})],P.prototype,"symbol",void 0),(0,n.Cg)([(0,T.w)("symbol",["drawingInfo.renderer"])],P.prototype,"readSymbol",null),(0,n.Cg)([(0,k.K)("symbol")],P.prototype,"writeSymbol",null),(0,n.Cg)([(0,u.MZ)(F())],P.prototype,"labelingInfo",void 0),(0,n.Cg)([(0,u.MZ)(_())],P.prototype,"labelsVisible",void 0),(0,n.Cg)([(0,u.MZ)(A())],P.prototype,"layer",void 0),(0,n.Cg)([(0,u.MZ)(M())],P.prototype,"fieldConfigurations",void 0),(0,n.Cg)([(0,u.MZ)(R())],P.prototype,"fields",void 0),(0,n.Cg)([(0,T.w)("fields")],P.prototype,"readFields",null),(0,n.Cg)([(0,u.MZ)(S())],P.prototype,"fieldsIndex",void 0),P=(0,n.Cg)([(0,u.$K)("esri.layers.support.FeatureReductionCluster")],P);var K=i(67202);const U={key:"type",base:null,typeMap:{cluster:P,binning:N}},B={types:{key:"type",base:null,typeMap:{selection:K.A,cluster:P,binning:N}},json:{name:"layerDefinition.featureReduction",write:{allowNull:!0},origins:{"web-map":{types:U},"portal-item":{types:U},"web-scene":{types:{key:"type",base:null,typeMap:{selection:K.A}},name:"layerDefinition.featureReduction",write:{allowNull:!0,layerContainerTypes:r.K}}}}}},16194(e,t,i){i.d(t,{QX:()=>a,sS:()=>d,xY:()=>u});var r=i(4718),n=i(30279),s=i(62044),o=i(30524),l=i(41227);function a(e){const{popupTemplate:t,fieldsIndex:i}=e,r=t?.fieldInfos;if(!r?.length||!i)return;const o=[];for(const e of r){const{fieldName:t,label:r}=e,l=i.get(t);if(!l)continue;const a=r&&r!==l.alias?r:null,u=(0,s.iu)(e,l);(a||u)&&o.push(new n.A({name:l.name,alias:a,fieldFormat:u}))}return o.length?o:null}function u(e){const{fields:t}=e;if(!t?.length)return;const i=[];for(const e of t){const t=(0,s.qH)(e)?(0,s.$P)(e):null;t&&i.push(new n.A({name:e.name,fieldFormat:t}))}return i.length?i:null}function d(e,t){const{popupTemplate:i,fieldsIndex:n}=e;if(!i||!n)return;const o=function(e,t,i){t??=[],i=(0,r.o8)(i)??[];let n=!1;const o=new Map;for(const i of t){const t=e.fieldsIndex.get(i.name);t&&o.set(t.name,i)}for(const t of i){const i=e.fieldsIndex.get(t.fieldName);if(!i)continue;const r=o.get(i.name);t.label=r?.alias||i.alias,t.format=(0,s.qH)(i)&&r?.fieldFormat?(0,s.PK)(r.fieldFormat,i):null,n=!0,o.delete(i.name)}for(const t of o.values()){const r=p(e,t);r&&(i.push(r),n=!0)}return n?i:null}(e,t,i.fieldInfos);if(!o)return;const l=i.clone();return l.fieldInfos=o,l}function p(e,t){const{name:i,alias:r,fieldFormat:n}=t,a=e.fieldsIndex.get(i);if(!a||!r&&!n)return;const u=r||a.alias,d=(0,s.qH)(a)&&n?(0,s.PK)(n,a):null;return new l.A({fieldName:a.name,label:u,format:d,visible:!1,isEditable:(0,o.R$)(a,e)})}},65494(e,t,i){i.d(t,{L:()=>a,r:()=>o});var r=i(90360),n=i(41214),s=i(59923);function o(e,t){return a(e,null,t)}const l=(0,r.C)({types:n.Hg});function a(e,t,i){return e?e&&(e.styleName||e.styleUrl)&&"uniqueValue"!==e.type?((0,s.Yc)(i,"warning","renderer",`Only UniqueValueRenderer can be referenced from a web style, but found '${e.type}'`,{definition:e}),null):l(e,t,i):null}}}]);
@@ -74,14 +74,20 @@
74
74
  .esri-split-button--split-part {
75
75
  &--vertical {
76
76
  &--s {
77
+ --calcite-size-sm: 16px;
78
+
77
79
  max-height: 16px;
78
80
  }
79
81
 
80
82
  &--m {
83
+ --calcite-size-md: 24px;
84
+
81
85
  max-height: 24px;
82
86
  }
83
87
 
84
88
  &--l {
89
+ --calcite-size-l: 40px;
90
+
85
91
  // Smallest we can get away with given current Calcite behavior
86
92
  max-height: 40px;
87
93
  }